@isTest private class EventHandleControllerTest { //任务不为空 //延期 FSE static testMethod void testMethod1() { TaskEventReportOPD__c opdMapping = new TaskEventReportOPD__c(Name = 'TaskAndOPD_Delay'); opdMapping.From_Column_001__c = '与其他突发事件冲突'; opdMapping.SS_Column_001__c = '工作计划变化'; opdMapping.From_Column_002__c = '日期填写错误'; opdMapping.SS_Column_002__c = '日期填写错误'; opdMapping.From_Column_003__c = '医院设备不到位'; opdMapping.SS_Column_003__c = '医院设备不到位'; insert new TaskEventReportOPD__c[] {opdMapping}; User user2 = new User(); Profile p2 = [select Id from Profile where Name = '系统管理员']; user2.ProfileId = p2.Id; user2.FirstName = ''; user2.LastName = 'テスト2ユーザー2'; user2.Email = 'test_user@example.com'; user2.emailencodingkey='UTF-8'; user2.languagelocalekey='zh_CN'; user2.localesidkey='ja_JP'; user2.timezonesidkey='Asia/Shanghai'; user2.Username = 'test_user@example.com' + System.now().millisecond(); user2.Alias = 'テユ2'; user2.Job_Category__c = '销售服务'; user2.CommunityNickname = 'tu' + System.now().millisecond(); insert user2; // レコードタイプ取得 RecordType hospitalRec = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院']; RecordType sectionRec = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '戦略科室分類 消化科']; RecordType departmentRec = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '診療科 消化科']; System.runAs(user2){ // 病院作成 Account hospital = new Account(); hospital.RecordTypeId = hospitalRec.Id; hospital.Name = 'TestHospital'; insert hospital; // 病院を作ると戦略科室は、トリガーによって作られている Account section = [select Management_Code__c, Management_Code_Auto__c, Name, Id from Account where Parent.Id = :hospital.Id and RecordTypeId = :sectionRec.Id limit 1]; // 診療科1を作成 Account depart1 = new Account(); depart1.RecordTypeId = departmentRec.Id; depart1.Name = '*'; depart1.Department_Name__c = 'TestDepart'; depart1.ParentId = section.Id; depart1.Department_Class__c = section.Id; depart1.Hospital__c = hospital.Id; depart1.AgentCode_Ext__c = '9999997'; insert depart1; RecordType hospitalRec1 = [select Id from RecordType where IsActive = true and SobjectType = 'task__c' and Name = 'OPD']; task__c InitialTask = new task__c(); InitialTask.taskDifferent__c = '主动任务'; InitialTask.taskStatus__c = '05 延期'; InitialTask.RecordTypeId = hospitalRec1.Id; InitialTask.account__c =section.id; insert InitialTask; task__c task = new task__c(); task.taskDifferent__c = '主动任务'; task.taskStatus__c = '01 分配'; task.RecordTypeId = hospitalRec1.Id; task.account__c =section.id; task.Initial_Task__c = InitialTask.id; insert task; OPDPlan__c tempOPD = new OPDPlan__c(); tempOPD.Status__c = '草案中'; tempOPD.OPDType__c = '事件'; tempOPD.PlanProdDetail__c ='CV-290*4; GI-290镜子*1; GI-290镜子CF*1;'; tempOPD.Account_Laboratory__c =depart1.Id; tempOPD.OPDPlan_ImplementDate__c = Date.today(); tempOPD.OPDPlan_ImplementDate_temp__c = Date.today(); tempOPD.NoOpp_Reason__c = 'HCP对应'; tempOPD.RentalReson__c = '无法进入手术室'; tempOPD.AttachmentCertificate__c = '0001.png'; tempOPD.SkipValidationRulesAndWorkflows__c = true; insert tempOPD; Event targetEvent = new Event(); targetEvent.Subject = 'test'; targetEvent.StartDateTime = Datetime.now().addMonths(1); targetEvent.DurationInMinutes = 10; targetEvent.Location = 'testLocation'; targetEvent.Activity_Type2__c = '病院'; targetEvent.Task_ID__c = task.Id; targetEvent.OPD_Plan__c = tempOPD.Id; insert targetEvent; ///apex/EventHandle?isEventDelay=true&Id=00U1m00000GRJwp PageReference page = new PageReference('/apex/EventHandle?isEventDelay=true&Id='+targetEvent.Id); System.Test.setCurrentPage(page); ApexPages.StandardController sc = new ApexPages.standardController( targetEvent); EventHandleController handle = new EventHandleController(sc); handle.init(); handle.taskOption.delayReasonSelect__c = '与其他突发事件冲突'; handle.save(); task__c task2 = new task__c(); task2.taskDifferent__c = '主动任务'; task2.taskStatus__c = '01 分配'; task2.RecordTypeId = hospitalRec1.Id; task2.account__c =section.id; insert task2; Event targetEvent2 = new Event(); targetEvent2.Subject = 'test'; targetEvent2.StartDateTime = Datetime.now().addMonths(1); targetEvent2.DurationInMinutes = 10; targetEvent2.Location = 'testLocation'; targetEvent2.Activity_Type2__c = '病院'; targetEvent2.Task_ID__c = task2.Id; insert targetEvent2; PageReference page2 = new PageReference('/apex/EventHandle?isEventDelay=true&Id='+targetEvent.Id); System.Test.setCurrentPage(page2); ApexPages.StandardController sc2 = new ApexPages.standardController( targetEvent2); EventHandleController handle2 = new EventHandleController(sc2); handle2.init(); handle2.taskOption.delayReasonSelectFSE__c = '医院设备不到位'; handle2.save(); } } // static testMethod void testMethod01() { // TaskEventReportOPD__c opdMapping = new TaskEventReportOPD__c(Name = 'TaskAndOPD_Delay'); // opdMapping.From_Column_001__c = '与其他突发事件冲突'; // opdMapping.SS_Column_001__c = '工作计划变化'; // opdMapping.From_Column_002__c = '日期填写错误'; // opdMapping.SS_Column_002__c = '日期填写错误'; // opdMapping.From_Column_003__c = '医院设备不到位'; // opdMapping.SS_Column_003__c = '医院设备不到位'; // insert new TaskEventReportOPD__c[] {opdMapping}; // User user2 = new User(); // Profile p2 = [select Id from Profile where Name = '系统管理员']; // user2.ProfileId = p2.Id; // user2.FirstName = 'ユーザー2'; // user2.LastName = 'テスト2'; // user2.Email = 'test_user@example.com'; // user2.emailencodingkey='UTF-8'; // user2.languagelocalekey='zh_CN'; // user2.localesidkey='ja_JP'; // user2.timezonesidkey='Asia/Shanghai'; // user2.Username = 'test_user@example.com' + System.now().millisecond(); // user2.Alias = 'テユ2'; // user2.Job_Category__c = '销售服务'; // user2.CommunityNickname = 'tu' + System.now().millisecond(); // insert user2; // // レコードタイプ取得 // RecordType hospitalRec = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院']; // RecordType sectionRec = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '戦略科室分類 消化科']; // RecordType departmentRec = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '診療科 消化科']; // System.runAs(user2){ // // 病院作成 // Account hospital = new Account(); // hospital.RecordTypeId = hospitalRec.Id; // hospital.Name = 'TestHospital'; // insert hospital; // // 病院を作ると戦略科室は、トリガーによって作られている // Account section = [select Management_Code__c, Management_Code_Auto__c, Name, Id from Account where Parent.Id = :hospital.Id and RecordTypeId = :sectionRec.Id limit 1]; // RecordType hospitalRec1 = [select Id from RecordType where IsActive = true and SobjectType = 'task__c' and Name = 'OPD']; // task__c InitialTask = new task__c(); // InitialTask.taskDifferent__c = '主动任务'; // InitialTask.taskStatus__c = '05 延期'; // InitialTask.RecordTypeId = hospitalRec1.Id; // InitialTask.account__c =section.id; // insert InitialTask; // task__c task = new task__c(); // task.taskDifferent__c = '主动任务'; // task.taskStatus__c = '01 分配'; // task.RecordTypeId = hospitalRec1.Id; // task.account__c =section.id; // task.Initial_Task__c = InitialTask.id; // insert task; // Event targetEvent = new Event(); // targetEvent.Subject = 'test'; // targetEvent.StartDateTime = Datetime.now().addMonths(1); // targetEvent.DurationInMinutes = 10; // targetEvent.Location = 'testLocation'; // targetEvent.Activity_Type2__c = '病院'; // targetEvent.Task_ID__c = task.Id; // insert targetEvent; // ///apex/EventHandle?isEventDelay=true&Id=00U1m00000GRJwp // PageReference page = new PageReference('/apex/EventHandle?isEventDelay=true&Id='+targetEvent.Id); // System.Test.setCurrentPage(page); // ApexPages.StandardController sc = new ApexPages.standardController( targetEvent); // EventHandleController handle = new EventHandleController(sc); // handle.init(); // handle.taskOption.delayReasonSelect__c = '与其他突发事件冲突'; // handle.save(); // User loginUser = [SELECT id , Job_Category__c from user where Id = :userInfo.getUserId()]; // loginUser.Job_Category__c = '销售服务'; // update loginUser; // task__c task2 = new task__c(); // task2.taskDifferent__c = '主动任务'; // task2.taskStatus__c = '01 分配'; // task2.RecordTypeId = hospitalRec1.Id; // task2.account__c =section.id; // insert task2; // Event targetEvent2 = new Event(); // targetEvent2.Subject = 'test'; // targetEvent2.StartDateTime = Datetime.now().addMonths(1); // targetEvent2.DurationInMinutes = 10; // targetEvent2.Location = 'testLocation'; // targetEvent2.Activity_Type2__c = '病院'; // targetEvent2.Task_ID__c = task2.Id; // insert targetEvent2; // PageReference page2 = new PageReference('/apex/EventHandle?isEventDelay=true&Id='+targetEvent.Id); // System.Test.setCurrentPage(page2); // ApexPages.StandardController sc2 = new ApexPages.standardController( targetEvent2); // EventHandleController handle2 = new EventHandleController(sc2); // handle2.init(); // handle2.taskOption.delayReasonSelectFSE__c = '医院设备不到位'; // handle2.save(); // } // } // //取消 并且 新建OPD计划取消延期对象 static testMethod void testMethod2() { TaskEventReportOPD__c opdMapping = new TaskEventReportOPD__c(Name = 'TaskAndOPD_Cancel'); opdMapping.From_Column_001__c = '订货推迟'; opdMapping.SS_Column_001__c = '其他'; opdMapping.From_Column_002__c = '与其他突发事件冲突'; opdMapping.SS_Column_002__c = '工作计划修改'; opdMapping.From_Column_003__c = '客户取消OPD'; opdMapping.SS_Column_003__c = '医院取消试用'; insert new TaskEventReportOPD__c[] {opdMapping}; // レコードタイプ取得 RecordType hospitalRec = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院']; RecordType sectionRec = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '戦略科室分類 消化科']; RecordType departmentRec = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '診療科 消化科']; // 病院作成 Account hospital = new Account(); hospital.RecordTypeId = hospitalRec.Id; hospital.Name = 'TestHospital'; insert hospital; // 病院を作ると戦略科室は、トリガーによって作られている Account section = [select Management_Code__c, Management_Code_Auto__c, Name, Id from Account where Parent.Id = :hospital.Id and RecordTypeId = :sectionRec.Id limit 1]; // 診療科1を作成 Account depart1 = new Account(); depart1.RecordTypeId = departmentRec.Id; depart1.Name = '*'; depart1.Department_Name__c = 'TestDepart'; depart1.ParentId = section.Id; depart1.Department_Class__c = section.Id; depart1.Hospital__c = hospital.Id; depart1.AgentCode_Ext__c = '9999997'; insert depart1; RecordType hospitalRec1 = [select Id from RecordType where IsActive = true and SobjectType = 'task__c' and Name = 'OPD']; task__c InitialTask = new task__c(); InitialTask.taskDifferent__c = '主动任务'; InitialTask.taskStatus__c = '05 延期'; InitialTask.RecordTypeId = hospitalRec1.Id; InitialTask.account__c =section.id; insert InitialTask; task__c task = new task__c(); task.taskDifferent__c = '主动任务'; task.taskStatus__c = '01 分配'; task.RecordTypeId = hospitalRec1.Id; task.account__c =section.id; task.Initial_Task__c = InitialTask.id; insert task; OPDPlan__c tempOPD = new OPDPlan__c(); tempOPD.Status__c = '草案中'; tempOPD.Account_Laboratory__c =depart1.Id; tempOPD.NoOpp_Reason__c = 'HCP对应'; tempOPD.if_OPDTarget__c=1; tempOPD.if_HaveSalestarget__c =1; tempOPD.Cnt_OPD_ThisYear__c=1; tempOPD.Cnt_OPD_LastYear__c=1; tempOPD.if_HaveOpportunity__c=1; tempOPD.if_HaveEquipment__c =1; tempOPD.OPDType__c ='学会'; tempOPD.Cnt_Rentals__c =1; tempOPD.PlanProdDetail__c ='CV-290*4; GI-290镜子*1; GI-290镜子CF*1;'; tempOPD.SkipValidationRulesAndWorkflows__c = true; insert tempOPD; Event targetEvent = new Event(); targetEvent.Subject = 'test'; targetEvent.StartDateTime = Datetime.now().addMonths(1); targetEvent.DurationInMinutes = 10; targetEvent.Location = 'testLocation'; targetEvent.Activity_Type2__c = '病院'; targetEvent.Task_ID__c = task.Id; targetEvent.OPD_Plan__c = tempOPD.Id; targetEvent.OPDPlan_Flag__c = true; insert targetEvent; PageReference page9 = new PageReference('/apex/EventHandle?isEventCancel=true&Id='+targetEvent.Id); System.Test.setCurrentPage(page9); ApexPages.StandardController sc9 = new ApexPages.standardController( targetEvent); EventHandleController handle9 = new EventHandleController(sc9); handle9.init(); handle9.taskOption.cancelReasonSelect__c = '订货推迟'; handle9.taskOption.cancelReasonOther__c = 'Test'; handle9.save(); targetEvent.Task_ID__c = null; update targetEvent; PageReference page10 = new PageReference('/apex/EventHandle?isEventCancel=true&Id='+targetEvent.Id); System.Test.setCurrentPage(page10); ApexPages.StandardController sc10 = new ApexPages.standardController( targetEvent); EventHandleController handle10 = new EventHandleController(sc10); handle10.init(); handle10.targetEvent.cancelReasonSelect__c = '其他'; handle10.targetEvent.cancelReasonOther__c = 'Test'; handle10.save(); PageReference page11 = new PageReference('/apex/EventHandle?isEventCancel=true&Id='+targetEvent.Id); System.Test.setCurrentPage(page11); ApexPages.StandardController sc11 = new ApexPages.standardController( targetEvent); EventHandleController handle11 = new EventHandleController(sc11); handle10.init(); handle10.targetEvent.cancelReasonSelect__c = '客户取消OPD'; handle10.targetEvent.cancelReasonOther__c = 'Test'; handle10.save(); } // //取消 并且 新建OPD计划取消延期对象 static testMethod void testMethod22() { User user2 = new User(); Profile p2 = [select Id from Profile where Name = '系统管理员']; user2.ProfileId = p2.Id; user2.FirstName = ''; user2.LastName = 'テスト2ユーザー2'; user2.Email = 'test_user@example.com'; user2.emailencodingkey='UTF-8'; user2.languagelocalekey='zh_CN'; user2.localesidkey='ja_JP'; user2.timezonesidkey='Asia/Shanghai'; user2.Username = 'test_user@example.com' + System.now().millisecond(); user2.Alias = 'テユ2'; user2.Job_Category__c = '销售服务'; user2.CommunityNickname = 'tu' + System.now().millisecond(); insert user2; // レコードタイプ取得 RecordType hospitalRec = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院']; RecordType sectionRec = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '戦略科室分類 消化科']; RecordType departmentRec = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '診療科 消化科']; System.runAs(user2){ TaskEventReportOPD__c opdMapping = new TaskEventReportOPD__c(Name = 'TaskAndOPD_Cancel'); opdMapping.From_Column_001__c = '订货推迟'; opdMapping.SS_Column_001__c = '其他'; opdMapping.From_Column_002__c = '与其他突发事件冲突'; opdMapping.SS_Column_002__c = '工作计划修改'; opdMapping.From_Column_003__c = '客户取消OPD'; opdMapping.SS_Column_003__c = '医院取消试用'; insert new TaskEventReportOPD__c[] {opdMapping}; // 病院作成 Account hospital = new Account(); hospital.RecordTypeId = hospitalRec.Id; hospital.Name = 'TestHospital'; insert hospital; // 病院を作ると戦略科室は、トリガーによって作られている Account section = [select Management_Code__c, Management_Code_Auto__c, Name, Id from Account where Parent.Id = :hospital.Id and RecordTypeId = :sectionRec.Id limit 1]; // 診療科1を作成 Account depart1 = new Account(); depart1.RecordTypeId = departmentRec.Id; depart1.Name = '*'; depart1.Department_Name__c = 'TestDepart'; depart1.ParentId = section.Id; depart1.Department_Class__c = section.Id; depart1.Hospital__c = hospital.Id; depart1.AgentCode_Ext__c = '9999997'; insert depart1; RecordType hospitalRec1 = [select Id from RecordType where IsActive = true and SobjectType = 'task__c' and Name = 'OPD']; task__c InitialTask = new task__c(); InitialTask.taskDifferent__c = '主动任务'; InitialTask.taskStatus__c = '05 延期'; InitialTask.RecordTypeId = hospitalRec1.Id; InitialTask.account__c =section.id; insert InitialTask; task__c task = new task__c(); task.taskDifferent__c = '主动任务'; task.taskStatus__c = '01 分配'; task.RecordTypeId = hospitalRec1.Id; task.account__c =section.id; task.Initial_Task__c = InitialTask.id; insert task; OPDPlan__c tempOPD = new OPDPlan__c(); tempOPD.Status__c = '草案中'; tempOPD.Account_Laboratory__c =depart1.Id; tempOPD.NoOpp_Reason__c = 'HCP对应'; tempOPD.if_OPDTarget__c=1; tempOPD.if_HaveSalestarget__c =1; tempOPD.Cnt_OPD_ThisYear__c=1; tempOPD.Cnt_OPD_LastYear__c=1; tempOPD.if_HaveOpportunity__c=1; tempOPD.if_HaveEquipment__c =1; tempOPD.OPDType__c ='学会'; tempOPD.Cnt_Rentals__c =1; tempOPD.PlanProdDetail__c ='CV-290*4; GI-290镜子*1; GI-290镜子CF*1;'; tempOPD.SkipValidationRulesAndWorkflows__c = true; insert tempOPD; Event targetEvent = new Event(); targetEvent.Subject = 'test'; targetEvent.StartDateTime = Datetime.now().addMonths(1); targetEvent.DurationInMinutes = 10; targetEvent.Location = 'testLocation'; targetEvent.Activity_Type2__c = '病院'; targetEvent.Task_ID__c = task.Id; targetEvent.OPD_Plan__c = tempOPD.Id; targetEvent.OPDPlan_Flag__c = true; insert targetEvent; PageReference page9 = new PageReference('/apex/EventHandle?isEventCancel=true&Id='+targetEvent.Id); System.Test.setCurrentPage(page9); ApexPages.StandardController sc9 = new ApexPages.standardController( targetEvent); EventHandleController handle9 = new EventHandleController(sc9); handle9.init(); handle9.taskOption.cancelReasonSelect__c = '订货推迟'; handle9.taskOption.cancelReasonOther__c = 'Test'; handle9.save(); targetEvent.Task_ID__c = null; update targetEvent; PageReference page10 = new PageReference('/apex/EventHandle?isEventCancel=true&Id='+targetEvent.Id); System.Test.setCurrentPage(page10); ApexPages.StandardController sc10 = new ApexPages.standardController( targetEvent); EventHandleController handle10 = new EventHandleController(sc10); handle10.init(); handle10.targetEvent.cancelReasonSelect__c = '其他'; handle10.targetEvent.cancelReasonOther__c = 'Test'; handle10.save(); PageReference page11 = new PageReference('/apex/EventHandle?isEventCancel=true&Id='+targetEvent.Id); System.Test.setCurrentPage(page11); ApexPages.StandardController sc11 = new ApexPages.standardController( targetEvent); EventHandleController handle11 = new EventHandleController(sc11); handle10.init(); handle10.targetEvent.cancelReasonSelect__c = '客户取消OPD'; handle10.targetEvent.cancelReasonOther__c = 'Test'; handle10.save(); } } static testMethod void testMethod222() { User user2 = new User(); Profile p2 = [select Id from Profile where Name = '系统管理员']; user2.ProfileId = p2.Id; user2.FirstName = ''; user2.LastName = 'テスト2ユーザー2'; user2.Email = 'test_user@example.com'; user2.emailencodingkey='UTF-8'; user2.languagelocalekey='zh_CN'; user2.localesidkey='ja_JP'; user2.timezonesidkey='Asia/Shanghai'; user2.Username = 'test_user@example.com' + System.now().millisecond(); user2.Alias = 'テユ2'; user2.Job_Category__c = '销售市场'; user2.CommunityNickname = 'tu' + System.now().millisecond(); insert user2; // レコードタイプ取得 RecordType hospitalRec = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院']; RecordType sectionRec = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '戦略科室分類 消化科']; RecordType departmentRec = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '診療科 消化科']; System.runAs(user2){ TaskEventReportOPD__c opdMapping = new TaskEventReportOPD__c(Name = 'TaskAndOPD_Cancel'); opdMapping.From_Column_001__c = '订货推迟'; opdMapping.SS_Column_001__c = '其他'; opdMapping.From_Column_002__c = '与其他突发事件冲突'; opdMapping.SS_Column_002__c = '工作计划修改'; opdMapping.From_Column_003__c = '客户取消OPD'; opdMapping.SS_Column_003__c = '医院取消试用'; insert new TaskEventReportOPD__c[] {opdMapping}; // 病院作成 Account hospital = new Account(); hospital.RecordTypeId = hospitalRec.Id; hospital.Name = 'TestHospital'; insert hospital; // 病院を作ると戦略科室は、トリガーによって作られている Account section = [select Management_Code__c, Management_Code_Auto__c, Name, Id from Account where Parent.Id = :hospital.Id and RecordTypeId = :sectionRec.Id limit 1]; // 診療科1を作成 Account depart1 = new Account(); depart1.RecordTypeId = departmentRec.Id; depart1.Name = '*'; depart1.Department_Name__c = 'TestDepart'; depart1.ParentId = section.Id; depart1.Department_Class__c = section.Id; depart1.Hospital__c = hospital.Id; depart1.AgentCode_Ext__c = '9999997'; insert depart1; RecordType hospitalRec1 = [select Id from RecordType where IsActive = true and SobjectType = 'task__c' and Name = 'OPD']; task__c InitialTask = new task__c(); InitialTask.taskDifferent__c = '主动任务'; InitialTask.taskStatus__c = '05 延期'; InitialTask.RecordTypeId = hospitalRec1.Id; InitialTask.account__c =section.id; insert InitialTask; task__c task = new task__c(); task.taskDifferent__c = '主动任务'; task.taskStatus__c = '01 分配'; task.RecordTypeId = hospitalRec1.Id; task.account__c =section.id; task.Initial_Task__c = InitialTask.id; insert task; OPDPlan__c tempOPD = new OPDPlan__c(); tempOPD.Status__c = '草案中'; tempOPD.Account_Laboratory__c =depart1.Id; tempOPD.NoOpp_Reason__c = 'HCP对应'; tempOPD.if_OPDTarget__c=1; tempOPD.if_HaveSalestarget__c =1; tempOPD.Cnt_OPD_ThisYear__c=1; tempOPD.Cnt_OPD_LastYear__c=1; tempOPD.if_HaveOpportunity__c=1; tempOPD.if_HaveEquipment__c =1; tempOPD.OPDType__c ='学会'; tempOPD.Cnt_Rentals__c =1; tempOPD.PlanProdDetail__c ='CV-290*4; GI-290镜子*1; GI-290镜子CF*1;'; tempOPD.SkipValidationRulesAndWorkflows__c = true; insert tempOPD; Event targetEvent = new Event(); targetEvent.Subject = 'test'; targetEvent.StartDateTime = Datetime.now().addMonths(1); targetEvent.DurationInMinutes = 10; targetEvent.Location = 'testLocation'; targetEvent.Activity_Type2__c = '病院'; targetEvent.Task_ID__c = task.Id; targetEvent.OPD_Plan__c = tempOPD.Id; targetEvent.OPDPlan_Flag__c = true; insert targetEvent; PageReference page9 = new PageReference('/apex/EventHandle?isEventCancel=true&Id='+targetEvent.Id); System.Test.setCurrentPage(page9); ApexPages.StandardController sc9 = new ApexPages.standardController( targetEvent); EventHandleController handle9 = new EventHandleController(sc9); handle9.init(); handle9.taskOption.cancelReasonSelect__c = '订货推迟'; handle9.taskOption.cancelReasonOther__c = 'Test'; handle9.save(); targetEvent.Task_ID__c = null; update targetEvent; PageReference page10 = new PageReference('/apex/EventHandle?isEventCancel=true&Id='+targetEvent.Id); System.Test.setCurrentPage(page10); ApexPages.StandardController sc10 = new ApexPages.standardController( targetEvent); EventHandleController handle10 = new EventHandleController(sc10); handle10.init(); handle10.targetEvent.cancelReasonSelect__c = '其他'; handle10.targetEvent.cancelReasonOther__c = 'Test'; handle10.save(); PageReference page11 = new PageReference('/apex/EventHandle?isEventCancel=true&Id='+targetEvent.Id); System.Test.setCurrentPage(page11); ApexPages.StandardController sc11 = new ApexPages.standardController( targetEvent); EventHandleController handle11 = new EventHandleController(sc11); handle10.init(); handle10.targetEvent.cancelReasonSelect__c = '客户取消OPD'; handle10.targetEvent.cancelReasonOther__c = 'Test'; handle10.save(); } } //任务为空 //延期 static testMethod void testMethod3() { User user2 = new User(); Profile p2 = [select Id from Profile where Name = '系统管理员']; user2.ProfileId = p2.Id; user2.FirstName = ''; user2.LastName = 'テスト2ユーザー2'; user2.Email = 'test_user@example.com'; user2.emailencodingkey='UTF-8'; user2.languagelocalekey='zh_CN'; user2.localesidkey='ja_JP'; user2.timezonesidkey='Asia/Shanghai'; user2.Username = 'test_user@example.com' + System.now().millisecond(); user2.Alias = 'テユ2'; user2.Job_Category__c = '销售服务'; user2.CommunityNickname = 'tu' + System.now().millisecond(); insert user2; // レコードタイプ取得 RecordType hospitalRec = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院']; RecordType sectionRec = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '戦略科室分類 消化科']; RecordType departmentRec = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '診療科 消化科']; System.runAs(user2){ // 病院作成 Account hospital = new Account(); hospital.RecordTypeId = hospitalRec.Id; hospital.Name = 'TestHospital'; insert hospital; // 病院を作ると戦略科室は、トリガーによって作られている Account section = [select Management_Code__c, Management_Code_Auto__c, Name, Id from Account where Parent.Id = :hospital.Id and RecordTypeId = :sectionRec.Id limit 1]; RecordType hospitalRec1 = [select Id from RecordType where IsActive = true and SobjectType = 'task__c' and Name = 'OPD']; Event targetEvent = new Event(); targetEvent.Subject = 'test'; targetEvent.StartDateTime = Datetime.now().addMonths(1); targetEvent.DurationInMinutes = 10; targetEvent.Location = 'testLocation'; targetEvent.Activity_Type2__c = '病院'; insert targetEvent; ///apex/EventHandle?isEventDelay=true&Id=00U1m00000GRJwp PageReference page = new PageReference('/apex/EventHandle?isEventDelay=true&Id='+targetEvent.Id); System.Test.setCurrentPage(page); ApexPages.StandardController sc = new ApexPages.standardController( targetEvent); EventHandleController handle = new EventHandleController(sc); handle.init(); handle.targetEvent.delayReasonSelect__c = '客户时间变更或冲突'; handle.save(); User loginUser = [SELECT id , Job_Category__c from user where Id = :userInfo.getUserId()]; loginUser.Job_Category__c = '销售服务'; update loginUser; Event targetEvent2 = new Event(); targetEvent2.Subject = 'test'; targetEvent2.StartDateTime = Datetime.now().addMonths(1); targetEvent2.DurationInMinutes = 10; targetEvent2.Location = 'testLocation'; targetEvent2.Activity_Type2__c = '病院'; insert targetEvent2; PageReference page2 = new PageReference('/apex/EventHandle?isEventDelay=true&Id='+targetEvent.Id); System.Test.setCurrentPage(page2); ApexPages.StandardController sc2 = new ApexPages.standardController( targetEvent2); EventHandleController handle2 = new EventHandleController(sc2); handle2.init(); handle2.targetEvent.delayReasonSelectFSE__c = '医院时间问题'; handle2.save(); PageReference page22 = new PageReference('/apex/EventHandle?isEventCancel=true&Id='+targetEvent.Id); System.Test.setCurrentPage(page22); ApexPages.StandardController sc22 = new ApexPages.standardController( targetEvent2); EventHandleController handle22 = new EventHandleController(sc2); handle22.init(); handle22.targetEvent.delayReasonSelectFSE__c = '医院时间问题'; handle22.save(); } } //取消 static testMethod void testMethod4() { // レコードタイプ取得 RecordType hospitalRec = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院']; RecordType sectionRec = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '戦略科室分類 消化科']; RecordType departmentRec = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '診療科 消化科']; // 病院作成 Account hospital = new Account(); hospital.RecordTypeId = hospitalRec.Id; hospital.Name = 'TestHospital'; insert hospital; // 病院を作ると戦略科室は、トリガーによって作られている Account section = [select Management_Code__c, Management_Code_Auto__c, Name, Id from Account where Parent.Id = :hospital.Id and RecordTypeId = :sectionRec.Id limit 1]; // 診療科1を作成 Account depart1 = new Account(); depart1.RecordTypeId = departmentRec.Id; depart1.Name = '*'; depart1.Department_Name__c = 'TestDepart'; depart1.ParentId = section.Id; depart1.Department_Class__c = section.Id; depart1.Hospital__c = hospital.Id; depart1.AgentCode_Ext__c = '9999997'; insert depart1; RecordType hospitalRec1 = [select Id from RecordType where IsActive = true and SobjectType = 'task__c' and Name = 'OPD']; OPDPlan__c tempOPD = new OPDPlan__c(); tempOPD.Status__c = '草案中'; tempOPD.Account_Laboratory__c =depart1.Id; tempOPD.NoOpp_Reason__c = 'HCP对应'; tempOPD.if_OPDTarget__c=1; tempOPD.if_HaveSalestarget__c =1; tempOPD.Cnt_OPD_ThisYear__c=1; tempOPD.Cnt_OPD_LastYear__c=1; tempOPD.if_HaveOpportunity__c=1; tempOPD.if_HaveEquipment__c =1; tempOPD.Cnt_Rentals__c =1; tempOPD.OPDType__c ='学会'; tempOPD.PlanProdDetail__c ='CV-290*4; GI-290镜子*1; GI-290镜子CF*1;'; tempOPD.SkipValidationRulesAndWorkflows__c = true; insert tempOPD; Event targetEvent = new Event(); targetEvent.Subject = 'test'; targetEvent.StartDateTime = Datetime.now().addMonths(1); targetEvent.DurationInMinutes = 10; targetEvent.Location = 'testLocation'; targetEvent.Activity_Type2__c = '病院'; targetEvent.OPD_Plan__c = tempOPD.Id; targetEvent.OPDPlan_Flag__c = true; insert targetEvent; PageReference page9 = new PageReference('/apex/EventHandle?isEventCancel=true&Id='+targetEvent.Id); System.Test.setCurrentPage(page9); ApexPages.StandardController sc9 = new ApexPages.standardController( targetEvent); EventHandleController handle9 = new EventHandleController(sc9); handle9.init(); handle9.targetEvent.cancelReasonSelect__c = '订货推迟'; handle9.targetEvent.cancelReasonOther__c = 'Test'; handle9.save(); targetEvent.Task_ID__c = null; update targetEvent; PageReference page10 = new PageReference('/apex/EventHandle?isEventCancel=true&Id='+targetEvent.Id); System.Test.setCurrentPage(page10); ApexPages.StandardController sc10 = new ApexPages.standardController( targetEvent); EventHandleController handle10 = new EventHandleController(sc10); handle10.init(); handle10.targetEvent.cancelReasonSelect__c = '其他'; handle10.targetEvent.cancelReasonOther__c = 'Test'; handle10.save(); } }