public with sharing class CreateDataCommon { //调用共通类的方法,可以创建医院、战略科室、科室、经销商、契约 //医院 public Account CreateHp(){ Account hospital = new Account(); Id hpRecordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('HP').getRecordTypeId(); //hospital.recordtypeId = [Select Id FROM RecordType WHERE IsActive = true and SobjectType = 'Account' and DeveloperName = 'HP'].id; hospital.recordtypeId = hpRecordTypeId; hospital.Name = '20220110testHospital'; 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.Assume_Change__c = true; insert hospital; return hospital; } //战略科室 public Account CreateStrategicDep(Account hospital){ //Department_Class_OTH 戦略科室分類 その他 // Account sdep = new Account(); // Id sdepRecordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Department_Class_OTH').getRecordTypeId(); // sdep.recordtypeId = sdepRecordTypeId; // sdep.Name = '20220113Test 其他'; // sdep.Department_Class_Label__c = '其他'; // sdep.parentId = hospital.Id; // insert sdep; // return sdep; Account sdep = [SELECT ID, Name FROM Account WHERE parentId = :hospital.Id AND recordType.DeveloperName = 'Department_Class_OTH']; return sdep; } //科室(医院 -- 战略科室 -- 科室) public Account CreateDepartment(Account hospital,Account sdep){ //Department_OTH 診療科 その他 Account dep = new Account(); dep.parentId = sdep.Id; Id depRecordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Department_OTH').getRecordTypeId(); dep.recordtypeId = depRecordTypeId; dep.Name = '其他'; dep.Department_Class__c = sdep.Id; dep.Department_Name__c = '20220113Test 其他 其他'; dep.Hospital__c = hospital.Id; insert dep; return dep; } //经销商 public Account CreateDealer(){ Account acc = new Account(); Id accRecordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Agency').getRecordTypeId(); acc.recordtypeId = accRecordTypeId; //acc.Dealer_discount__c =20; acc.name='20220113TestAcc'; insert acc; return acc; } //契约(经销商合同) public Account CreateContract(Account acc){ Account con = new Account(); Id conRecordTypeId = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('AgencyContract').getRecordTypeId(); con.name='20220113TestCon'; con.RecordTypeId = conRecordTypeId; con.Contract_Decide_Start_Date__c = Date.today().addDays(-1); con.Contract_Decide_End_Date__c =Date.today().addDays(1); con.Agent_Ref__c = acc.Id; con.ParentId = acc.Id; //con.ET_SP_Dealer__c = true; insert con; return con; } }