@isTest
|
private class lexCreateEventButtonTest {
|
// private static Id pricebookId = ControllerUtil.getStandardPricebook().Id;
|
static testMethod void init() {
|
Oly_TriggerHandler.bypass('ContactTriggerHandler');
|
Oly_TriggerHandler.bypass('PowerBIBaseHandler');
|
Oly_TriggerHandler.bypass('AgencyOppUpdHandler');
|
Oly_TriggerHandler.bypass('UpdateContractAimAmountHandler');
|
Oly_TriggerHandler.bypass('NFM701ControllerHandler');
|
StaticParameter.EscapeNFM001AgencyContractTrigger = true;
|
StaticParameter.EscapeContactToUser = true;
|
ControllerUtil.EscapeNFM001Trigger = true;
|
|
|
lexCreateEventButton.getNowDateTime();
|
lexCreateEventButton.getEndDateTime();
|
lexCreateEventButton.getUserJobCategory();
|
Map<String, Object> eventLineMap = new Map<String, Object>();
|
eventLineMap.put('StartTime',Datetime.now());
|
eventLineMap.put('EndTime',Datetime.now());
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('OpportunityId',null);
|
eventLineMap.put('ActivityPurposeFSE','信息收集');
|
eventLineMap.put('IsOPDPlan','true');
|
String jsonEvents = JSON.serialize(eventLineMap);
|
|
List<ProLine> pros = new List<ProLine>();
|
String jsonRecordNull = System.JSON.serialize(pros);
|
ProLine pro = new ProLine();
|
// pro.Id = planRE.Id;
|
pro.Quantity = 10;
|
pro.Name = 'CF-H170I1';
|
pro.ProductCode= 'N4480080';
|
pro.ProductModel= 'CF-H170I1';
|
pros.add(pro);
|
|
RecordType rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_GI'];
|
// List<RecordType> rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName IN ('Department_GI', 'Department_BF') order by DeveloperName desc];
|
|
RecordType rectCam =
|
[SELECT Id FROM RecordType
|
WHERE IsActive = true AND SobjectType = 'Campaign'
|
AND DeveloperName = 'ServiceEngineerTraining'];
|
Campaign cam = new Campaign();
|
cam.Name = 'cam';
|
cam.Name2__c = '1234';
|
cam.RecordTypeId = rectCam.Id;
|
cam.StartDate = Date.today().addDays(-15);
|
cam.EndDate = Date.today().addDays(18);
|
cam.Mailflg_after45__c = true;
|
cam.Mailflg_cancel__c = true;
|
cam.Mailflg_before15__c = true;
|
cam.Mailflg_before7__c = true;
|
cam.Mailflg_after3__c = true;
|
insert cam;
|
|
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 = [SELECT ID, Name FROM Account WHERE parentId = :hospital.Id AND recordType.DeveloperName = 'Department_Class_OTH'];
|
// 診療科を作る
|
Account acc = new Account();
|
acc.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_OTH'].id;
|
acc.Name = 'test dep';
|
acc.AgentCode_Ext__c = '9999998';
|
acc.ParentId = strategicDep[0].Id;
|
acc.Department_Class__c = strategicDep[0].Id;
|
acc.Hospital__c = hospital.Id;
|
insert acc;
|
|
Test.startTest();
|
Opportunity opp = new Opportunity(
|
Name='Opp',
|
StageName='出荷',
|
// Status_Formula_Option__c = '06 已发货',
|
CloseDate=Date.today().addDays(10),
|
Close_Forecasted_Date__c=Date.today(),
|
// Department_Class__c = strategicDep[0].Id,
|
CurrencyIsoCode = 'CNY'
|
);
|
insert opp;
|
// Quote q = new Quote(
|
// Name = 'quote',
|
// OpportunityId = opp.Id,
|
// Pricebook2Id = pricebookId
|
// );
|
// insert q;
|
|
// opp.Estimation_Id__c = q.Id;
|
|
Opportunity opp1 = new Opportunity(
|
Name='Opp',
|
StageName='引合',
|
AccountId = acc.Id,
|
Status_Formula_Option__c = '12 已签约',
|
CloseDate=Date.today().addDays(10),
|
Close_Forecasted_Date__c=Date.today(),
|
// RecordTypeId = oppRecord.Id,
|
// Department_Class__c = strategicDep[0].Id,
|
CurrencyIsoCode = 'CNY'
|
);
|
insert opp1;
|
// Product2 prd1 = new Product2();
|
// prd1.Name = 'Prd1';
|
// prd1.ProductCode_Ext__c = 'Prd1';
|
// prd1.ProductCode = 'Prd1';
|
// prd1.Asset_Model_No__c = '1001';
|
// prd1.Important_product__c = true;
|
// prd1.Important_Rroduct_1GI__c = true;
|
// prd1.RentalSubject__c = true;
|
// insert prd1;
|
|
// PricebookEntry entry = new PricebookEntry( Pricebook2Id = pricebookId, Product2Id = prd1.Id);
|
// entry.UnitPrice = 0;
|
// entry.IsActive = true;
|
// entry.UseStandardPrice = false;
|
// entry.CurrencyIsoCode = 'CNY';
|
// insert entry;
|
|
// QuoteLineItem quoteItem = new QuoteLineItem();
|
// quoteItem.Name__c = 'テスト商品';
|
// quoteItem.QuoteId = q.id;
|
// quoteItem.Quantity = 1;
|
// quoteItem.Cost_Subtotal__c = 0;
|
// quoteItem.Cost__c = 200;
|
// quoteItem.Item_Order__c = 3;
|
// quoteItem.UnitPrice = 10;
|
// quoteItem.Product2Id = prd1.id;
|
// quoteItem.PricebookEntryId = entry.Id;
|
// insert quoteItem;
|
|
Maintenance_Contract__c contract = new Maintenance_Contract__c();
|
contract.Name = 'tect contract';
|
contract.Hospital__c = hospital.Id;
|
contract.Department_Class__c = strategicDep[0].Id;
|
contract.Department__c = acc.Id;
|
contract.Service_Contract_Staff__c = UserInfo.getUserId();
|
contract.Payment_Plan_Sum_First__c = 1;
|
contract.Status__c = '契約満了';
|
contract.Maintenance_Contract_No__c = '11123';
|
contract.recordtypeId =
|
Schema.SObjectType.Maintenance_Contract__c.getRecordTypeInfosByDeveloperName().get('NewMaintenance_Contract').getRecordTypeId();
|
contract.Not_Upper_limit_reason__c = ' 1';
|
contract.Contract_Start_Date__c = Date.today().addDays(-5);
|
contract.Contract_End_Date__c = Date.today().addDays(5);
|
contract.SalesOfficeCode_selection__c = '北京RC';
|
contract.New_Contract_TypeF_Text__c = '续签合同';
|
contract.IF_Target_Renew__c='1';
|
contract.Contract_Conclusion_Date__c=Date.today().addDays(-5);
|
// system.assertEquals(contract.Contract_End_Date__c >= Date.newInstance(2021,10,1) && contract.Contract_End_Date__c <= Date.newInstance(2022,9,30),true);
|
insert contract;
|
|
NewMaintenanceReport_Task__c tempNMCT = new NewMaintenanceReport_Task__c();
|
tempNMCT.Name = 'FWreport-01';
|
tempNMCT.Distribution_Start_Date__c = Date.today().addDays(-30);
|
tempNMCT.Distribution_End_Date__c = Date.today().addMonths(2).addDays(-1);
|
tempNMCT.NewMaintenance_Contract__c = contract.Id;
|
tempNMCT.ActualDistributionTimes_Quarter__c = 0;
|
insert tempNMCT;
|
|
|
String jsonRecords = System.JSON.serialize(pros);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(70));
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(3));
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','');
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('AccountId',null);
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('AccountId','123456');
|
eventLineMap.put('IsOPDPlan',true);
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecordNull);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('AccountId','123456');
|
eventLineMap.put('IsOPDPlan',true);
|
eventLineMap.put('OpportunityId',null);
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('AccountId','123456');
|
eventLineMap.put('IsOPDPlan',true);
|
eventLineMap.put('OpportunityId',opp.Id);
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
Map<String, Object> saveEventMap = new Map<String, Object>();
|
|
saveEventMap.put('StartTime',Datetime.now().addDays(1));
|
saveEventMap.put('EndTime',Datetime.now().addDays(1));
|
saveEventMap.put('ActivityType2','病院');
|
saveEventMap.put('PurposeTypeFSE','招标对应');
|
saveEventMap.put('ActivityPurposeFSE','询价推进');
|
saveEventMap.put('NoOppReason','HCP对应');
|
saveEventMap.put('IsOPDPlan',true);
|
saveEventMap.put('AccountId',acc.Id);
|
saveEventMap.put('ContactId',null);
|
saveEventMap.put('OpportunityId',opp1.Id);
|
saveEventMap.put('ProjectId',null);
|
saveEventMap.put('ServiceId',contract.Id);
|
|
User LoginUser = [SELECT Id, Name, Job_Category__c FROM User WHERE Id = :UserInfo.getUserId()];
|
String saveEventRecords = JSON.serialize(saveEventMap);
|
|
lexCreateEventButton.saveEvent(saveEventRecords,jsonRecords);
|
LoginUser.Job_Category__c = '销售推广';
|
update LoginUser;
|
|
saveEventMap.put('AccountId',cam.Id);
|
saveEventRecords = JSON.serialize(saveEventMap);
|
lexCreateEventButton.saveEvent(saveEventRecords,jsonRecords);
|
|
saveEventMap.put('ActivityType2','病院');
|
saveEventMap.put('AccountId',acc.Id);
|
saveEventMap.put('OpportunityId',null);
|
saveEventRecords = JSON.serialize(saveEventMap);
|
lexCreateEventButton.saveEvent(saveEventRecords,jsonRecords);
|
saveEventMap.put('ActivityType2','販売店');
|
saveEventMap.put('AccountId',acc.Id);
|
saveEventRecords = JSON.serialize(saveEventMap);
|
lexCreateEventButton.saveEvent(saveEventRecords,jsonRecords);
|
saveEventMap.put('ActivityType2','社外イベント');
|
saveEventMap.put('AccountId',cam.Id);
|
saveEventRecords = JSON.serialize(saveEventMap);
|
lexCreateEventButton.saveEvent(saveEventRecords,jsonRecords);
|
|
saveEventMap.put('PurposeTypeFSE','合同季报');
|
|
saveEventRecords = JSON.serialize(saveEventMap);
|
// lexCreateEventButton.saveEvent(saveEventRecords,jsonRecords);
|
// saveEventMap.put('PurposeTypeFSE','合同点检');
|
|
// saveEventRecords = JSON.serialize(saveEventMap);
|
// lexCreateEventButton.saveEvent(saveEventRecords,jsonRecords);
|
|
List<ProLine> proLines = new List<ProLine>();
|
ProLine proLine1 = new ProLine();
|
// proLine1.Id = planRE.Id;
|
proLine1.Quantity = 10;
|
proLine1.Name = 'CF-H170I1';
|
proLine1.ProductCode= 'N4480080';
|
proLine1.ProductModel= '1001';
|
proLines.add(proLine1);
|
|
String reRecords = System.JSON.serialize(proLines);
|
|
|
// LoginUser.Job_Category__c = '销售服务';
|
// update LoginUser;
|
// lexCreateEventButton.saveEvent(saveEventRecords,jsonRecords);
|
|
|
Test.stopTest();
|
}
|
|
static testMethod void init2() {
|
try {
|
Oly_TriggerHandler.bypass('ContactTriggerHandler');
|
Oly_TriggerHandler.bypass('PowerBIBaseHandler');
|
Oly_TriggerHandler.bypass('AgencyOppUpdHandler');
|
Oly_TriggerHandler.bypass('UpdateContractAimAmountHandler');
|
Oly_TriggerHandler.bypass('NFM701ControllerHandler');
|
StaticParameter.EscapeNFM001AgencyContractTrigger = true;
|
StaticParameter.EscapeContactToUser = true;
|
ControllerUtil.EscapeNFM001Trigger = true;
|
|
|
lexCreateEventButton.getNowDateTime();
|
lexCreateEventButton.getEndDateTime();
|
lexCreateEventButton.getUserJobCategory();
|
Map<String, Object> eventLineMap = new Map<String, Object>();
|
eventLineMap.put('StartTime',Datetime.now());
|
eventLineMap.put('EndTime',Datetime.now());
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('OpportunityId',null);
|
eventLineMap.put('ActivityPurposeFSE','信息收集');
|
eventLineMap.put('IsOPDPlan','true');
|
String jsonEvents = JSON.serialize(eventLineMap);
|
|
List<ProLine> pros = new List<ProLine>();
|
String jsonRecordNull = System.JSON.serialize(pros);
|
ProLine pro = new ProLine();
|
// pro.Id = planRE.Id;
|
pro.Quantity = 10;
|
pro.Name = 'CF-H170I1';
|
pro.ProductCode= 'N4480080';
|
pro.ProductModel= 'CF-H170I1';
|
pros.add(pro);
|
|
RecordType rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_GI'];
|
// List<RecordType> rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName IN ('Department_GI', 'Department_BF') order by DeveloperName desc];
|
|
RecordType rectCam =
|
[SELECT Id FROM RecordType
|
WHERE IsActive = true AND SobjectType = 'Campaign'
|
AND DeveloperName = 'ServiceEngineerTraining'];
|
Campaign cam = new Campaign();
|
cam.Name = 'cam';
|
cam.Name2__c = '1234';
|
cam.RecordTypeId = rectCam.Id;
|
cam.StartDate = Date.today().addDays(-15);
|
cam.EndDate = Date.today().addDays(18);
|
cam.Mailflg_after45__c = true;
|
cam.Mailflg_cancel__c = true;
|
cam.Mailflg_before15__c = true;
|
cam.Mailflg_before7__c = true;
|
cam.Mailflg_after3__c = true;
|
insert cam;
|
|
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 = [SELECT ID, Name FROM Account WHERE parentId = :hospital.Id AND recordType.DeveloperName = 'Department_Class_OTH'];
|
// 診療科を作る
|
Account acc = new Account();
|
acc.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_OTH'].id;
|
acc.Name = 'test dep';
|
acc.AgentCode_Ext__c = '9999998';
|
acc.ParentId = strategicDep[0].Id;
|
acc.Department_Class__c = strategicDep[0].Id;
|
acc.Hospital__c = hospital.Id;
|
insert acc;
|
|
Test.startTest();
|
Opportunity opp = new Opportunity(
|
Name='Opp',
|
StageName='出荷',
|
// Status_Formula_Option__c = '06 已发货',
|
CloseDate=Date.today().addDays(10),
|
Close_Forecasted_Date__c=Date.today(),
|
// Department_Class__c = strategicDep[0].Id,
|
CurrencyIsoCode = 'CNY'
|
);
|
insert opp;
|
// Quote q = new Quote(
|
// Name = 'quote',
|
// OpportunityId = opp.Id,
|
// Pricebook2Id = pricebookId
|
// );
|
// insert q;
|
|
// opp.Estimation_Id__c = q.Id;
|
|
Opportunity opp1 = new Opportunity(
|
Name='Opp',
|
StageName='引合',
|
AccountId = acc.Id,
|
Status_Formula_Option__c = '12 已签约',
|
CloseDate=Date.today().addDays(10),
|
Close_Forecasted_Date__c=Date.today(),
|
// RecordTypeId = oppRecord.Id,
|
// Department_Class__c = strategicDep[0].Id,
|
CurrencyIsoCode = 'CNY'
|
);
|
insert opp1;
|
|
|
Maintenance_Contract__c contract = new Maintenance_Contract__c();
|
contract.Name = 'tect contract';
|
contract.Hospital__c = hospital.Id;
|
contract.Department_Class__c = strategicDep[0].Id;
|
contract.Department__c = acc.Id;
|
contract.Service_Contract_Staff__c = UserInfo.getUserId();
|
contract.Payment_Plan_Sum_First__c = 1;
|
contract.Status__c = '契約満了';
|
contract.Maintenance_Contract_No__c = '11123';
|
contract.recordtypeId =
|
Schema.SObjectType.Maintenance_Contract__c.getRecordTypeInfosByDeveloperName().get('NewMaintenance_Contract').getRecordTypeId();
|
contract.Not_Upper_limit_reason__c = ' 1';
|
contract.Contract_Start_Date__c = Date.today().addDays(-5);
|
contract.Contract_End_Date__c = Date.today().addDays(5);
|
contract.SalesOfficeCode_selection__c = '北京RC';
|
contract.New_Contract_TypeF_Text__c = '续签合同';
|
contract.IF_Target_Renew__c='1';
|
contract.Contract_Conclusion_Date__c=Date.today().addDays(-5);
|
// system.assertEquals(contract.Contract_End_Date__c >= Date.newInstance(2021,10,1) && contract.Contract_End_Date__c <= Date.newInstance(2022,9,30),true);
|
insert contract;
|
|
NewMaintenanceReport_Task__c tempNMCT = new NewMaintenanceReport_Task__c();
|
tempNMCT.Name = 'FWreport-01';
|
tempNMCT.Distribution_Start_Date__c = Date.today().addDays(-30);
|
tempNMCT.Distribution_End_Date__c = Date.today().addMonths(2).addDays(-1);
|
tempNMCT.NewMaintenance_Contract__c = contract.Id;
|
tempNMCT.ActualDistributionTimes_Quarter__c = 0;
|
insert tempNMCT;
|
|
|
String jsonRecords = System.JSON.serialize(pros);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(70));
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(3));
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','');
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('AccountId',null);
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('AccountId','123456');
|
eventLineMap.put('IsOPDPlan',true);
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecordNull);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('AccountId','123456');
|
eventLineMap.put('IsOPDPlan',true);
|
eventLineMap.put('OpportunityId',null);
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('AccountId','123456');
|
eventLineMap.put('IsOPDPlan',true);
|
eventLineMap.put('OpportunityId',opp.Id);
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
Map<String, Object> saveEventMap = new Map<String, Object>();
|
|
saveEventMap.put('StartTime',Datetime.now().addDays(1));
|
saveEventMap.put('EndTime',Datetime.now().addDays(1));
|
saveEventMap.put('ActivityType2','病院');
|
saveEventMap.put('PurposeTypeFSE','招标对应');
|
saveEventMap.put('ActivityPurposeFSE','询价推进');
|
saveEventMap.put('NoOppReason','HCP对应');
|
saveEventMap.put('IsOPDPlan',true);
|
saveEventMap.put('AccountId',acc.Id);
|
saveEventMap.put('ContactId',null);
|
saveEventMap.put('OpportunityId',opp1.Id);
|
saveEventMap.put('ProjectId',null);
|
saveEventMap.put('ServiceId',contract.Id);
|
|
User LoginUser = [SELECT Id, Name, Job_Category__c FROM User WHERE Id = :UserInfo.getUserId()];
|
String saveEventRecords = JSON.serialize(saveEventMap);
|
|
LoginUser.Job_Category__c = '销售推广';
|
update LoginUser;
|
|
saveEventMap.put('AccountId',cam.Id);
|
saveEventRecords = JSON.serialize(saveEventMap);
|
|
saveEventMap.put('ActivityType2','病院');
|
saveEventMap.put('AccountId',acc.Id);
|
saveEventMap.put('OpportunityId',null);
|
saveEventRecords = JSON.serialize(saveEventMap);
|
saveEventMap.put('ActivityType2','販売店');
|
saveEventMap.put('AccountId',acc.Id);
|
saveEventRecords = JSON.serialize(saveEventMap);
|
saveEventMap.put('ActivityType2','社外イベント');
|
saveEventMap.put('AccountId',cam.Id);
|
saveEventRecords = JSON.serialize(saveEventMap);
|
|
saveEventMap.put('PurposeTypeFSE','合同季报');
|
|
saveEventRecords = JSON.serialize(saveEventMap);
|
saveEventMap.put('PurposeTypeFSE','合同点检');
|
|
saveEventRecords = JSON.serialize(saveEventMap);
|
|
List<ProLine> proLines = new List<ProLine>();
|
ProLine proLine1 = new ProLine();
|
// proLine1.Id = planRE.Id;
|
proLine1.Quantity = 10;
|
proLine1.Name = 'CF-H170I1';
|
proLine1.ProductCode= 'N4480080';
|
proLine1.ProductModel= '1001';
|
proLines.add(proLine1);
|
|
String reRecords = System.JSON.serialize(proLines);
|
|
// LoginUser.Job_Category__c = '销售服务';
|
// update LoginUser;
|
// lexCreateEventButton.saveEvent(saveEventRecords,jsonRecords);
|
Integer year = date.today().year();
|
Integer month = date.today().month();
|
Integer days = date.today().day();
|
|
|
List<Event> ecL=new List<Event>();
|
Event insertTarget = new Event();
|
insertTarget.Subject = 'test00';
|
insertTarget.StartDateTime = Datetime.now().adddays(5);
|
insertTarget.EndDateTime = Datetime.now().adddays(5).addMinutes(60);
|
insertTarget.Location = 'testLocation';
|
insertTarget.Activity_Type2__c = '病院';
|
insertTarget.OPDPlan_Flag__c = true ;
|
insertTarget.PlanProdDetail__c = 'CV-290*4; GI-290镜子*1; GI-290镜子CF*1;';
|
insertTarget.EventStatus__c = ' 02 接受';
|
insertTarget.whatid__c = acc.Id;
|
|
Event insertTarget2 = new Event();
|
insertTarget2.Subject = 'test00';
|
insertTarget2.StartDateTime = Datetime.now().adddays(5);
|
insertTarget2.EndDateTime = Datetime.now().adddays(5).addMinutes(60);
|
insertTarget2.Location = 'testLocation';
|
insertTarget2.Activity_Type2__c = '病院';
|
insertTarget2.OPDPlan_Flag__c = true ;
|
insertTarget2.PlanProdDetail__c = 'CV-290*4; GI-290镜子*1; GI-290镜子CF*1;';
|
insertTarget2.EventStatus__c = ' 04 取消';
|
insertTarget2.whatid__c = acc.Id;
|
|
Event insertTarget3 = new Event();
|
insertTarget3.Subject = 'test00';
|
insertTarget3.StartDateTime = Datetime.now().adddays(5);
|
insertTarget3.EndDateTime = Datetime.now().adddays(5).addMinutes(60);
|
insertTarget3.Location = 'testLocation';
|
insertTarget3.Activity_Type2__c = '病院';
|
insertTarget3.OPDPlan_Flag__c = true ;
|
insertTarget3.PlanProdDetail__c = 'CV-290*4; GI-290镜子*1; GI-290镜子CF*1;';
|
insertTarget3.EventStatus__c = ' 05 延期';
|
insertTarget3.whatid__c = acc.Id;
|
|
|
ecL.add(insertTarget);
|
ecL.add(insertTarget2);
|
ecL.add(insertTarget3);
|
insert ecL;
|
|
List<task__c> tasks = new List<task__c>();
|
task__c t1 = new task__c();
|
t1.Name = 'test1';
|
t1.taskDifferent__c = '主动任务';
|
t1.taskStatus__c = '02 接受';
|
t1.assignee__c = Userinfo.getUserId();
|
t1.Activity_Date__c = Date.newInstance(year, month,days);
|
tasks.add(t1);
|
task__c t2 = new task__c();
|
t2.Name = 'test2';
|
t2.taskDifferent__c = '主动任务';
|
t2.taskStatus__c = '02 接受';
|
t2.assignee__c = Userinfo.getUserId();
|
t2.Activity_Date__c = Date.newInstance(2021, 8, 17);
|
tasks.add(t2);
|
|
insert tasks;
|
|
String eventid = insertTarget.Id;
|
String taskId = t1.Id;
|
String accid = acc.Id;
|
String cid = cam.Id;
|
String oid = opp.Id;
|
String mid = contract.Id;
|
String source = 'AccountPCL';
|
lexCreateEventButton.createCancelPostponePlan_Delay(t1, insertTarget);
|
Test.stopTest();
|
}
|
catch (Exception e) {
|
System.debug('123');
|
}
|
|
}
|
static testMethod void init3() {
|
try {
|
Oly_TriggerHandler.bypass('ContactTriggerHandler');
|
Oly_TriggerHandler.bypass('PowerBIBaseHandler');
|
Oly_TriggerHandler.bypass('AgencyOppUpdHandler');
|
Oly_TriggerHandler.bypass('UpdateContractAimAmountHandler');
|
Oly_TriggerHandler.bypass('NFM701ControllerHandler');
|
StaticParameter.EscapeNFM001AgencyContractTrigger = true;
|
StaticParameter.EscapeContactToUser = true;
|
ControllerUtil.EscapeNFM001Trigger = true;
|
|
|
lexCreateEventButton.getNowDateTime();
|
lexCreateEventButton.getEndDateTime();
|
lexCreateEventButton.getUserJobCategory();
|
Map<String, Object> eventLineMap = new Map<String, Object>();
|
eventLineMap.put('StartTime',Datetime.now());
|
eventLineMap.put('EndTime',Datetime.now());
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('OpportunityId',null);
|
eventLineMap.put('ActivityPurposeFSE','信息收集');
|
eventLineMap.put('IsOPDPlan','true');
|
String jsonEvents = JSON.serialize(eventLineMap);
|
|
List<ProLine> pros = new List<ProLine>();
|
String jsonRecordNull = System.JSON.serialize(pros);
|
ProLine pro = new ProLine();
|
// pro.Id = planRE.Id;
|
pro.Quantity = 10;
|
pro.Name = 'CF-H170I1';
|
pro.ProductCode= 'N4480080';
|
pro.ProductModel= 'CF-H170I1';
|
pros.add(pro);
|
|
RecordType rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_GI'];
|
// List<RecordType> rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName IN ('Department_GI', 'Department_BF') order by DeveloperName desc];
|
|
RecordType rectCam =
|
[SELECT Id FROM RecordType
|
WHERE IsActive = true AND SobjectType = 'Campaign'
|
AND DeveloperName = 'ServiceEngineerTraining'];
|
Campaign cam = new Campaign();
|
cam.Name = 'cam';
|
cam.Name2__c = '1234';
|
cam.RecordTypeId = rectCam.Id;
|
cam.StartDate = Date.today().addDays(-15);
|
cam.EndDate = Date.today().addDays(18);
|
cam.Mailflg_after45__c = true;
|
cam.Mailflg_cancel__c = true;
|
cam.Mailflg_before15__c = true;
|
cam.Mailflg_before7__c = true;
|
cam.Mailflg_after3__c = true;
|
insert cam;
|
|
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 = [SELECT ID, Name FROM Account WHERE parentId = :hospital.Id AND recordType.DeveloperName = 'Department_Class_OTH'];
|
// 診療科を作る
|
Account acc = new Account();
|
acc.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_OTH'].id;
|
acc.Name = 'test dep';
|
acc.AgentCode_Ext__c = '9999998';
|
acc.ParentId = strategicDep[0].Id;
|
acc.Department_Class__c = strategicDep[0].Id;
|
acc.Hospital__c = hospital.Id;
|
insert acc;
|
|
Test.startTest();
|
Opportunity opp = new Opportunity(
|
Name='Opp',
|
StageName='出荷',
|
// Status_Formula_Option__c = '06 已发货',
|
CloseDate=Date.today().addDays(10),
|
Close_Forecasted_Date__c=Date.today(),
|
// Department_Class__c = strategicDep[0].Id,
|
CurrencyIsoCode = 'CNY'
|
);
|
insert opp;
|
// Quote q = new Quote(
|
// Name = 'quote',
|
// OpportunityId = opp.Id,
|
// Pricebook2Id = pricebookId
|
// );
|
// insert q;
|
|
// opp.Estimation_Id__c = q.Id;
|
|
Opportunity opp1 = new Opportunity(
|
Name='Opp',
|
StageName='引合',
|
AccountId = acc.Id,
|
Status_Formula_Option__c = '12 已签约',
|
CloseDate=Date.today().addDays(10),
|
Close_Forecasted_Date__c=Date.today(),
|
// RecordTypeId = oppRecord.Id,
|
// Department_Class__c = strategicDep[0].Id,
|
CurrencyIsoCode = 'CNY'
|
);
|
insert opp1;
|
|
|
Maintenance_Contract__c contract = new Maintenance_Contract__c();
|
contract.Name = 'tect contract';
|
contract.Hospital__c = hospital.Id;
|
contract.Department_Class__c = strategicDep[0].Id;
|
contract.Department__c = acc.Id;
|
contract.Service_Contract_Staff__c = UserInfo.getUserId();
|
contract.Payment_Plan_Sum_First__c = 1;
|
contract.Status__c = '契約満了';
|
contract.Maintenance_Contract_No__c = '11123';
|
contract.recordtypeId =
|
Schema.SObjectType.Maintenance_Contract__c.getRecordTypeInfosByDeveloperName().get('NewMaintenance_Contract').getRecordTypeId();
|
contract.Not_Upper_limit_reason__c = ' 1';
|
contract.Contract_Start_Date__c = Date.today().addDays(-5);
|
contract.Contract_End_Date__c = Date.today().addDays(5);
|
contract.SalesOfficeCode_selection__c = '北京RC';
|
contract.New_Contract_TypeF_Text__c = '续签合同';
|
contract.IF_Target_Renew__c='1';
|
contract.Contract_Conclusion_Date__c=Date.today().addDays(-5);
|
// system.assertEquals(contract.Contract_End_Date__c >= Date.newInstance(2021,10,1) && contract.Contract_End_Date__c <= Date.newInstance(2022,9,30),true);
|
insert contract;
|
|
NewMaintenanceReport_Task__c tempNMCT = new NewMaintenanceReport_Task__c();
|
tempNMCT.Name = 'FWreport-01';
|
tempNMCT.Distribution_Start_Date__c = Date.today().addDays(-30);
|
tempNMCT.Distribution_End_Date__c = Date.today().addMonths(2).addDays(-1);
|
tempNMCT.NewMaintenance_Contract__c = contract.Id;
|
tempNMCT.ActualDistributionTimes_Quarter__c = 0;
|
insert tempNMCT;
|
|
|
String jsonRecords = System.JSON.serialize(pros);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(70));
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(3));
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','');
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('AccountId',null);
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('AccountId','123456');
|
eventLineMap.put('IsOPDPlan',true);
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecordNull);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('AccountId','123456');
|
eventLineMap.put('IsOPDPlan',true);
|
eventLineMap.put('OpportunityId',null);
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('AccountId','123456');
|
eventLineMap.put('IsOPDPlan',true);
|
eventLineMap.put('OpportunityId',opp.Id);
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
Map<String, Object> saveEventMap = new Map<String, Object>();
|
|
saveEventMap.put('StartTime',Datetime.now().addDays(1));
|
saveEventMap.put('EndTime',Datetime.now().addDays(1));
|
saveEventMap.put('ActivityType2','病院');
|
saveEventMap.put('PurposeTypeFSE','招标对应');
|
saveEventMap.put('ActivityPurposeFSE','询价推进');
|
saveEventMap.put('NoOppReason','HCP对应');
|
saveEventMap.put('IsOPDPlan',true);
|
saveEventMap.put('AccountId',acc.Id);
|
saveEventMap.put('ContactId',null);
|
saveEventMap.put('OpportunityId',opp1.Id);
|
saveEventMap.put('ProjectId',null);
|
saveEventMap.put('ServiceId',contract.Id);
|
|
User LoginUser = [SELECT Id, Name, Job_Category__c FROM User WHERE Id = :UserInfo.getUserId()];
|
String saveEventRecords = JSON.serialize(saveEventMap);
|
|
LoginUser.Job_Category__c = '销售推广';
|
update LoginUser;
|
|
saveEventMap.put('AccountId',cam.Id);
|
saveEventRecords = JSON.serialize(saveEventMap);
|
|
saveEventMap.put('ActivityType2','病院');
|
saveEventMap.put('AccountId',acc.Id);
|
saveEventMap.put('OpportunityId',null);
|
saveEventRecords = JSON.serialize(saveEventMap);
|
saveEventMap.put('ActivityType2','販売店');
|
saveEventMap.put('AccountId',acc.Id);
|
saveEventRecords = JSON.serialize(saveEventMap);
|
saveEventMap.put('ActivityType2','社外イベント');
|
saveEventMap.put('AccountId',cam.Id);
|
saveEventRecords = JSON.serialize(saveEventMap);
|
|
saveEventMap.put('PurposeTypeFSE','合同季报');
|
|
saveEventRecords = JSON.serialize(saveEventMap);
|
saveEventMap.put('PurposeTypeFSE','合同点检');
|
|
saveEventRecords = JSON.serialize(saveEventMap);
|
|
List<ProLine> proLines = new List<ProLine>();
|
ProLine proLine1 = new ProLine();
|
// proLine1.Id = planRE.Id;
|
proLine1.Quantity = 10;
|
proLine1.Name = 'CF-H170I1';
|
proLine1.ProductCode= 'N4480080';
|
proLine1.ProductModel= '1001';
|
proLines.add(proLine1);
|
|
String reRecords = System.JSON.serialize(proLines);
|
|
// LoginUser.Job_Category__c = '销售服务';
|
// update LoginUser;
|
// lexCreateEventButton.saveEvent(saveEventRecords,jsonRecords);
|
Integer year = date.today().year();
|
Integer month = date.today().month();
|
Integer days = date.today().day();
|
|
|
List<Event> ecL=new List<Event>();
|
Event insertTarget = new Event();
|
insertTarget.Subject = 'test00';
|
insertTarget.StartDateTime = Datetime.now().adddays(5);
|
insertTarget.EndDateTime = Datetime.now().adddays(5).addMinutes(60);
|
insertTarget.Location = 'testLocation';
|
insertTarget.Activity_Type2__c = '病院';
|
insertTarget.OPDPlan_Flag__c = true ;
|
insertTarget.PlanProdDetail__c = 'CV-290*4; GI-290镜子*1; GI-290镜子CF*1;';
|
insertTarget.EventStatus__c = ' 02 接受';
|
insertTarget.whatid__c = acc.Id;
|
|
Event insertTarget2 = new Event();
|
insertTarget2.Subject = 'test00';
|
insertTarget2.StartDateTime = Datetime.now().adddays(5);
|
insertTarget2.EndDateTime = Datetime.now().adddays(5).addMinutes(60);
|
insertTarget2.Location = 'testLocation';
|
insertTarget2.Activity_Type2__c = '病院';
|
insertTarget2.OPDPlan_Flag__c = true ;
|
insertTarget2.PlanProdDetail__c = 'CV-290*4; GI-290镜子*1; GI-290镜子CF*1;';
|
insertTarget2.EventStatus__c = ' 04 取消';
|
insertTarget2.whatid__c = acc.Id;
|
|
Event insertTarget3 = new Event();
|
insertTarget3.Subject = 'test00';
|
insertTarget3.StartDateTime = Datetime.now().adddays(5);
|
insertTarget3.EndDateTime = Datetime.now().adddays(5).addMinutes(60);
|
insertTarget3.Location = 'testLocation';
|
insertTarget3.Activity_Type2__c = '病院';
|
insertTarget3.OPDPlan_Flag__c = true ;
|
insertTarget3.PlanProdDetail__c = 'CV-290*4; GI-290镜子*1; GI-290镜子CF*1;';
|
insertTarget3.EventStatus__c = ' 05 延期';
|
insertTarget3.whatid__c = acc.Id;
|
|
|
ecL.add(insertTarget);
|
ecL.add(insertTarget2);
|
ecL.add(insertTarget3);
|
insert ecL;
|
|
List<task__c> tasks = new List<task__c>();
|
task__c t1 = new task__c();
|
t1.Name = 'test1';
|
t1.taskDifferent__c = '主动任务';
|
t1.taskStatus__c = '02 接受';
|
t1.assignee__c = Userinfo.getUserId();
|
t1.Activity_Date__c = Date.newInstance(year, month,days);
|
tasks.add(t1);
|
task__c t2 = new task__c();
|
t2.Name = 'test2';
|
t2.taskDifferent__c = '主动任务';
|
t2.taskStatus__c = '02 接受';
|
t2.assignee__c = Userinfo.getUserId();
|
t2.Activity_Date__c = Date.newInstance(2021, 8, 17);
|
tasks.add(t2);
|
|
insert tasks;
|
|
String eventid = insertTarget.Id;
|
String taskId = t1.Id;
|
String accid = acc.Id;
|
String cid = cam.Id;
|
String oid = opp.Id;
|
String mid = contract.Id;
|
String source = 'AccountPCL';
|
|
lexCreateEventButton.confirmCheck(t1, insertTarget);
|
|
lexCreateEventButton.getOppQuoteItems(reRecords,opp.Id);
|
Test.stopTest();
|
}
|
catch (Exception e) {
|
System.debug('123');
|
}
|
|
}
|
static testMethod void init4() {
|
try {
|
Oly_TriggerHandler.bypass('ContactTriggerHandler');
|
Oly_TriggerHandler.bypass('PowerBIBaseHandler');
|
Oly_TriggerHandler.bypass('AgencyOppUpdHandler');
|
Oly_TriggerHandler.bypass('UpdateContractAimAmountHandler');
|
Oly_TriggerHandler.bypass('NFM701ControllerHandler');
|
StaticParameter.EscapeNFM001AgencyContractTrigger = true;
|
StaticParameter.EscapeContactToUser = true;
|
ControllerUtil.EscapeNFM001Trigger = true;
|
|
|
lexCreateEventButton.getNowDateTime();
|
lexCreateEventButton.getEndDateTime();
|
lexCreateEventButton.getUserJobCategory();
|
Map<String, Object> eventLineMap = new Map<String, Object>();
|
eventLineMap.put('StartTime',Datetime.now());
|
eventLineMap.put('EndTime',Datetime.now());
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('OpportunityId',null);
|
eventLineMap.put('ActivityPurposeFSE','信息收集');
|
eventLineMap.put('IsOPDPlan','true');
|
String jsonEvents = JSON.serialize(eventLineMap);
|
|
List<ProLine> pros = new List<ProLine>();
|
String jsonRecordNull = System.JSON.serialize(pros);
|
ProLine pro = new ProLine();
|
// pro.Id = planRE.Id;
|
pro.Quantity = 10;
|
pro.Name = 'CF-H170I1';
|
pro.ProductCode= 'N4480080';
|
pro.ProductModel= 'CF-H170I1';
|
pros.add(pro);
|
|
RecordType rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_GI'];
|
// List<RecordType> rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName IN ('Department_GI', 'Department_BF') order by DeveloperName desc];
|
|
RecordType rectCam =
|
[SELECT Id FROM RecordType
|
WHERE IsActive = true AND SobjectType = 'Campaign'
|
AND DeveloperName = 'ServiceEngineerTraining'];
|
Campaign cam = new Campaign();
|
cam.Name = 'cam';
|
cam.Name2__c = '1234';
|
cam.RecordTypeId = rectCam.Id;
|
cam.StartDate = Date.today().addDays(-15);
|
cam.EndDate = Date.today().addDays(18);
|
cam.Mailflg_after45__c = true;
|
cam.Mailflg_cancel__c = true;
|
cam.Mailflg_before15__c = true;
|
cam.Mailflg_before7__c = true;
|
cam.Mailflg_after3__c = true;
|
insert cam;
|
|
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 = [SELECT ID, Name FROM Account WHERE parentId = :hospital.Id AND recordType.DeveloperName = 'Department_Class_OTH'];
|
// 診療科を作る
|
Account acc = new Account();
|
acc.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_OTH'].id;
|
acc.Name = 'test dep';
|
acc.AgentCode_Ext__c = '9999998';
|
acc.ParentId = strategicDep[0].Id;
|
acc.Department_Class__c = strategicDep[0].Id;
|
acc.Hospital__c = hospital.Id;
|
insert acc;
|
|
Test.startTest();
|
Opportunity opp = new Opportunity(
|
Name='Opp',
|
StageName='出荷',
|
// Status_Formula_Option__c = '06 已发货',
|
CloseDate=Date.today().addDays(10),
|
Close_Forecasted_Date__c=Date.today(),
|
// Department_Class__c = strategicDep[0].Id,
|
CurrencyIsoCode = 'CNY'
|
);
|
insert opp;
|
// Quote q = new Quote(
|
// Name = 'quote',
|
// OpportunityId = opp.Id,
|
// Pricebook2Id = pricebookId
|
// );
|
// insert q;
|
|
// opp.Estimation_Id__c = q.Id;
|
|
Opportunity opp1 = new Opportunity(
|
Name='Opp',
|
StageName='引合',
|
AccountId = acc.Id,
|
Status_Formula_Option__c = '12 已签约',
|
CloseDate=Date.today().addDays(10),
|
Close_Forecasted_Date__c=Date.today(),
|
// RecordTypeId = oppRecord.Id,
|
// Department_Class__c = strategicDep[0].Id,
|
CurrencyIsoCode = 'CNY'
|
);
|
insert opp1;
|
|
|
Maintenance_Contract__c contract = new Maintenance_Contract__c();
|
contract.Name = 'tect contract';
|
contract.Hospital__c = hospital.Id;
|
contract.Department_Class__c = strategicDep[0].Id;
|
contract.Department__c = acc.Id;
|
contract.Service_Contract_Staff__c = UserInfo.getUserId();
|
contract.Payment_Plan_Sum_First__c = 1;
|
contract.Status__c = '契約満了';
|
contract.Maintenance_Contract_No__c = '11123';
|
contract.recordtypeId =
|
Schema.SObjectType.Maintenance_Contract__c.getRecordTypeInfosByDeveloperName().get('NewMaintenance_Contract').getRecordTypeId();
|
contract.Not_Upper_limit_reason__c = ' 1';
|
contract.Contract_Start_Date__c = Date.today().addDays(-5);
|
contract.Contract_End_Date__c = Date.today().addDays(5);
|
contract.SalesOfficeCode_selection__c = '北京RC';
|
contract.New_Contract_TypeF_Text__c = '续签合同';
|
contract.IF_Target_Renew__c='1';
|
contract.Contract_Conclusion_Date__c=Date.today().addDays(-5);
|
// system.assertEquals(contract.Contract_End_Date__c >= Date.newInstance(2021,10,1) && contract.Contract_End_Date__c <= Date.newInstance(2022,9,30),true);
|
insert contract;
|
|
NewMaintenanceReport_Task__c tempNMCT = new NewMaintenanceReport_Task__c();
|
tempNMCT.Name = 'FWreport-01';
|
tempNMCT.Distribution_Start_Date__c = Date.today().addDays(-30);
|
tempNMCT.Distribution_End_Date__c = Date.today().addMonths(2).addDays(-1);
|
tempNMCT.NewMaintenance_Contract__c = contract.Id;
|
tempNMCT.ActualDistributionTimes_Quarter__c = 0;
|
insert tempNMCT;
|
|
|
String jsonRecords = System.JSON.serialize(pros);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(70));
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(3));
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','');
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('AccountId',null);
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('AccountId','123456');
|
eventLineMap.put('IsOPDPlan',true);
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecordNull);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('AccountId','123456');
|
eventLineMap.put('IsOPDPlan',true);
|
eventLineMap.put('OpportunityId',null);
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('AccountId','123456');
|
eventLineMap.put('IsOPDPlan',true);
|
eventLineMap.put('OpportunityId',opp.Id);
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
Map<String, Object> saveEventMap = new Map<String, Object>();
|
|
saveEventMap.put('StartTime',Datetime.now().addDays(1));
|
saveEventMap.put('EndTime',Datetime.now().addDays(1));
|
saveEventMap.put('ActivityType2','病院');
|
saveEventMap.put('PurposeTypeFSE','招标对应');
|
saveEventMap.put('ActivityPurposeFSE','询价推进');
|
saveEventMap.put('NoOppReason','HCP对应');
|
saveEventMap.put('IsOPDPlan',true);
|
saveEventMap.put('AccountId',acc.Id);
|
saveEventMap.put('ContactId',null);
|
saveEventMap.put('OpportunityId',opp1.Id);
|
saveEventMap.put('ProjectId',null);
|
saveEventMap.put('ServiceId',contract.Id);
|
|
User LoginUser = [SELECT Id, Name, Job_Category__c FROM User WHERE Id = :UserInfo.getUserId()];
|
String saveEventRecords = JSON.serialize(saveEventMap);
|
|
LoginUser.Job_Category__c = '销售推广';
|
update LoginUser;
|
|
saveEventMap.put('AccountId',cam.Id);
|
saveEventRecords = JSON.serialize(saveEventMap);
|
|
saveEventMap.put('ActivityType2','病院');
|
saveEventMap.put('AccountId',acc.Id);
|
saveEventMap.put('OpportunityId',null);
|
saveEventRecords = JSON.serialize(saveEventMap);
|
saveEventMap.put('ActivityType2','販売店');
|
saveEventMap.put('AccountId',acc.Id);
|
saveEventRecords = JSON.serialize(saveEventMap);
|
saveEventMap.put('ActivityType2','社外イベント');
|
saveEventMap.put('AccountId',cam.Id);
|
saveEventRecords = JSON.serialize(saveEventMap);
|
|
saveEventMap.put('PurposeTypeFSE','合同季报');
|
|
saveEventRecords = JSON.serialize(saveEventMap);
|
saveEventMap.put('PurposeTypeFSE','合同点检');
|
|
saveEventRecords = JSON.serialize(saveEventMap);
|
|
List<ProLine> proLines = new List<ProLine>();
|
ProLine proLine1 = new ProLine();
|
// proLine1.Id = planRE.Id;
|
proLine1.Quantity = 10;
|
proLine1.Name = 'CF-H170I1';
|
proLine1.ProductCode= 'N4480080';
|
proLine1.ProductModel= '1001';
|
proLines.add(proLine1);
|
|
String reRecords = System.JSON.serialize(proLines);
|
|
// LoginUser.Job_Category__c = '销售服务';
|
// update LoginUser;
|
// lexCreateEventButton.saveEvent(saveEventRecords,jsonRecords);
|
Integer year = date.today().year();
|
Integer month = date.today().month();
|
Integer days = date.today().day();
|
|
|
List<Event> ecL=new List<Event>();
|
Event insertTarget = new Event();
|
insertTarget.Subject = 'test00';
|
insertTarget.StartDateTime = Datetime.now().adddays(5);
|
insertTarget.EndDateTime = Datetime.now().adddays(5).addMinutes(60);
|
insertTarget.Location = 'testLocation';
|
insertTarget.Activity_Type2__c = '病院';
|
insertTarget.OPDPlan_Flag__c = true ;
|
insertTarget.PlanProdDetail__c = 'CV-290*4; GI-290镜子*1; GI-290镜子CF*1;';
|
insertTarget.EventStatus__c = ' 02 接受';
|
insertTarget.whatid__c = acc.Id;
|
|
Event insertTarget2 = new Event();
|
insertTarget2.Subject = 'test00';
|
insertTarget2.StartDateTime = Datetime.now().adddays(5);
|
insertTarget2.EndDateTime = Datetime.now().adddays(5).addMinutes(60);
|
insertTarget2.Location = 'testLocation';
|
insertTarget2.Activity_Type2__c = '病院';
|
insertTarget2.OPDPlan_Flag__c = true ;
|
insertTarget2.PlanProdDetail__c = 'CV-290*4; GI-290镜子*1; GI-290镜子CF*1;';
|
insertTarget2.EventStatus__c = ' 04 取消';
|
insertTarget2.whatid__c = acc.Id;
|
|
Event insertTarget3 = new Event();
|
insertTarget3.Subject = 'test00';
|
insertTarget3.StartDateTime = Datetime.now().adddays(5);
|
insertTarget3.EndDateTime = Datetime.now().adddays(5).addMinutes(60);
|
insertTarget3.Location = 'testLocation';
|
insertTarget3.Activity_Type2__c = '病院';
|
insertTarget3.OPDPlan_Flag__c = true ;
|
insertTarget3.PlanProdDetail__c = 'CV-290*4; GI-290镜子*1; GI-290镜子CF*1;';
|
insertTarget3.EventStatus__c = ' 05 延期';
|
insertTarget3.whatid__c = acc.Id;
|
|
|
ecL.add(insertTarget);
|
ecL.add(insertTarget2);
|
ecL.add(insertTarget3);
|
insert ecL;
|
|
List<task__c> tasks = new List<task__c>();
|
task__c t1 = new task__c();
|
t1.Name = 'test1';
|
t1.taskDifferent__c = '主动任务';
|
t1.taskStatus__c = '02 接受';
|
t1.assignee__c = Userinfo.getUserId();
|
t1.Activity_Date__c = Date.newInstance(year, month,days);
|
tasks.add(t1);
|
task__c t2 = new task__c();
|
t2.Name = 'test2';
|
t2.taskDifferent__c = '主动任务';
|
t2.taskStatus__c = '02 接受';
|
t2.assignee__c = Userinfo.getUserId();
|
t2.Activity_Date__c = Date.newInstance(2021, 8, 17);
|
tasks.add(t2);
|
|
insert tasks;
|
|
String eventid = insertTarget.Id;
|
String taskId = t1.Id;
|
String accid = acc.Id;
|
String cid = cam.Id;
|
String oid = opp.Id;
|
String mid = contract.Id;
|
String source = 'AccountPCL';
|
|
lexCreateEventButton.initEvent(eventid,taskId, accid, cid, oid, mid, source);
|
|
Test.stopTest();
|
}
|
catch (Exception e) {
|
System.debug('123');
|
}
|
|
}
|
static testMethod void init5() {
|
try {
|
Oly_TriggerHandler.bypass('ContactTriggerHandler');
|
Oly_TriggerHandler.bypass('PowerBIBaseHandler');
|
Oly_TriggerHandler.bypass('AgencyOppUpdHandler');
|
Oly_TriggerHandler.bypass('UpdateContractAimAmountHandler');
|
Oly_TriggerHandler.bypass('NFM701ControllerHandler');
|
StaticParameter.EscapeNFM001AgencyContractTrigger = true;
|
StaticParameter.EscapeContactToUser = true;
|
ControllerUtil.EscapeNFM001Trigger = true;
|
|
|
lexCreateEventButton.getNowDateTime();
|
lexCreateEventButton.getEndDateTime();
|
lexCreateEventButton.getUserJobCategory();
|
Map<String, Object> eventLineMap = new Map<String, Object>();
|
eventLineMap.put('StartTime',Datetime.now());
|
eventLineMap.put('EndTime',Datetime.now());
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('OpportunityId',null);
|
eventLineMap.put('ActivityPurposeFSE','信息收集');
|
eventLineMap.put('IsOPDPlan','true');
|
String jsonEvents = JSON.serialize(eventLineMap);
|
|
List<ProLine> pros = new List<ProLine>();
|
String jsonRecordNull = System.JSON.serialize(pros);
|
ProLine pro = new ProLine();
|
// pro.Id = planRE.Id;
|
pro.Quantity = 10;
|
pro.Name = 'CF-H170I1';
|
pro.ProductCode= 'N4480080';
|
pro.ProductModel= 'CF-H170I1';
|
pros.add(pro);
|
|
RecordType rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_GI'];
|
// List<RecordType> rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName IN ('Department_GI', 'Department_BF') order by DeveloperName desc];
|
|
RecordType rectCam =
|
[SELECT Id FROM RecordType
|
WHERE IsActive = true AND SobjectType = 'Campaign'
|
AND DeveloperName = 'ServiceEngineerTraining'];
|
Campaign cam = new Campaign();
|
cam.Name = 'cam';
|
cam.Name2__c = '1234';
|
cam.RecordTypeId = rectCam.Id;
|
cam.StartDate = Date.today().addDays(-15);
|
cam.EndDate = Date.today().addDays(18);
|
cam.Mailflg_after45__c = true;
|
cam.Mailflg_cancel__c = true;
|
cam.Mailflg_before15__c = true;
|
cam.Mailflg_before7__c = true;
|
cam.Mailflg_after3__c = true;
|
insert cam;
|
|
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 = [SELECT ID, Name FROM Account WHERE parentId = :hospital.Id AND recordType.DeveloperName = 'Department_Class_OTH'];
|
// 診療科を作る
|
Account acc = new Account();
|
acc.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_OTH'].id;
|
acc.Name = 'test dep';
|
acc.AgentCode_Ext__c = '9999998';
|
acc.ParentId = strategicDep[0].Id;
|
acc.Department_Class__c = strategicDep[0].Id;
|
acc.Hospital__c = hospital.Id;
|
insert acc;
|
|
Test.startTest();
|
Opportunity opp = new Opportunity(
|
Name='Opp',
|
StageName='出荷',
|
// Status_Formula_Option__c = '06 已发货',
|
CloseDate=Date.today().addDays(10),
|
Close_Forecasted_Date__c=Date.today(),
|
// Department_Class__c = strategicDep[0].Id,
|
CurrencyIsoCode = 'CNY'
|
);
|
insert opp;
|
// Quote q = new Quote(
|
// Name = 'quote',
|
// OpportunityId = opp.Id,
|
// Pricebook2Id = pricebookId
|
// );
|
// insert q;
|
|
// opp.Estimation_Id__c = q.Id;
|
|
Opportunity opp1 = new Opportunity(
|
Name='Opp',
|
StageName='引合',
|
AccountId = acc.Id,
|
Status_Formula_Option__c = '12 已签约',
|
CloseDate=Date.today().addDays(10),
|
Close_Forecasted_Date__c=Date.today(),
|
// RecordTypeId = oppRecord.Id,
|
// Department_Class__c = strategicDep[0].Id,
|
CurrencyIsoCode = 'CNY'
|
);
|
insert opp1;
|
|
|
Maintenance_Contract__c contract = new Maintenance_Contract__c();
|
contract.Name = 'tect contract';
|
contract.Hospital__c = hospital.Id;
|
contract.Department_Class__c = strategicDep[0].Id;
|
contract.Department__c = acc.Id;
|
contract.Service_Contract_Staff__c = UserInfo.getUserId();
|
contract.Payment_Plan_Sum_First__c = 1;
|
contract.Status__c = '契約満了';
|
contract.Maintenance_Contract_No__c = '11123';
|
contract.recordtypeId =
|
Schema.SObjectType.Maintenance_Contract__c.getRecordTypeInfosByDeveloperName().get('NewMaintenance_Contract').getRecordTypeId();
|
contract.Not_Upper_limit_reason__c = ' 1';
|
contract.Contract_Start_Date__c = Date.today().addDays(-5);
|
contract.Contract_End_Date__c = Date.today().addDays(5);
|
contract.SalesOfficeCode_selection__c = '北京RC';
|
contract.New_Contract_TypeF_Text__c = '续签合同';
|
contract.IF_Target_Renew__c='1';
|
contract.Contract_Conclusion_Date__c=Date.today().addDays(-5);
|
// system.assertEquals(contract.Contract_End_Date__c >= Date.newInstance(2021,10,1) && contract.Contract_End_Date__c <= Date.newInstance(2022,9,30),true);
|
insert contract;
|
|
NewMaintenanceReport_Task__c tempNMCT = new NewMaintenanceReport_Task__c();
|
tempNMCT.Name = 'FWreport-01';
|
tempNMCT.Distribution_Start_Date__c = Date.today().addDays(-30);
|
tempNMCT.Distribution_End_Date__c = Date.today().addMonths(2).addDays(-1);
|
tempNMCT.NewMaintenance_Contract__c = contract.Id;
|
tempNMCT.ActualDistributionTimes_Quarter__c = 0;
|
insert tempNMCT;
|
|
|
String jsonRecords = System.JSON.serialize(pros);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(70));
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(3));
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','');
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('AccountId',null);
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('AccountId','123456');
|
eventLineMap.put('IsOPDPlan',true);
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecordNull);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('AccountId','123456');
|
eventLineMap.put('IsOPDPlan',true);
|
eventLineMap.put('OpportunityId',null);
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('AccountId','123456');
|
eventLineMap.put('IsOPDPlan',true);
|
eventLineMap.put('OpportunityId',opp.Id);
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
Map<String, Object> saveEventMap = new Map<String, Object>();
|
|
saveEventMap.put('StartTime',Datetime.now().addDays(1));
|
saveEventMap.put('EndTime',Datetime.now().addDays(1));
|
saveEventMap.put('ActivityType2','病院');
|
saveEventMap.put('PurposeTypeFSE','招标对应');
|
saveEventMap.put('ActivityPurposeFSE','询价推进');
|
saveEventMap.put('NoOppReason','HCP对应');
|
saveEventMap.put('IsOPDPlan',true);
|
saveEventMap.put('AccountId',acc.Id);
|
saveEventMap.put('ContactId',null);
|
saveEventMap.put('OpportunityId',opp1.Id);
|
saveEventMap.put('ProjectId',null);
|
saveEventMap.put('ServiceId',contract.Id);
|
|
User LoginUser = [SELECT Id, Name, Job_Category__c FROM User WHERE Id = :UserInfo.getUserId()];
|
String saveEventRecords = JSON.serialize(saveEventMap);
|
|
LoginUser.Job_Category__c = '销售推广';
|
update LoginUser;
|
|
saveEventMap.put('AccountId',cam.Id);
|
saveEventRecords = JSON.serialize(saveEventMap);
|
|
saveEventMap.put('ActivityType2','病院');
|
saveEventMap.put('AccountId',acc.Id);
|
saveEventMap.put('OpportunityId',null);
|
saveEventRecords = JSON.serialize(saveEventMap);
|
saveEventMap.put('ActivityType2','販売店');
|
saveEventMap.put('AccountId',acc.Id);
|
saveEventRecords = JSON.serialize(saveEventMap);
|
saveEventMap.put('ActivityType2','社外イベント');
|
saveEventMap.put('AccountId',cam.Id);
|
saveEventRecords = JSON.serialize(saveEventMap);
|
|
saveEventMap.put('PurposeTypeFSE','合同季报');
|
|
saveEventRecords = JSON.serialize(saveEventMap);
|
saveEventMap.put('PurposeTypeFSE','合同点检');
|
|
saveEventRecords = JSON.serialize(saveEventMap);
|
|
List<ProLine> proLines = new List<ProLine>();
|
ProLine proLine1 = new ProLine();
|
// proLine1.Id = planRE.Id;
|
proLine1.Quantity = 10;
|
proLine1.Name = 'CF-H170I1';
|
proLine1.ProductCode= 'N4480080';
|
proLine1.ProductModel= '1001';
|
proLines.add(proLine1);
|
|
String reRecords = System.JSON.serialize(proLines);
|
|
// LoginUser.Job_Category__c = '销售服务';
|
// update LoginUser;
|
// lexCreateEventButton.saveEvent(saveEventRecords,jsonRecords);
|
Integer year = date.today().year();
|
Integer month = date.today().month();
|
Integer days = date.today().day();
|
|
|
List<Event> ecL=new List<Event>();
|
Event insertTarget = new Event();
|
insertTarget.Subject = 'test00';
|
insertTarget.StartDateTime = Datetime.now().adddays(5);
|
insertTarget.EndDateTime = Datetime.now().adddays(5).addMinutes(60);
|
insertTarget.Location = 'testLocation';
|
insertTarget.Activity_Type2__c = '病院';
|
insertTarget.OPDPlan_Flag__c = true ;
|
insertTarget.PlanProdDetail__c = 'CV-290*4; GI-290镜子*1; GI-290镜子CF*1;';
|
insertTarget.EventStatus__c = ' 02 接受';
|
insertTarget.whatid__c = acc.Id;
|
|
Event insertTarget2 = new Event();
|
insertTarget2.Subject = 'test00';
|
insertTarget2.StartDateTime = Datetime.now().adddays(5);
|
insertTarget2.EndDateTime = Datetime.now().adddays(5).addMinutes(60);
|
insertTarget2.Location = 'testLocation';
|
insertTarget2.Activity_Type2__c = '病院';
|
insertTarget2.OPDPlan_Flag__c = true ;
|
insertTarget2.PlanProdDetail__c = 'CV-290*4; GI-290镜子*1; GI-290镜子CF*1;';
|
insertTarget2.EventStatus__c = ' 04 取消';
|
insertTarget2.whatid__c = acc.Id;
|
|
Event insertTarget3 = new Event();
|
insertTarget3.Subject = 'test00';
|
insertTarget3.StartDateTime = Datetime.now().adddays(5);
|
insertTarget3.EndDateTime = Datetime.now().adddays(5).addMinutes(60);
|
insertTarget3.Location = 'testLocation';
|
insertTarget3.Activity_Type2__c = '病院';
|
insertTarget3.OPDPlan_Flag__c = true ;
|
insertTarget3.PlanProdDetail__c = 'CV-290*4; GI-290镜子*1; GI-290镜子CF*1;';
|
insertTarget3.EventStatus__c = ' 05 延期';
|
insertTarget3.whatid__c = acc.Id;
|
|
|
ecL.add(insertTarget);
|
ecL.add(insertTarget2);
|
ecL.add(insertTarget3);
|
insert ecL;
|
|
List<task__c> tasks = new List<task__c>();
|
task__c t1 = new task__c();
|
t1.Name = 'test1';
|
t1.taskDifferent__c = '主动任务';
|
t1.taskStatus__c = '02 接受';
|
t1.assignee__c = Userinfo.getUserId();
|
t1.Activity_Date__c = Date.newInstance(year, month,days);
|
tasks.add(t1);
|
task__c t2 = new task__c();
|
t2.Name = 'test2';
|
t2.taskDifferent__c = '主动任务';
|
t2.taskStatus__c = '02 接受';
|
t2.assignee__c = Userinfo.getUserId();
|
t2.Activity_Date__c = Date.newInstance(2021, 8, 17);
|
tasks.add(t2);
|
|
insert tasks;
|
|
String eventid = insertTarget.Id;
|
String taskId = t1.Id;
|
String accid = acc.Id;
|
String cid = cam.Id;
|
String oid = opp.Id;
|
String mid = contract.Id;
|
String source = 'AccountPCL';
|
|
eventid = '';
|
lexCreateEventButton.initEvent(eventid, taskId, accid, cid, oid, mid, source);
|
|
|
|
Test.stopTest();
|
}
|
catch (Exception e) {
|
System.debug('123');
|
}
|
|
}
|
static testMethod void init6() {
|
try {
|
Oly_TriggerHandler.bypass('ContactTriggerHandler');
|
Oly_TriggerHandler.bypass('PowerBIBaseHandler');
|
Oly_TriggerHandler.bypass('AgencyOppUpdHandler');
|
Oly_TriggerHandler.bypass('UpdateContractAimAmountHandler');
|
Oly_TriggerHandler.bypass('NFM701ControllerHandler');
|
StaticParameter.EscapeNFM001AgencyContractTrigger = true;
|
StaticParameter.EscapeContactToUser = true;
|
ControllerUtil.EscapeNFM001Trigger = true;
|
|
|
lexCreateEventButton.getNowDateTime();
|
lexCreateEventButton.getEndDateTime();
|
lexCreateEventButton.getUserJobCategory();
|
Map<String, Object> eventLineMap = new Map<String, Object>();
|
eventLineMap.put('StartTime',Datetime.now());
|
eventLineMap.put('EndTime',Datetime.now());
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('OpportunityId',null);
|
eventLineMap.put('ActivityPurposeFSE','信息收集');
|
eventLineMap.put('IsOPDPlan','true');
|
String jsonEvents = JSON.serialize(eventLineMap);
|
|
List<ProLine> pros = new List<ProLine>();
|
String jsonRecordNull = System.JSON.serialize(pros);
|
ProLine pro = new ProLine();
|
// pro.Id = planRE.Id;
|
pro.Quantity = 10;
|
pro.Name = 'CF-H170I1';
|
pro.ProductCode= 'N4480080';
|
pro.ProductModel= 'CF-H170I1';
|
pros.add(pro);
|
|
RecordType rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_GI'];
|
// List<RecordType> rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName IN ('Department_GI', 'Department_BF') order by DeveloperName desc];
|
|
RecordType rectCam =
|
[SELECT Id FROM RecordType
|
WHERE IsActive = true AND SobjectType = 'Campaign'
|
AND DeveloperName = 'ServiceEngineerTraining'];
|
Campaign cam = new Campaign();
|
cam.Name = 'cam';
|
cam.Name2__c = '1234';
|
cam.RecordTypeId = rectCam.Id;
|
cam.StartDate = Date.today().addDays(-15);
|
cam.EndDate = Date.today().addDays(18);
|
cam.Mailflg_after45__c = true;
|
cam.Mailflg_cancel__c = true;
|
cam.Mailflg_before15__c = true;
|
cam.Mailflg_before7__c = true;
|
cam.Mailflg_after3__c = true;
|
insert cam;
|
|
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 = [SELECT ID, Name FROM Account WHERE parentId = :hospital.Id AND recordType.DeveloperName = 'Department_Class_OTH'];
|
// 診療科を作る
|
Account acc = new Account();
|
acc.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_OTH'].id;
|
acc.Name = 'test dep';
|
acc.AgentCode_Ext__c = '9999998';
|
acc.ParentId = strategicDep[0].Id;
|
acc.Department_Class__c = strategicDep[0].Id;
|
acc.Hospital__c = hospital.Id;
|
insert acc;
|
|
Test.startTest();
|
Opportunity opp = new Opportunity(
|
Name='Opp',
|
StageName='出荷',
|
// Status_Formula_Option__c = '06 已发货',
|
CloseDate=Date.today().addDays(10),
|
Close_Forecasted_Date__c=Date.today(),
|
// Department_Class__c = strategicDep[0].Id,
|
CurrencyIsoCode = 'CNY'
|
);
|
insert opp;
|
// Quote q = new Quote(
|
// Name = 'quote',
|
// OpportunityId = opp.Id,
|
// Pricebook2Id = pricebookId
|
// );
|
// insert q;
|
|
// opp.Estimation_Id__c = q.Id;
|
|
Opportunity opp1 = new Opportunity(
|
Name='Opp',
|
StageName='引合',
|
AccountId = acc.Id,
|
Status_Formula_Option__c = '12 已签约',
|
CloseDate=Date.today().addDays(10),
|
Close_Forecasted_Date__c=Date.today(),
|
// RecordTypeId = oppRecord.Id,
|
// Department_Class__c = strategicDep[0].Id,
|
CurrencyIsoCode = 'CNY'
|
);
|
insert opp1;
|
|
|
Maintenance_Contract__c contract = new Maintenance_Contract__c();
|
contract.Name = 'tect contract';
|
contract.Hospital__c = hospital.Id;
|
contract.Department_Class__c = strategicDep[0].Id;
|
contract.Department__c = acc.Id;
|
contract.Service_Contract_Staff__c = UserInfo.getUserId();
|
contract.Payment_Plan_Sum_First__c = 1;
|
contract.Status__c = '契約満了';
|
contract.Maintenance_Contract_No__c = '11123';
|
contract.recordtypeId =
|
Schema.SObjectType.Maintenance_Contract__c.getRecordTypeInfosByDeveloperName().get('NewMaintenance_Contract').getRecordTypeId();
|
contract.Not_Upper_limit_reason__c = ' 1';
|
contract.Contract_Start_Date__c = Date.today().addDays(-5);
|
contract.Contract_End_Date__c = Date.today().addDays(5);
|
contract.SalesOfficeCode_selection__c = '北京RC';
|
contract.New_Contract_TypeF_Text__c = '续签合同';
|
contract.IF_Target_Renew__c='1';
|
contract.Contract_Conclusion_Date__c=Date.today().addDays(-5);
|
// system.assertEquals(contract.Contract_End_Date__c >= Date.newInstance(2021,10,1) && contract.Contract_End_Date__c <= Date.newInstance(2022,9,30),true);
|
insert contract;
|
|
NewMaintenanceReport_Task__c tempNMCT = new NewMaintenanceReport_Task__c();
|
tempNMCT.Name = 'FWreport-01';
|
tempNMCT.Distribution_Start_Date__c = Date.today().addDays(-30);
|
tempNMCT.Distribution_End_Date__c = Date.today().addMonths(2).addDays(-1);
|
tempNMCT.NewMaintenance_Contract__c = contract.Id;
|
tempNMCT.ActualDistributionTimes_Quarter__c = 0;
|
insert tempNMCT;
|
|
|
String jsonRecords = System.JSON.serialize(pros);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(70));
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(3));
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','');
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('AccountId',null);
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('AccountId','123456');
|
eventLineMap.put('IsOPDPlan',true);
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecordNull);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('AccountId','123456');
|
eventLineMap.put('IsOPDPlan',true);
|
eventLineMap.put('OpportunityId',null);
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('AccountId','123456');
|
eventLineMap.put('IsOPDPlan',true);
|
eventLineMap.put('OpportunityId',opp.Id);
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
Map<String, Object> saveEventMap = new Map<String, Object>();
|
|
saveEventMap.put('StartTime',Datetime.now().addDays(1));
|
saveEventMap.put('EndTime',Datetime.now().addDays(1));
|
saveEventMap.put('ActivityType2','病院');
|
saveEventMap.put('PurposeTypeFSE','招标对应');
|
saveEventMap.put('ActivityPurposeFSE','询价推进');
|
saveEventMap.put('NoOppReason','HCP对应');
|
saveEventMap.put('IsOPDPlan',true);
|
saveEventMap.put('AccountId',acc.Id);
|
saveEventMap.put('ContactId',null);
|
saveEventMap.put('OpportunityId',opp1.Id);
|
saveEventMap.put('ProjectId',null);
|
saveEventMap.put('ServiceId',contract.Id);
|
|
User LoginUser = [SELECT Id, Name, Job_Category__c FROM User WHERE Id = :UserInfo.getUserId()];
|
String saveEventRecords = JSON.serialize(saveEventMap);
|
|
LoginUser.Job_Category__c = '销售推广';
|
update LoginUser;
|
|
saveEventMap.put('AccountId',cam.Id);
|
saveEventRecords = JSON.serialize(saveEventMap);
|
|
saveEventMap.put('ActivityType2','病院');
|
saveEventMap.put('AccountId',acc.Id);
|
saveEventMap.put('OpportunityId',null);
|
saveEventRecords = JSON.serialize(saveEventMap);
|
saveEventMap.put('ActivityType2','販売店');
|
saveEventMap.put('AccountId',acc.Id);
|
saveEventRecords = JSON.serialize(saveEventMap);
|
saveEventMap.put('ActivityType2','社外イベント');
|
saveEventMap.put('AccountId',cam.Id);
|
saveEventRecords = JSON.serialize(saveEventMap);
|
|
saveEventMap.put('PurposeTypeFSE','合同季报');
|
|
saveEventRecords = JSON.serialize(saveEventMap);
|
saveEventMap.put('PurposeTypeFSE','合同点检');
|
|
saveEventRecords = JSON.serialize(saveEventMap);
|
|
List<ProLine> proLines = new List<ProLine>();
|
ProLine proLine1 = new ProLine();
|
// proLine1.Id = planRE.Id;
|
proLine1.Quantity = 10;
|
proLine1.Name = 'CF-H170I1';
|
proLine1.ProductCode= 'N4480080';
|
proLine1.ProductModel= '1001';
|
proLines.add(proLine1);
|
|
String reRecords = System.JSON.serialize(proLines);
|
|
// LoginUser.Job_Category__c = '销售服务';
|
// update LoginUser;
|
// lexCreateEventButton.saveEvent(saveEventRecords,jsonRecords);
|
Integer year = date.today().year();
|
Integer month = date.today().month();
|
Integer days = date.today().day();
|
|
|
List<Event> ecL=new List<Event>();
|
Event insertTarget = new Event();
|
insertTarget.Subject = 'test00';
|
insertTarget.StartDateTime = Datetime.now().adddays(5);
|
insertTarget.EndDateTime = Datetime.now().adddays(5).addMinutes(60);
|
insertTarget.Location = 'testLocation';
|
insertTarget.Activity_Type2__c = '病院';
|
insertTarget.OPDPlan_Flag__c = true ;
|
insertTarget.PlanProdDetail__c = 'CV-290*4; GI-290镜子*1; GI-290镜子CF*1;';
|
insertTarget.EventStatus__c = ' 02 接受';
|
insertTarget.whatid__c = acc.Id;
|
|
Event insertTarget2 = new Event();
|
insertTarget2.Subject = 'test00';
|
insertTarget2.StartDateTime = Datetime.now().adddays(5);
|
insertTarget2.EndDateTime = Datetime.now().adddays(5).addMinutes(60);
|
insertTarget2.Location = 'testLocation';
|
insertTarget2.Activity_Type2__c = '病院';
|
insertTarget2.OPDPlan_Flag__c = true ;
|
insertTarget2.PlanProdDetail__c = 'CV-290*4; GI-290镜子*1; GI-290镜子CF*1;';
|
insertTarget2.EventStatus__c = ' 04 取消';
|
insertTarget2.whatid__c = acc.Id;
|
|
Event insertTarget3 = new Event();
|
insertTarget3.Subject = 'test00';
|
insertTarget3.StartDateTime = Datetime.now().adddays(5);
|
insertTarget3.EndDateTime = Datetime.now().adddays(5).addMinutes(60);
|
insertTarget3.Location = 'testLocation';
|
insertTarget3.Activity_Type2__c = '病院';
|
insertTarget3.OPDPlan_Flag__c = true ;
|
insertTarget3.PlanProdDetail__c = 'CV-290*4; GI-290镜子*1; GI-290镜子CF*1;';
|
insertTarget3.EventStatus__c = ' 05 延期';
|
insertTarget3.whatid__c = acc.Id;
|
|
|
ecL.add(insertTarget);
|
ecL.add(insertTarget2);
|
ecL.add(insertTarget3);
|
insert ecL;
|
|
List<task__c> tasks = new List<task__c>();
|
task__c t1 = new task__c();
|
t1.Name = 'test1';
|
t1.taskDifferent__c = '主动任务';
|
t1.taskStatus__c = '02 接受';
|
t1.assignee__c = Userinfo.getUserId();
|
t1.Activity_Date__c = Date.newInstance(year, month,days);
|
tasks.add(t1);
|
task__c t2 = new task__c();
|
t2.Name = 'test2';
|
t2.taskDifferent__c = '主动任务';
|
t2.taskStatus__c = '02 接受';
|
t2.assignee__c = Userinfo.getUserId();
|
t2.Activity_Date__c = Date.newInstance(2021, 8, 17);
|
tasks.add(t2);
|
|
insert tasks;
|
|
String eventid = insertTarget.Id;
|
String taskId = t1.Id;
|
String accid = acc.Id;
|
String cid = cam.Id;
|
String oid = opp.Id;
|
String mid = contract.Id;
|
String source = 'AccountPCL';
|
|
eventid = '';
|
taskId = '';
|
lexCreateEventButton.initEvent(eventid, taskId, accid, cid, oid, mid, source);
|
|
|
Test.stopTest();
|
}
|
catch (Exception e) {
|
System.debug('123');
|
}
|
|
}
|
static testMethod void init8() {
|
try {
|
Oly_TriggerHandler.bypass('ContactTriggerHandler');
|
Oly_TriggerHandler.bypass('PowerBIBaseHandler');
|
Oly_TriggerHandler.bypass('AgencyOppUpdHandler');
|
Oly_TriggerHandler.bypass('UpdateContractAimAmountHandler');
|
Oly_TriggerHandler.bypass('NFM701ControllerHandler');
|
StaticParameter.EscapeNFM001AgencyContractTrigger = true;
|
StaticParameter.EscapeContactToUser = true;
|
ControllerUtil.EscapeNFM001Trigger = true;
|
|
|
lexCreateEventButton.getNowDateTime();
|
lexCreateEventButton.getEndDateTime();
|
lexCreateEventButton.getUserJobCategory();
|
Map<String, Object> eventLineMap = new Map<String, Object>();
|
eventLineMap.put('StartTime',Datetime.now());
|
eventLineMap.put('EndTime',Datetime.now());
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('OpportunityId',null);
|
eventLineMap.put('ActivityPurposeFSE','信息收集');
|
eventLineMap.put('IsOPDPlan','true');
|
String jsonEvents = JSON.serialize(eventLineMap);
|
|
List<ProLine> pros = new List<ProLine>();
|
String jsonRecordNull = System.JSON.serialize(pros);
|
ProLine pro = new ProLine();
|
// pro.Id = planRE.Id;
|
pro.Quantity = 10;
|
pro.Name = 'CF-H170I1';
|
pro.ProductCode= 'N4480080';
|
pro.ProductModel= 'CF-H170I1';
|
pros.add(pro);
|
|
RecordType rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_GI'];
|
// List<RecordType> rectDpt = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and DeveloperName IN ('Department_GI', 'Department_BF') order by DeveloperName desc];
|
|
RecordType rectCam =
|
[SELECT Id FROM RecordType
|
WHERE IsActive = true AND SobjectType = 'Campaign'
|
AND DeveloperName = 'ServiceEngineerTraining'];
|
Campaign cam = new Campaign();
|
cam.Name = 'cam';
|
cam.Name2__c = '1234';
|
cam.RecordTypeId = rectCam.Id;
|
cam.StartDate = Date.today().addDays(-15);
|
cam.EndDate = Date.today().addDays(18);
|
cam.Mailflg_after45__c = true;
|
cam.Mailflg_cancel__c = true;
|
cam.Mailflg_before15__c = true;
|
cam.Mailflg_before7__c = true;
|
cam.Mailflg_after3__c = true;
|
insert cam;
|
|
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 = [SELECT ID, Name FROM Account WHERE parentId = :hospital.Id AND recordType.DeveloperName = 'Department_Class_OTH'];
|
// 診療科を作る
|
Account acc = new Account();
|
acc.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'Department_OTH'].id;
|
acc.Name = 'test dep';
|
acc.AgentCode_Ext__c = '9999998';
|
acc.ParentId = strategicDep[0].Id;
|
acc.Department_Class__c = strategicDep[0].Id;
|
acc.Hospital__c = hospital.Id;
|
insert acc;
|
|
Test.startTest();
|
Opportunity opp = new Opportunity(
|
Name='Opp',
|
StageName='出荷',
|
// Status_Formula_Option__c = '06 已发货',
|
CloseDate=Date.today().addDays(10),
|
Close_Forecasted_Date__c=Date.today(),
|
// Department_Class__c = strategicDep[0].Id,
|
CurrencyIsoCode = 'CNY'
|
);
|
insert opp;
|
// Quote q = new Quote(
|
// Name = 'quote',
|
// OpportunityId = opp.Id,
|
// Pricebook2Id = pricebookId
|
// );
|
// insert q;
|
|
// opp.Estimation_Id__c = q.Id;
|
|
Opportunity opp1 = new Opportunity(
|
Name='Opp',
|
StageName='引合',
|
AccountId = acc.Id,
|
Status_Formula_Option__c = '12 已签约',
|
CloseDate=Date.today().addDays(10),
|
Close_Forecasted_Date__c=Date.today(),
|
// RecordTypeId = oppRecord.Id,
|
// Department_Class__c = strategicDep[0].Id,
|
CurrencyIsoCode = 'CNY'
|
);
|
insert opp1;
|
|
|
Maintenance_Contract__c contract = new Maintenance_Contract__c();
|
contract.Name = 'tect contract';
|
contract.Hospital__c = hospital.Id;
|
contract.Department_Class__c = strategicDep[0].Id;
|
contract.Department__c = acc.Id;
|
contract.Service_Contract_Staff__c = UserInfo.getUserId();
|
contract.Payment_Plan_Sum_First__c = 1;
|
contract.Status__c = '契約満了';
|
contract.Maintenance_Contract_No__c = '11123';
|
contract.recordtypeId =
|
Schema.SObjectType.Maintenance_Contract__c.getRecordTypeInfosByDeveloperName().get('NewMaintenance_Contract').getRecordTypeId();
|
contract.Not_Upper_limit_reason__c = ' 1';
|
contract.Contract_Start_Date__c = Date.today().addDays(-5);
|
contract.Contract_End_Date__c = Date.today().addDays(5);
|
contract.SalesOfficeCode_selection__c = '北京RC';
|
contract.New_Contract_TypeF_Text__c = '续签合同';
|
contract.IF_Target_Renew__c='1';
|
contract.Contract_Conclusion_Date__c=Date.today().addDays(-5);
|
// system.assertEquals(contract.Contract_End_Date__c >= Date.newInstance(2021,10,1) && contract.Contract_End_Date__c <= Date.newInstance(2022,9,30),true);
|
insert contract;
|
|
NewMaintenanceReport_Task__c tempNMCT = new NewMaintenanceReport_Task__c();
|
tempNMCT.Name = 'FWreport-01';
|
tempNMCT.Distribution_Start_Date__c = Date.today().addDays(-30);
|
tempNMCT.Distribution_End_Date__c = Date.today().addMonths(2).addDays(-1);
|
tempNMCT.NewMaintenance_Contract__c = contract.Id;
|
tempNMCT.ActualDistributionTimes_Quarter__c = 0;
|
insert tempNMCT;
|
|
|
String jsonRecords = System.JSON.serialize(pros);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(70));
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(3));
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','');
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('AccountId',null);
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('AccountId','123456');
|
eventLineMap.put('IsOPDPlan',true);
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecordNull);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('AccountId','123456');
|
eventLineMap.put('IsOPDPlan',true);
|
eventLineMap.put('OpportunityId',null);
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
eventLineMap.put('StartTime',Datetime.now().addDays(1));
|
eventLineMap.put('EndTime',Datetime.now().addDays(1));
|
eventLineMap.put('ActivityType2','病院');
|
eventLineMap.put('AccountId','123456');
|
eventLineMap.put('IsOPDPlan',true);
|
eventLineMap.put('OpportunityId',opp.Id);
|
jsonEvents = JSON.serialize(eventLineMap);
|
lexCreateEventButton.saveLogic(jsonEvents,jsonRecords);
|
|
Map<String, Object> saveEventMap = new Map<String, Object>();
|
|
saveEventMap.put('StartTime',Datetime.now().addDays(1));
|
saveEventMap.put('EndTime',Datetime.now().addDays(1));
|
saveEventMap.put('ActivityType2','病院');
|
saveEventMap.put('PurposeTypeFSE','招标对应');
|
saveEventMap.put('ActivityPurposeFSE','询价推进');
|
saveEventMap.put('NoOppReason','HCP对应');
|
saveEventMap.put('IsOPDPlan',true);
|
saveEventMap.put('AccountId',acc.Id);
|
saveEventMap.put('ContactId',null);
|
saveEventMap.put('OpportunityId',opp1.Id);
|
saveEventMap.put('ProjectId',null);
|
saveEventMap.put('ServiceId',contract.Id);
|
|
User LoginUser = [SELECT Id, Name, Job_Category__c FROM User WHERE Id = :UserInfo.getUserId()];
|
String saveEventRecords = JSON.serialize(saveEventMap);
|
|
LoginUser.Job_Category__c = '销售推广';
|
update LoginUser;
|
|
saveEventMap.put('AccountId',cam.Id);
|
saveEventRecords = JSON.serialize(saveEventMap);
|
|
saveEventMap.put('ActivityType2','病院');
|
saveEventMap.put('AccountId',acc.Id);
|
saveEventMap.put('OpportunityId',null);
|
saveEventRecords = JSON.serialize(saveEventMap);
|
saveEventMap.put('ActivityType2','販売店');
|
saveEventMap.put('AccountId',acc.Id);
|
saveEventRecords = JSON.serialize(saveEventMap);
|
saveEventMap.put('ActivityType2','社外イベント');
|
saveEventMap.put('AccountId',cam.Id);
|
saveEventRecords = JSON.serialize(saveEventMap);
|
|
saveEventMap.put('PurposeTypeFSE','合同季报');
|
|
saveEventRecords = JSON.serialize(saveEventMap);
|
saveEventMap.put('PurposeTypeFSE','合同点检');
|
|
saveEventRecords = JSON.serialize(saveEventMap);
|
|
List<ProLine> proLines = new List<ProLine>();
|
ProLine proLine1 = new ProLine();
|
// proLine1.Id = planRE.Id;
|
proLine1.Quantity = 10;
|
proLine1.Name = 'CF-H170I1';
|
proLine1.ProductCode= 'N4480080';
|
proLine1.ProductModel= '1001';
|
proLines.add(proLine1);
|
|
String reRecords = System.JSON.serialize(proLines);
|
|
// LoginUser.Job_Category__c = '销售服务';
|
// update LoginUser;
|
// lexCreateEventButton.saveEvent(saveEventRecords,jsonRecords);
|
Integer year = date.today().year();
|
Integer month = date.today().month();
|
Integer days = date.today().day();
|
|
|
List<Event> ecL=new List<Event>();
|
Event insertTarget = new Event();
|
insertTarget.Subject = 'test00';
|
insertTarget.StartDateTime = Datetime.now().adddays(5);
|
insertTarget.EndDateTime = Datetime.now().adddays(5).addMinutes(60);
|
insertTarget.Location = 'testLocation';
|
insertTarget.Activity_Type2__c = '病院';
|
insertTarget.OPDPlan_Flag__c = true ;
|
insertTarget.PlanProdDetail__c = 'CV-290*4; GI-290镜子*1; GI-290镜子CF*1;';
|
insertTarget.EventStatus__c = ' 02 接受';
|
insertTarget.whatid__c = acc.Id;
|
|
Event insertTarget2 = new Event();
|
insertTarget2.Subject = 'test00';
|
insertTarget2.StartDateTime = Datetime.now().adddays(5);
|
insertTarget2.EndDateTime = Datetime.now().adddays(5).addMinutes(60);
|
insertTarget2.Location = 'testLocation';
|
insertTarget2.Activity_Type2__c = '病院';
|
insertTarget2.OPDPlan_Flag__c = true ;
|
insertTarget2.PlanProdDetail__c = 'CV-290*4; GI-290镜子*1; GI-290镜子CF*1;';
|
insertTarget2.EventStatus__c = ' 04 取消';
|
insertTarget2.whatid__c = acc.Id;
|
|
Event insertTarget3 = new Event();
|
insertTarget3.Subject = 'test00';
|
insertTarget3.StartDateTime = Datetime.now().adddays(5);
|
insertTarget3.EndDateTime = Datetime.now().adddays(5).addMinutes(60);
|
insertTarget3.Location = 'testLocation';
|
insertTarget3.Activity_Type2__c = '病院';
|
insertTarget3.OPDPlan_Flag__c = true ;
|
insertTarget3.PlanProdDetail__c = 'CV-290*4; GI-290镜子*1; GI-290镜子CF*1;';
|
insertTarget3.EventStatus__c = ' 05 延期';
|
insertTarget3.whatid__c = acc.Id;
|
|
|
ecL.add(insertTarget);
|
ecL.add(insertTarget2);
|
ecL.add(insertTarget3);
|
insert ecL;
|
|
List<task__c> tasks = new List<task__c>();
|
task__c t1 = new task__c();
|
t1.Name = 'test1';
|
t1.taskDifferent__c = '主动任务';
|
t1.taskStatus__c = '02 接受';
|
t1.assignee__c = Userinfo.getUserId();
|
t1.Activity_Date__c = Date.newInstance(year, month,days);
|
tasks.add(t1);
|
task__c t2 = new task__c();
|
t2.Name = 'test2';
|
t2.taskDifferent__c = '主动任务';
|
t2.taskStatus__c = '02 接受';
|
t2.assignee__c = Userinfo.getUserId();
|
t2.Activity_Date__c = Date.newInstance(2021, 8, 17);
|
tasks.add(t2);
|
|
insert tasks;
|
|
String eventid = insertTarget.Id;
|
String taskId = t1.Id;
|
String accid = acc.Id;
|
String cid = cam.Id;
|
String oid = opp.Id;
|
String mid = contract.Id;
|
String source = 'AccountPCL';
|
|
lexCreateEventButton.createCancelPostponePlan_Advance(insertTarget);
|
|
Test.stopTest();
|
}
|
catch (Exception e) {
|
System.debug('123');
|
}
|
|
}
|
|
static testMethod void init0() {
|
lexCreateEventButton.runiplus();
|
}
|
|
|
public class ProLine {
|
@AuraEnabled
|
public Id Id { get; set; }
|
@AuraEnabled
|
public Id QuoteId { get; set; }
|
@AuraEnabled
|
public Integer Quantity { get; set; }
|
@AuraEnabled
|
public String Name { get; set; }
|
@AuraEnabled
|
public String ProductCode { get; set; }
|
@AuraEnabled
|
public String ProductModel { get; set; }
|
@AuraEnabled
|
public String QuoteNo { get; set; }
|
@AuraEnabled
|
public String FixtureModel { get; set; }
|
}
|
}
|