@isTest
|
private class IDInformationAnalyseAssetControllerTest {
|
Static String HospitalName;
|
Static String HospitalID;
|
Static List<Asset> Assetss;
|
|
static void setupTestData() {
|
Oly_TriggerHandler.bypass('ContactTriggerHandler');
|
ControllerUtil.EscapeNFM001Trigger = true;
|
// 省
|
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;
|
HospitalName = hospital.Name;
|
HospitalID = hospital.Id;
|
System.debug('111111111111111111111111111医院编码'+HospitalID);
|
|
// 戦略科室を得る
|
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 = '9999998';
|
dep.ParentId = strategicDep[0].Id;
|
dep.Department_Class__c = strategicDep[0].Id;
|
dep.Hospital__c = hospital.Id;
|
insert dep;
|
|
Contact contact2 = new Contact();
|
contact2.AccountId = dep.Id;
|
// contact2.FirstName = '責任者';
|
contact2.LastName = 'test1经销商';
|
insert contact2;
|
|
// 产品
|
Product2 pro5 = new Product2(Name='name05',IsActive=true,Family='SP',
|
Fixture_Model_No__c='n05',Serial_Lot_No__c='S/N tracing',
|
Fixture_Model_No_T__c = 'n05',
|
Asset_Model_No__c = 'CF-H260AI',
|
ProductCode_Ext__c='pc05',Manual_Entry__c=false,Can_Repair__c='可');
|
insert pro5;
|
// 保有设备
|
Asset assetC1 = new Asset(Asset_Owner__c = 'Olympus');
|
assetC1.RecordTypeId = System.Label.Asset_RecordType;
|
assetC1.SerialNumber = 'assetC1';
|
assetC1.Name = 'assetC1';
|
assetC1.AccountId = dep.Id;
|
assetC1.Department_Class__c = strategicDep[0].Id;
|
assetC1.Hospital__c = hospital.Id;
|
assetC1.Product2Id = pro5.Id;
|
assetC1.Quantity = 1;
|
assetC1.Status = '有库存';
|
assetC1.Manage_type__c = '个体管理';
|
assetC1.Internal_asset_location__c = '北京 备品中心';
|
assetC1.Loaner_accsessary__c = true;
|
assetC1.Delete_Flag__c = false;
|
assetC1.Freeze_sign__c = false;
|
assetC1.Out_of_wh__c = 0;
|
assetC1.Status = '使用中';
|
// 保有设备
|
Asset asset = new Asset(Asset_Owner__c = 'Olympus');
|
asset.RecordTypeId = System.Label.Asset_RecordType;
|
asset.SerialNumber = 'asset';
|
asset.Name = 'asset';
|
asset.AccountId = dep.Id;
|
asset.Department_Class__c = strategicDep[0].Id;
|
asset.Hospital__c = hospital.Id;
|
asset.Product2Id = pro5.Id;
|
asset.Quantity = 1;
|
asset.Status = '有库存';
|
asset.Manage_type__c = '个体管理';
|
asset.Internal_asset_location__c = '北京 备品中心';
|
asset.Loaner_accsessary__c = true;
|
asset.Delete_Flag__c = false;
|
asset.Freeze_sign__c = false;
|
asset.Out_of_wh__c = 0;
|
asset.Status = '使用中';
|
insert new Asset[] {assetC1, asset};
|
Assetss = new Asset[] {assetC1, asset};
|
|
Repair__c repairObj1 = new Repair__c();
|
repairObj1.Delivered_Product__c = Assetss[0].Id;
|
repairObj1.Hospital__c = hospital.Id;
|
repairObj1.Department_Class__c = strategicDep[0].Id;
|
repairObj1.Account__c = dep.Id;
|
repairObj1.SalesOfficeCode_selection__c = '北京石景山';
|
repairObj1.On_site_repair__c = 'RC修理';
|
repairObj1.Failure_Occurrence_Date__c = Date.today();
|
repairObj1.Repair_Rank__c = 'A';
|
|
Oly_TriggerHandler.clearAllBypasses();
|
insert new Repair__c[]{repairObj1};
|
Repair__c r = [SELECT ID, Status__c,Repair_Severity_Rank__c,createddate,Delivered_Product__r.Product2.Asset_Model_No__c,Hospital__r.Name,Hospital__r.Parent_Management_Code__c From Repair__c Where Id = :repairObj1.Id];
|
|
|
}
|
static testMethod void testMethod1() {
|
setupTestData();
|
IDInformationAnalyseAssetController conTest = new IDInformationAnalyseAssetController();
|
conTest.init();
|
conTest.AssetModel = 'CF-H260AI';
|
conTest.HospitalName = HospitalName;
|
conTest.YearRange = '3';
|
|
conTest.hospitalCount();
|
|
IDInformationAnalyseHospitalController conTest2 = new IDInformationAnalyseHospitalController();
|
conTest2.init();
|
conTest2.AccountID = HospitalID;
|
conTest2.AssetModel = 'CF-H260AI';
|
conTest2.YearRange = '3';
|
|
conTest2.hospitalCount();
|
}
|
}
|