@isTest
|
public class SetProvinceTargetBatchTest {
|
static private String currentPeriod(Integer i) {
|
Date dateNow = Date.today();
|
Integer year = dateNow.year();
|
Integer month = dateNow.month();
|
if (month < 4) {
|
year -= 1;
|
}
|
return String.valueOf(year + i - 1867 + 'P');
|
}
|
static private Date oppCloseDate() {
|
Date nowDate = Date.today();
|
Integer year = nowDate.year();
|
Integer month = nowDate.month();
|
if (month < 4) {
|
nowDate = nowDate.addYears(-1);
|
}
|
return nowDate;
|
}
|
static testMethod void testMethod1() {
|
RecordType[] rt = [select Id from RecordType where SobjectType = 'Opportunity' and IsActive = true and DeveloperName = 'Target'];
|
// システム管理者
|
User u3 = new 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.Province__c = '上海市';
|
u3.Use_Start_Date__c = Date.today().addMonths(-6);
|
insert u3;
|
|
System.runAs(u3) {
|
|
// 102_销售产品推广
|
User u2 = new User();
|
u2.LastName = '四洋';
|
u2.FirstName = '张';
|
u2.Alias = '张四洋';
|
u2.Email = 'olympusTest02@sunbridge.com';
|
u2.Username = 'olympusTest02@sunbridge.com';
|
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 = '上海市';
|
u2.Post__c = '主管';
|
u2.Sales_Speciality__c = '医院担当';
|
u2.Use_Start_Date__c = Date.today().addYears(-1);
|
insert u2;
|
|
Opportunity[] opportunitys = [select Id from Opportunity where RecordTypeId = :rt[0].Id];
|
delete opportunitys;
|
|
Opportunity opp1 = new Opportunity();
|
opp1.Name = u2.Alias + ' 目标';
|
opp1.StageName = '目標';
|
opp1.OwnerId = u2.Id;
|
opp1.Owner_System__c = u2.Id;
|
opp1.Opportunity_Category__c = 'GI';
|
opp1.CloseDate = Date.valueOf(oppCloseDate().year() -1 + '-04-01');
|
opp1.Amount = 150;
|
opp1.Target_category__c = '省目标';
|
opp1.SAP_Province__c = '北京市';
|
opp1.RecordTypeId = rt[0].Id;
|
opp1.OCM_Target_period__c = currentPeriod(-1);
|
opp1.Target_Source__c = 'SetProvinceTarget';
|
insert opp1;
|
|
Opportunity opp2 = new Opportunity();
|
opp2.Name = u2.Alias + ' 目标';
|
opp2.StageName = '目標';
|
opp2.OwnerId = u2.Id;
|
opp2.Owner_System__c = u2.Id;
|
opp2.Opportunity_Category__c = 'GI';
|
opp2.CloseDate = Date.valueOf(oppCloseDate().year() -2 + '-04-01');
|
opp2.Amount = 250;
|
opp2.Target_category__c = '省目标';
|
opp2.SAP_Province__c = '上海市';
|
opp2.RecordTypeId = rt[0].Id;
|
opp2.OCM_Target_period__c = currentPeriod(-2);
|
opp2.Target_Source__c = 'SetProvinceTarget';
|
insert opp2;
|
OCM_Management_Province__c aaa = new OCM_Management_Province__c();
|
aaa.Province__c='上海市';
|
aaa.GI_assistant__c=u2.Id;
|
aaa.SP_assistant__c=u2.Id;
|
aaa.Name='上海';
|
insert aaa;
|
|
Provincial_Goal_Setting_Input__c bbb = new Provincial_Goal_Setting_Input__c();
|
bbb.key__c='黑龙江省_URO';
|
bbb.Target_Source__c='SetProvinceTarget';
|
bbb.SAP_Province__c='黑龙江省';
|
bbb.iYear__c=2021;
|
bbb.Owner_System__c=u2.Id;
|
bbb.Department__c='2.东北';
|
bbb.Amount__c=3000;
|
bbb.Is_Processing__c = true;
|
insert bbb;
|
Database.executeBatch(new SetProvinceTargetBatch(), 1);
|
|
}
|
}
|
}
|