@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); } }