@isTest
|
private class CreatePassiveTaskBatchTest {
|
|
private static void initHpData() {
|
// カスタム設定を定義
|
SS_Batch_Column_Mapping__c PlanMonthAndAmount1 = new SS_Batch_Column_Mapping__c(Name = 'PlanMonthAndAmount', SS_TableName__c='PlanMonthAndAmount__c');
|
PlanMonthAndAmount1.From_Column_001__c = 'OPD_PlanMonth_190Main__c';
|
PlanMonthAndAmount1.SS_Column_001__c = 'OPD_amount_CV190__c,OPD_amount_OTVS190__c';
|
PlanMonthAndAmount1.From_Column_002__c = 'OPD_PlanMonth_290Miro__c';
|
PlanMonthAndAmount1.SS_Column_002__c = 'OPD_amount_290MiroGI__c, OPD_amount_290MiroBF__c,OPD_amount_290MiroGI_CF__c,OPD_amount_290MiroGI_Plus__c,OPD_amount_290Miro_F__c';
|
PlanMonthAndAmount1.From_Column_003__c = 'OPD_PlanMonth_CV170__c';
|
PlanMonthAndAmount1.SS_Column_003__c = 'OPD_amount_CV170__c';
|
insert new SS_Batch_Column_Mapping__c[] {PlanMonthAndAmount1};
|
|
SS_Batch_Column_Mapping__c PlanMonthAndAmountName1 = new SS_Batch_Column_Mapping__c(Name = 'PlanMonthAndAmountName', SS_TableName__c='PlanMonthAndAmountName__c');
|
PlanMonthAndAmountName1.From_Column_001__c = 'OPD_PlanMonth_190Main__c';
|
PlanMonthAndAmountName1.SS_Column_001__c = 'CV-190,OTV-S190';
|
PlanMonthAndAmountName1.From_Column_002__c = 'OPD_PlanMonth_290Miro__c';
|
PlanMonthAndAmountName1.SS_Column_002__c = 'GI-290镜子,BF-290镜子,GI-290镜子放大,GI-290镜子CF';
|
PlanMonthAndAmountName1.From_Column_003__c = 'OPD_PlanMonth_CV170__c';
|
PlanMonthAndAmountName1.SS_Column_003__c = 'CV-170';
|
insert new SS_Batch_Column_Mapping__c[] {PlanMonthAndAmountName1};
|
|
SS_Batch_Column_Mapping__c OPD_PlanMonth1 = new SS_Batch_Column_Mapping__c(Name = 'OPD_PlanMonth', SS_TableName__c='OPD_PlanMonth__c');
|
OPD_PlanMonth1.From_Column_001__c = 'OPD_PlanMonth_190Main__c';
|
OPD_PlanMonth1.SS_Column_001__c = '190主机';
|
OPD_PlanMonth1.From_Column_002__c = 'OPD_PlanMonth_290Miro__c';
|
OPD_PlanMonth1.SS_Column_002__c = '290镜子';
|
OPD_PlanMonth1.From_Column_003__c = 'OPD_PlanMonth_CV170__c';
|
OPD_PlanMonth1.SS_Column_003__c = 'CV-170';
|
/*OPD_PlanMonth1.From_Column_004__c = 'OPD_PlanMonth_CV290__c';
|
OPD_PlanMonth1.SS_Column_004__c = 'CV-290';
|
OPD_PlanMonth1.From_Column_005__c = 'OPD_PlanMonth_ENG__c';
|
OPD_PlanMonth1.SS_Column_005__c = 'ENG主机';
|
OPD_PlanMonth1.From_Column_006__c = 'OPD_PlanMonth_EUME2__c';
|
OPD_PlanMonth1.SS_Column_006__c = 'EU-ME2';*/
|
insert new SS_Batch_Column_Mapping__c[] {OPD_PlanMonth1};
|
|
// 省
|
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;
|
|
User[] users = [SELECT ID, Name FROM User WHERE IsActive = true];
|
User user1 = users[0];
|
|
|
// 戦略科室を得る
|
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 = '99999998';
|
dep.ParentId = strategicDep[0].Id;
|
dep.Department_Class__c = strategicDep[0].Id;
|
dep.Hospital__c = hospital.Id;
|
insert dep;
|
Account[] sd = [Select Id FROM Account WHERE name = 'test dep'];
|
//Account[] strategicDep = [Select Id,name FROM Account WHERE IsActive = true and SobjectType = 'Account' and name = 'test hospital'];
|
Account_Number_of_target__c anto1 = new Account_Number_of_target__c();
|
//anto1.Account_HP__c = strategicDep[0].Id;
|
//战略科室名
|
anto1.Account__c = strategicDep[0].Id;
|
anto1.OCM_Period__c = '154P';
|
anto1.OPD_PlanMonth_190Main__c = '11月';
|
anto1.OPD_PlanMonth_290Miro__c = '4月';
|
anto1.OPD_PlanMonth_CV170__c = '1月';
|
anto1.OPD_amount_CV190__c = 0;
|
anto1.OPD_amount_290MiroGI__c = 0;
|
anto1.OPD_amount_CV170__c = 0;
|
//anto1.Account__c = '0011000000V9ylAAAR';
|
anto1.Product_Leader__C = user1.Id;
|
insert anto1;
|
|
// 2021-03-10 mzy add SFDC调查合并Batch start
|
Account_Number_of_target__c anto2 = new Account_Number_of_target__c();
|
//anto1.Account_HP__c = strategicDep[0].Id;
|
//战略科室名
|
anto2.Account__c = strategicDep[0].Id;
|
anto2.OCM_Period__c = '154P';
|
anto2.OPD_PlanMonth_190Main__c = '11月';
|
anto2.OPD_PlanMonth_290Miro__c = '4月';
|
anto2.OPD_PlanMonth_CV170__c = '1月';
|
anto2.OPD_amount_CV190__c = 0;
|
anto2.OPD_amount_290MiroGI__c = 0;
|
anto2.OPD_amount_CV170__c = 0;
|
//anto1.Account__c = '0011000000V9ylAAAR';
|
insert anto2;
|
// 2021-03-10 mzy add SFDC调查合并Batch end
|
|
//Account_Number_of_target__c anotList = [select id, name , Account__c , Account__r.name, Account__r.ownerid,OCM_Period__c from Account_Number_of_target__c where OCM_Period__c = '153P'];
|
Account_Number_of_target__c[] an = [select id, name , Account__c , Account__r.name, Account__r.ownerid,OCM_Period__c from Account_Number_of_target__c where OCM_Period__c = '154P'];
|
//[Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and name = 'test dep'];
|
/*OPDPlan__c opdp = new OPDPlan__c();
|
opdp.Status__c = '计划中';
|
//科室
|
opdp.Account_Laboratory__c = dep.Id;
|
|
opdp.OPDPlan_ImplementDate__c = Date.today().addDays(30);
|
//opdp.Account_Laboratory__r.Department_Class__c = '0011000000V9ylAAAR';
|
opdp.OPD_Customers_Target__c = an[0].Id;
|
opdp.if_HaveOpportunity__c = 1;
|
opdp.NoOpp_Reason__c = 'HCP对应';
|
insert opdp;*/
|
|
OPDPlan__c opdp = new OPDPlan__c();
|
opdp.Status__c = '计划中';
|
//科室
|
opdp.Account_Laboratory__c = dep.Id;
|
|
opdp.OPDPlan_ImplementDate__c = Date.today().addDays(30);
|
//opdp.Account_Laboratory__r.Department_Class__c = '0011000000V9ylAAAR';
|
opdp.OPD_Customers_Target__c = an[0].Id;
|
opdp.if_HaveOpportunity__c = 1;
|
opdp.NoOpp_Reason__c = 'HCP对应';
|
insert opdp;
|
}
|
|
//正常执行
|
@isTest
|
public static void test_method_one() {
|
initHpData();
|
|
//SS_Batch_Column_Mapping__c PlanMonthAndAmount1 = SS_Batch_Column_Mapping__c.getValues('PlanMonthAndAmount');
|
|
//system.debug('PlanMonthAndAmount1' + PlanMonthAndAmount1);
|
//SS_Batch_Column_Mapping__c PlanMonthAndAmountName1 = SS_Batch_Column_Mapping__c.getValues('PlanMonthAndAmountName');
|
//system.debug('PlanMonthAndAmountName1' + PlanMonthAndAmountName1);
|
//SS_Batch_Column_Mapping__c OPD_PlanMonth1 = SS_Batch_Column_Mapping__c.getValues('OPD_PlanMonth');
|
System.Test.StartTest();
|
|
Database.executeBatch(new CreatePassiveTaskBatch());
|
|
System.Test.StopTest();
|
|
}
|
}
|