@isTest
|
public with sharing class Consumable7daysBatchTest {
|
static Account company; //医院
|
static Account section1; //科室ET
|
static Account agent; //经销商
|
static Account contact; //契约
|
static Account olympus; //Olympus社内 其他 经销商资产
|
static void initHpData() {
|
RecordType rectagent = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
|
RecordType rectContract = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '契約'];
|
RecordType rect9900 = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '診療科 その他'];
|
RecordType rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院'];
|
RecordType rectDpt1 = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '戦略科室分類ET'];
|
//RecordType rectDpt2 = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '診療科 消化科'];
|
company = new Account(RecordTypeId = rectCo.Id, Name = 'NFM110TestCompany');
|
olympus = new Account(RecordTypeId = rectCo.Id, AgentCode_Ext__c = '9999900', Name = 'olympus');
|
insert new Account[] {company, olympus};
|
company = [select Management_Code__c, Management_Code_Auto__c, Name, Id from Account where Id =:company.Id];
|
section1 = [select Management_Code__c, Management_Code_Auto__c, Name, Id, Department_Class_Label__c from Account where ParentId =:company.Id and RecordType.name = '戦略科室分類ET'];
|
//
|
agent = new Account(name='Testaccount001',
|
Dealer_discount__c =20,
|
Ban_On_Use_Date__c = Date.today().addDays(1),
|
Business_Paper_Expiration_Date__c = Date.today().addDays(1),
|
Tax_Practice_Expiration_Date__c = Date.today().addDays(1),
|
Medical_Equipment_Expiration_Date__c = Date.today().addDays(1),
|
RecordTypeId = rectagent.Id);
|
insert agent;
|
//经销商有效合同
|
contact = new Account(name='Testaccount002',
|
RecordTypeId = rectContract.Id,
|
Contract_Decide_Start_Date__c = Date.today().addDays(-1),
|
Contract_Decide_End_Date__c =Date.today().addDays(1),
|
Contract_Start_Date__c = Date.today().addDays(-1),
|
Contract_End_Date__c =Date.today().addDays(1),
|
Agent_Ref__c =agent.Id,
|
ET_SP_Dealer__c = true,
|
ParentId =agent.Id);
|
insert contact;
|
}
|
|
@isTest
|
static void TestOne(){
|
initHpData();
|
//产品信息
|
StaticParameter.EscapeConsumableOrderDetail2Trigger = true;
|
Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c=12, Manual_Entry__c = false);
|
insert new Product2[]{prod01};
|
Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='Test001',Product2__c = prod01.Id);
|
insert new Product2__c[] {pro1};
|
//订单
|
Consumable_order__c Order1 = new Consumable_order__c();
|
Order1.Name = 'OCM_01_001';
|
Order1.Order_status__c = '批准';
|
Order1.Order_type__c = '订单';
|
Order1.Dealer_Info__c = agent.Id;
|
Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
|
Order1.Total_num__c = 3;
|
Order1.OrderNumber_arrived__c =1;
|
Order1.Delivery_detail_count__c=1;
|
Order1.Order_ProType__c = 'ET';
|
insert Order1;
|
|
//经销商到货单
|
|
Consumable_order__c arriveOrder = new Consumable_order__c();
|
arriveOrder.Name = 'testArrive';
|
arriveOrder.Order_status__c = '批准';
|
arriveOrder.Deliver_date__c = Date.today();
|
arriveOrder.Dealer_Info__c = agent.Id;
|
arriveOrder.RecordTypeid = System.Label.RT_ConOrder_Arrive;
|
insert arriveOrder;
|
|
//fahuo
|
Consumable_order_details2__c saledet1 = new Consumable_order_details2__c();
|
saledet1.Name = 'OCM_01_001001';
|
saledet1.Consumable_order_minor__c = Order1.Id;
|
saledet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
|
saledet1.Bar_Code__c = '0114953170032070111804001082K250BBBBB';
|
saledet1.Consumable_Product__c = pro1.Id;
|
saledet1.Used_account__c = contact.Id;
|
saledet1.Delivery_List_RMB__c = 11;
|
saledet1.Box_Piece__c = '盒';
|
saledet1.TracingCode__c = 'BBBBB';
|
saledet1.SerialLotNo__c = '82K';
|
saledet1.Guarantee_period_for_products__c = Date.today().addDays(5);
|
saledet1.Sterilization_limit__c = Date.today().addDays(5);
|
saledet1.Send_Date__c = null;
|
//saledet1.Dealer_Shipment__c = false;
|
saledet1.Arrive_date__c = null;
|
//saledet1.Dealer_Arrive__c = false;
|
saledet1.Used_date__c = null;
|
//saledet1.Dealer_Saled__c = false;
|
saledet1.Deliver_date__c = Date.today().addDays(-10);
|
insert saledet1;
|
|
asset ast = new asset();
|
ast.Name =
|
ast.Name = prod01.Name;
|
ast.Product2Id = prod01.Id;
|
ast.SerialNumber = saledet1.SerialLotNo__c + '(' + saledet1.TracingCode__c + ')';
|
ast.SLMark__c = 'Serial Number'; // 固定 dnInfo.SorLMark;
|
ast.Guarantee_period_for_products__c = saledet1.Guarantee_period_for_products__c;
|
ast.TracingCode__c = saledet1.TracingCode__c;
|
ast.Guaranteen_end__c = saledet1.Sterilization_limit__c;
|
ast.Barcode__c = saledet1.Bar_Code__c;
|
ast.Product_Serial_No__c = pro1.OT_CODE_Text__c + ':' + saledet1.SerialLotNo__c + '(' + saledet1.TracingCode__c + ')';
|
ast.Asset_Owner__c = '经销商资产';
|
ast.AccountId = olympus.Id;
|
ast.Department_Class__c = contact.Id;
|
ast.Asset_owner_delaer_name__c = agent.Id;
|
ast.Hospital__c = agent.Id;
|
|
insert ast;
|
|
Database.executeBatch(new Consumable7daysBatch(), 1);
|
|
}
|
}
|