@istest public class LexConsumableControllerTest { @IsTest static void ConsumableOrdertest1() { user MyUser_Test; Account myAccount1; Account contract; User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()]; NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true); insert n; System.runAs(thisUser) { Profile prof1 = [SELECT Id FROM Profile WHERE Name = '901_经销商社区普通权限_2重验证(ET)']; List rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店']; List rectCo1 = [ SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND DeveloperName = 'AgencyContract' ]; if (rectCo.size() == 0) { return; } StaticParameter.EscapeConsumableOrderDetail2Trigger = true; myAccount1 = new Account( name = 'Testaccount001', Dealer_discount__c = 10, RecordTypeId = rectCo[0].Id, AgentCode_Ext__c = '8888888', Product_Limit_Date__c = 'Test07|3|100,Test08|10|50' ); insert myAccount1; contract = new Account( RecordTypeId = rectCo1[0].Id, Name = 'contractName', ParentId = myAccount1.id, Agent_Ref__c = myAccount1.id, Contract_Department_Class__c = 'ET', Contract_Decide_Start_Date__c = Date.today().addDays(-2), Contract_Decide_End_Date__c = Date.today().addDays(2), Dealer_discount__c = 0.8 ); insert contract; Contact core = new Contact( email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id ); insert core; MyUser_Test = new User( ContactId = core.id, Alias = 'newUser', Email = 'newuser@testorg.com', EmailEncodingKey = 'UTF-8', LastName = 'TestUser', LanguageLocaleKey = 'zh_CN', LocaleSidKey = 'zh_CN', ProfileId = prof1.Id, TimeZoneSidKey = 'Asia/Shanghai', UserName = 'testUser@testorg.com', Work_Location__c = '重庆' ); insert MyUser_Test; } System.runAs(MyUser_Test) { //产品数据 Product2 prod01 = new Product2( Name = 'Test01', ProductCode = 'Test01', Asset_Model_No__c = 'Test01', SFDA_Status__c = '有効', Product_Status__c = '正常销售', SFDA_Approbated_Status__c = '有效', Category3__c = 'CDS', Category4__c = 'OER', Category5__c = '其它', Dealer_special_Object__c = true, SFDA_Approbation_No__c = 'Test001', Packing_list_manual__c = 1, SFDA_Expiration_Date__c = Date.today(), Intra_Trade_List_RMB_1__c = 1000, Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1), Intra_Trade_List_RMB_Date2__c = Date.today().addDays(-1), Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1), Manual_Entry__c = false ); Product2 prod02 = new Product2( Name = 'Test02', ProductCode = 'Test02', Asset_Model_No__c = 'Test02', SFDA_Status__c = '有効', Product_Status__c = '正常销售', SFDA_Approbated_Status__c = '有效', Category3__c = 'ENT', Category4__c = 'Celon', Category5__c = 'Celon', Dealer_special_Object__c = true, SFDA_Approbation_No__c = 'Test002', Packing_list_manual__c = 1, SFDA_Expiration_Date__c = Date.today(), Intra_Trade_List_RMB_1__c = 1000, Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1), Intra_Trade_List_RMB_Date2__c = Date.today().addDays(-1), Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1), Manual_Entry__c = false ); Product2 prod03 = new Product2( Name = 'Test03', ProductCode = 'Test03', Asset_Model_No__c = 'Test03', SFDA_Status__c = '有効', Dealer_special_Object__c = true, Product_Status__c = '正常销售', SFDA_Approbated_Status__c = '有效', Category3__c = 'US', Category4__c = 'ALOKA', Category5__c = '体外超声', Intra_Trade_List_RMB_1__c = 1000, Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1), Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1), Manual_Entry__c = false ); insert new List{ prod01, prod02, prod03 }; //制作产品 Product2__c proG = new Product2__c(Name = 'MH-155:白平衡帽', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id); insert proG; System.debug('proG:' + proG); System.debug('proG1:' + proG.Estimation_Entry_Possibility__c); System.debug('prod07:' + prod01); System.debug('prod071:' + prod01.Estimation_Entry_Possibility__c); Product2__c proH = new Product2__c(Name = 'MB-677:BNC电缆', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id); insert proH; Product2__c proF = new Product2__c(Name = 'TooMAJ-643R:水囊鞘管003', OT_CODE_Text__c = 'Test003', Product2__c = prod03.Id); insert proF; //订单 Consumable_order__c order = new Consumable_order__c(); order.Name = 'testMing'; order.Order_status__c = '批准'; order.RecordTypeid = System.Label.RT_ConOrder_Order; order.Dealer_Info__c = myAccount1.id; order.Inventory_date__c = Date.today(); order.Order_type__c = '订单'; order.Order_ProType__c = 'ET'; order.orderPattern__c = 'agreementorder'; insert order; Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c(); Orderdet.Name = 'OCM_01_00101'; Orderdet.Consumable_order__c = order.Id; Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order; Orderdet.Consumable_Product__c = proG.Id; Orderdet.Consumable_count__c = 4; insert Orderdet; Consumable_order_details2__c createDetail2 = new Consumable_order_details2__c(); createDetail2 = new Consumable_order_details2__c(); createDetail2.Consumable_Product__c = proG.id; createDetail2.Asset_Model_No__c = 'Test01'; createDetail2.Consumable_order_minor__c = order.id; createDetail2.Consumable_Arrived_order__c = order.id; createDetail2.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery; createDetail2.Asset_Model_No__c = proG.Asset_Model_No__c; createDetail2.Bar_Code__c = '123'; createDetail2.Box_Piece__c = '盒'; createDetail2.Arrive_date__c = Date.today(); Oly_TriggerHandler.bypass('ConsumableAssetHander'); insert createDetail2; Test.startTest(); LexConsumableController.ConsumableorderdetailsInfo c1 = new LexConsumableController.ConsumableorderdetailsInfo(Orderdet); ContentVersion v = new ContentVersion(); LexConsumableController.ConsumableorderdetailsInfo c2 = new LexConsumableController.ConsumableorderdetailsInfo(v); LexConsumableController l = new LexConsumableController(); LexConsumableController.Results re = LexConsumableController.init('', order.Id, ''); LexConsumableController.searchConsumableorderdetails( re.userWorkLocation, re.agencyProType, re.accountName, re.accountid, re.hospitalId, re.contractId, 'testMing', '', '', '', re.category_Goods, re.specialCampaign, JSON.serialize(re.dealerProductId), re.methodType, JSON.serialize(re.consumableorderdetailsRecordsview), re.editAble, re.proLimitAndDate ); LexConsumableController.searchorderdetails( re.methodType, re.accountid, re.hospitalId, re.contractId, re.userWorkLocation, re.accountName, re.proLimitAndDate, re.editAble ); LexConsumableController.sorder(order.Id, myAccount1.Id); Test.stopTest(); } } @IsTest static void ConsumableOrdertest2() { user MyUser_Test; Account myAccount1; Account contract; User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()]; NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true); insert n; System.runAs(thisUser) { Profile prof1 = [SELECT Id FROM Profile WHERE Name = '901_经销商社区普通权限_2重验证(ET)']; List rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店']; List rectCo1 = [ SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND DeveloperName = 'AgencyContract' ]; if (rectCo.size() == 0) { return; } StaticParameter.EscapeConsumableOrderDetail2Trigger = true; myAccount1 = new Account( name = 'Testaccount001', Dealer_discount__c = 10, RecordTypeId = rectCo[0].Id, AgentCode_Ext__c = '8888888', Product_Limit_Date__c = 'Test07|3|100,Test08|10|50' ); insert myAccount1; contract = new Account( RecordTypeId = rectCo1[0].Id, Name = 'contractName', ParentId = myAccount1.id, Agent_Ref__c = myAccount1.id, Contract_Department_Class__c = 'ET', Contract_Decide_Start_Date__c = Date.today().addDays(-2), Contract_Decide_End_Date__c = Date.today().addDays(2), Dealer_discount__c = 0.8 ); insert contract; Contact core = new Contact( email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id ); insert core; MyUser_Test = new User( ContactId = core.id, Alias = 'newUser', Email = 'newuser@testorg.com', EmailEncodingKey = 'UTF-8', LastName = 'TestUser', LanguageLocaleKey = 'zh_CN', LocaleSidKey = 'zh_CN', ProfileId = prof1.Id, TimeZoneSidKey = 'Asia/Shanghai', UserName = 'testUser@testorg.com', Work_Location__c = '重庆' ); insert MyUser_Test; } System.runAs(MyUser_Test) { //产品数据 Product2 prod01 = new Product2( Name = 'Test01', ProductCode = 'Test01', Asset_Model_No__c = 'Test01', SFDA_Status__c = '有効', Product_Status__c = '正常销售', SFDA_Approbated_Status__c = '有效', Category3__c = 'CDS', Category4__c = 'OER', Category5__c = '其它', Dealer_special_Object__c = true, SFDA_Approbation_No__c = 'Test001', Packing_list_manual__c = 1, SFDA_Expiration_Date__c = Date.today(), Intra_Trade_List_RMB_1__c = 1000, Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1), Intra_Trade_List_RMB_Date2__c = Date.today().addDays(-1), Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1), Manual_Entry__c = false ); Product2 prod02 = new Product2( Name = 'Test02', ProductCode = 'Test02', Asset_Model_No__c = 'Test02', SFDA_Status__c = '有効', Product_Status__c = '正常销售', SFDA_Approbated_Status__c = '有效', Category3__c = 'ENT', Category4__c = 'Celon', Category5__c = 'Celon', Dealer_special_Object__c = true, SFDA_Approbation_No__c = 'Test002', Packing_list_manual__c = 1, SFDA_Expiration_Date__c = Date.today(), Intra_Trade_List_RMB_1__c = 1000, Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1), Intra_Trade_List_RMB_Date2__c = Date.today().addDays(-1), Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1), Manual_Entry__c = false ); Product2 prod03 = new Product2( Name = 'Test03', ProductCode = 'Test03', Asset_Model_No__c = 'Test03', SFDA_Status__c = '有効', Dealer_special_Object__c = true, Product_Status__c = '正常销售', SFDA_Approbated_Status__c = '有效', Category3__c = 'US', Category4__c = 'ALOKA', Category5__c = '体外超声', Intra_Trade_List_RMB_1__c = 1000, Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1), Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1), Manual_Entry__c = false ); insert new List{ prod01, prod02, prod03 }; //制作产品 Product2__c proG = new Product2__c(Name = 'MH-155:白平衡帽', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id); insert proG; System.debug('proG:' + proG); System.debug('proG1:' + proG.Estimation_Entry_Possibility__c); System.debug('prod07:' + prod01); System.debug('prod071:' + prod01.Estimation_Entry_Possibility__c); Product2__c proH = new Product2__c(Name = 'MB-677:BNC电缆', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id); insert proH; Product2__c proF = new Product2__c(Name = 'TooMAJ-643R:水囊鞘管003', OT_CODE_Text__c = 'Test003', Product2__c = prod03.Id); insert proF; //创建医院 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.Town__c = '东京'; insert hospital; //建一条医院特价产品 hospitalprice__c hc = new hospitalprice__c(); hc.hospital__c = hospital.Id; hc.product__c = proG.Id; hc.aph__c = '12332'; hc.account__c = myAccount1.Id; insert hc; //医院 Consumable_order__c order1 = new Consumable_order__c(); order1.Name = 'testMing1'; order1.Order_status__c = '批准'; order1.RecordTypeid = System.Label.RT_ConOrder_Order; order1.Dealer_Info__c = myAccount1.id; order1.Inventory_date__c = Date.today(); order1.Order_type__c = '订单'; order1.Order_ProType__c = 'ET'; order1.orderPattern__c = 'hospitalorder'; insert order1; Consumable_orderdetails__c Orderdet1 = new Consumable_orderdetails__c(); Orderdet1.Name = 'OCM_01_00102'; Orderdet1.Consumable_order__c = order1.Id; Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail1_Order; Orderdet1.Consumable_Product__c = proG.Id; Orderdet1.Consumable_count__c = 4; insert Orderdet1; Consumable_order_details2__c createDetail3 = new Consumable_order_details2__c(); createDetail3 = new Consumable_order_details2__c(); createDetail3.Consumable_Product__c = proG.id; createDetail3.Asset_Model_No__c = 'Test02'; createDetail3.Consumable_order_minor__c = order1.id; createDetail3.Consumable_Arrived_order__c = order1.id; createDetail3.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery; createDetail3.Asset_Model_No__c = proG.Asset_Model_No__c; createDetail3.Bar_Code__c = '123'; createDetail3.Box_Piece__c = '盒'; createDetail3.Arrive_date__c = Date.today(); Oly_TriggerHandler.bypass('ConsumableAssetHander'); insert createDetail3; Test.startTest(); LexConsumableController.Results re = LexConsumableController.init('', order1.Id, ''); LexConsumableController.searchConsumableorderdetails( re.userWorkLocation, re.agencyProType, re.accountName, re.accountid, re.hospitalId, re.contractId, 'testMing', '', '', '', re.category_Goods, re.specialCampaign, JSON.serialize(re.dealerProductId), re.methodType, JSON.serialize(re.consumableorderdetailsRecordsview), re.editAble, re.proLimitAndDate ); LexConsumableController.searchorderdetails( re.methodType, re.accountid, re.hospitalId, re.contractId, re.userWorkLocation, re.accountName, re.proLimitAndDate, re.editAble ); LexConsumableController.searchConsumableorderdetails( re.userWorkLocation, re.agencyProType, re.accountName, re.accountid, hospital.Id, contract.Id, 'testMing', '', '', '', re.category_Goods, re.specialCampaign, JSON.serialize(re.dealerProductId), re.methodType, JSON.serialize(re.consumableorderdetailsRecordsview), re.editAble, re.proLimitAndDate ); LexConsumableController.searchorderdetails( re.methodType, re.accountid, hospital.Id, contract.Id, re.userWorkLocation, re.accountName, re.proLimitAndDate, re.editAble ); Test.stopTest(); } } @IsTest static void ConsumableOrdertest3() { user MyUser_Test; Account myAccount1; Account contract; Consumable_order__c order2; User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()]; NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true); insert n; System.runAs(thisUser) { Profile prof1 = [SELECT Id FROM Profile WHERE Name = '901_经销商社区普通权限_2重验证(ET)']; List rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店']; List rectCo1 = [ SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND DeveloperName = 'AgencyContract' ]; if (rectCo.size() == 0) { return; } StaticParameter.EscapeConsumableOrderDetail2Trigger = true; myAccount1 = new Account( name = 'Testaccount001', Dealer_discount__c = 10, RecordTypeId = rectCo[0].Id, AgentCode_Ext__c = '8888888', Product_Limit_Date__c = 'Test07|3|100,Test08|10|50' ); insert myAccount1; contract = new Account( RecordTypeId = rectCo1[0].Id, Name = 'contractName', ParentId = myAccount1.id, Agent_Ref__c = myAccount1.id, Contract_Department_Class__c = 'ET', Contract_Decide_Start_Date__c = Date.today().addDays(-2), Contract_Decide_End_Date__c = Date.today().addDays(2), Dealer_discount__c = 0.8 ); insert contract; Contact core = new Contact( email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id ); insert core; MyUser_Test = new User( ContactId = core.id, Alias = 'newUser', Email = 'newuser@testorg.com', EmailEncodingKey = 'UTF-8', LastName = 'TestUser', LanguageLocaleKey = 'zh_CN', LocaleSidKey = 'zh_CN', ProfileId = prof1.Id, TimeZoneSidKey = 'Asia/Shanghai', UserName = 'testUser@testorg.com', Work_Location__c = '重庆' ); insert MyUser_Test; //产品数据 Product2 prod01 = new Product2( Name = 'Test01', ProductCode = 'Test01', Asset_Model_No__c = 'Test01', SFDA_Status__c = '有効', Product_Status__c = '正常销售', SFDA_Approbated_Status__c = '有效', Category3__c = 'CDS', Category4__c = 'OER', Category5__c = '其它', Dealer_special_Object__c = true, SFDA_Approbation_No__c = 'Test001', Packing_list_manual__c = 1, SFDA_Expiration_Date__c = Date.today(), Intra_Trade_List_RMB_1__c = 1000, Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1), Intra_Trade_List_RMB_Date2__c = Date.today().addDays(-1), Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1), Manual_Entry__c = false ); Product2 prod02 = new Product2( Name = 'Test02', ProductCode = 'Test02', Asset_Model_No__c = 'Test02', SFDA_Status__c = '有効', Product_Status__c = '正常销售', SFDA_Approbated_Status__c = '有效', Category3__c = 'ENT', Category4__c = 'Celon', Category5__c = 'Celon', Dealer_special_Object__c = true, SFDA_Approbation_No__c = 'Test002', Packing_list_manual__c = 1, SFDA_Expiration_Date__c = Date.today(), Intra_Trade_List_RMB_1__c = 1000, Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1), Intra_Trade_List_RMB_Date2__c = Date.today().addDays(-1), Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1), Manual_Entry__c = false ); Product2 prod03 = new Product2( Name = 'Test03', ProductCode = 'Test03', Asset_Model_No__c = 'Test03', SFDA_Status__c = '有効', Dealer_special_Object__c = true, Product_Status__c = '正常销售', SFDA_Approbated_Status__c = '有效', Category3__c = 'US', Category4__c = 'ALOKA', Category5__c = '体外超声', Intra_Trade_List_RMB_1__c = 1000, Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1), Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1), Manual_Entry__c = false ); insert new List{ prod01, prod02, prod03 }; //制作产品 Product2__c proG = new Product2__c(Name = 'MH-155:白平衡帽', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id); insert proG; System.debug('proG:' + proG); System.debug('proG1:' + proG.Estimation_Entry_Possibility__c); System.debug('prod07:' + prod01); System.debug('prod071:' + prod01.Estimation_Entry_Possibility__c); Product2__c proH = new Product2__c(Name = 'MB-677:BNC电缆', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id); insert proH; Product2__c proF = new Product2__c(Name = 'TooMAJ-643R:水囊鞘管003', OT_CODE_Text__c = 'Test003', Product2__c = prod03.Id); insert proF; Dealer_Product__c dpc = new Dealer_Product__c(); dpc.Dealer_Contact__c = contract.id; dpc.Dealer_Product2__c = proG.id; dpc.Special_Discount__c = 45; dpc.Campaign_StartDate__c = Date.today().addDays(-1); dpc.Campaign_EndDate__c = Date.today().addDays(1); insert dpc; Dealer_Product__c dpc2 = new Dealer_Product__c(); dpc2.Dealer_Contact__c = contract.id; dpc2.Dealer_Product2__c = proG.id; dpc2.Special_Campaign_Price__c = 4500; insert dpc2; Dealer_Product__c dpc1 = new Dealer_Product__c(); dpc1.Dealer_Contact__c = contract.id; dpc1.Dealer_Product2__c = proH.id; dpc1.Special_Campaign_Price__c = 23456; insert dpc1; //促销 order2 = new Consumable_order__c(); order2.Name = 'testMing2'; order2.Order_status__c = '批准'; order2.RecordTypeid = System.Label.RT_ConOrder_Order; order2.Dealer_Info__c = myAccount1.id; order2.Inventory_date__c = Date.today(); order2.Order_type__c = '订单'; order2.Order_ProType__c = 'ET'; order2.orderPattern__c = 'promotionorder'; insert order2; Consumable_orderdetails__c Orderdet2 = new Consumable_orderdetails__c(); Orderdet2.Name = 'OCM_01_00103'; Orderdet2.Consumable_order__c = order2.Id; Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail1_Order; Orderdet2.Consumable_Product__c = proG.Id; Orderdet2.Consumable_count__c = 4; insert Orderdet2; Consumable_order_details2__c createDetail4 = new Consumable_order_details2__c(); createDetail4 = new Consumable_order_details2__c(); createDetail4.Consumable_Product__c = proG.id; createDetail4.Asset_Model_No__c = 'Test03'; createDetail4.Consumable_order_minor__c = order2.id; createDetail4.Consumable_Arrived_order__c = order2.id; createDetail4.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery; createDetail4.Asset_Model_No__c = proG.Asset_Model_No__c; createDetail4.Bar_Code__c = '123'; createDetail4.Box_Piece__c = '盒'; createDetail4.Arrive_date__c = Date.today(); Oly_TriggerHandler.bypass('ConsumableAssetHander'); insert createDetail4; } System.runAs(MyUser_Test) { Test.startTest(); LexConsumableController.Results re = LexConsumableController.init('', order2.Id, ''); LexConsumableController.searchConsumableorderdetails( re.userWorkLocation, re.agencyProType, re.accountName, re.accountid, re.hospitalId, re.contractId, 'testMing', '', '', '', re.category_Goods, re.specialCampaign, JSON.serialize(re.dealerProductId), re.methodType, JSON.serialize(re.consumableorderdetailsRecordsview), re.editAble, re.proLimitAndDate ); LexConsumableController.searchorderdetails( re.methodType, re.accountid, re.hospitalId, re.contractId, re.userWorkLocation, re.accountName, re.proLimitAndDate, re.editAble ); LexConsumableController.searchConsumableorderdetails( re.userWorkLocation, re.agencyProType, re.accountName, re.accountid, re.hospitalId, contract.Id, 'testMing', '', '', '', re.category_Goods, re.specialCampaign, JSON.serialize(re.dealerProductId), re.methodType, JSON.serialize(re.consumableorderdetailsRecordsview), re.editAble, re.proLimitAndDate ); LexConsumableController.searchorderdetails( re.methodType, re.accountid, re.hospitalId, contract.Id, re.userWorkLocation, re.accountName, re.proLimitAndDate, re.editAble ); Test.stopTest(); } } @IsTest static void ConsumableOrdertest4() { user MyUser_Test; Account myAccount1; Account contract; User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()]; NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true); insert n; System.runAs(thisUser) { Profile prof1 = [SELECT Id FROM Profile WHERE Name = '901_经销商社区普通权限_2重验证(ET)']; List rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店']; List rectCo1 = [ SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND DeveloperName = 'AgencyContract' ]; if (rectCo.size() == 0) { return; } StaticParameter.EscapeConsumableOrderDetail2Trigger = true; RecordType rectCoO = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院']; Account olympus = new Account(RecordTypeId = rectCoO.Id, AgentCode_Ext__c = '9999900', Name = 'olympus'); insert olympus; myAccount1 = new Account( name = 'Testaccount001', Dealer_discount__c = 10, RecordTypeId = rectCo[0].Id, AgentCode_Ext__c = '8888888', Product_Limit_Date__c = 'Test07|3|100,Test08|10|50' ); insert myAccount1; System.debug('account111:' + myAccount1); contract = new Account( RecordTypeId = rectCo1[0].Id, Name = 'contractName', ParentId = myAccount1.id, Agent_Ref__c = myAccount1.id, Contract_Department_Class__c = 'ET', Contract_Decide_Start_Date__c = Date.today().addDays(-2), Contract_Decide_End_Date__c = Date.today().addDays(2), ET_SP_Dealer__c = true ); insert contract; System.debug('account111:' + contract); Contact core = new Contact( email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id ); insert core; MyUser_Test = new User( ContactId = core.id, Alias = 'newUser', Email = 'newuser@testorg.com', EmailEncodingKey = 'UTF-8', LastName = 'TestUser', LanguageLocaleKey = 'zh_CN', LocaleSidKey = 'zh_CN', ProfileId = prof1.Id, TimeZoneSidKey = 'Asia/Shanghai', UserName = 'testUser@testorg.com', Work_Location__c = '重庆' ); insert MyUser_Test; } System.runAs(MyUser_Test) { //产品数据 Product2 prod01 = new Product2( Name = 'Test01', ProductCode = 'Test01', Asset_Model_No__c = 'Test01', SFDA_Status__c = '有効', Product_Status__c = '正常销售', SFDA_Approbated_Status__c = '有效', Category3__c = 'CDS', Category4__c = 'OER', Category5__c = '其它', Dealer_special_Object__c = true, SFDA_Approbation_No__c = 'Test001', Packing_list_manual__c = 1, SFDA_Expiration_Date__c = Date.today(), Intra_Trade_List_RMB_1__c = 1000, Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1), Intra_Trade_List_RMB_Date2__c = Date.today().addDays(-1), Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1), Manual_Entry__c = false ); Product2 prod02 = new Product2( Name = 'Test02', ProductCode = 'Test02', Asset_Model_No__c = 'Test02', SFDA_Status__c = '有効', Product_Status__c = '正常销售', SFDA_Approbated_Status__c = '有效', Category3__c = 'ENT', Category4__c = 'Celon', Category5__c = 'Celon', Dealer_special_Object__c = true, SFDA_Approbation_No__c = 'Test002', Packing_list_manual__c = 1, SFDA_Expiration_Date__c = Date.today(), Intra_Trade_List_RMB_1__c = 1000, Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1), Intra_Trade_List_RMB_Date2__c = Date.today().addDays(-1), Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1), Manual_Entry__c = false ); Product2 prod03 = new Product2( Name = 'Test03', ProductCode = 'Test03', Asset_Model_No__c = 'Test03', SFDA_Status__c = '有効', Dealer_special_Object__c = true, Product_Status__c = '正常销售', SFDA_Approbated_Status__c = '有效', Category3__c = 'US', Category4__c = 'ALOKA', Category5__c = '体外超声', Intra_Trade_List_RMB_1__c = 1000, Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1), Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1), Manual_Entry__c = false ); insert new List{ prod01, prod02, prod03 }; //制作产品 Product2__c proG = new Product2__c(Name = 'MH-155:白平衡帽', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id); insert proG; System.debug('proG:' + proG); System.debug('proG1:' + proG.Estimation_Entry_Possibility__c); System.debug('prod07:' + prod01); System.debug('prod071:' + prod01.Estimation_Entry_Possibility__c); Product2__c proH = new Product2__c(Name = 'MB-677:BNC电缆', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id); insert proH; Product2__c proF = new Product2__c(Name = 'TooMAJ-643R:水囊鞘管003', OT_CODE_Text__c = 'Test003', Product2__c = prod03.Id); insert proF; //订单 Consumable_order__c order = new Consumable_order__c(); order.Name = 'testMing'; order.Order_status__c = '批准'; order.RecordTypeid = System.Label.RT_ConOrder_Order; order.Dealer_Info__c = myAccount1.id; order.Inventory_date__c = Date.today(); order.Order_type__c = '订单'; order.Order_ProType__c = 'ET'; order.orderPattern__c = 'agreementorder'; insert order; Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c(); Orderdet.Name = 'OCM_01_00101'; Orderdet.Consumable_order__c = order.Id; Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order; Orderdet.Consumable_Product__c = proG.Id; Orderdet.Consumable_count__c = 4; insert Orderdet; Consumable_order_details2__c createDetail2 = new Consumable_order_details2__c(); createDetail2 = new Consumable_order_details2__c(); createDetail2.Consumable_Product__c = proG.id; createDetail2.Asset_Model_No__c = 'Test01'; createDetail2.Consumable_order_minor__c = order.id; createDetail2.Consumable_Arrived_order__c = order.id; createDetail2.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery; createDetail2.Asset_Model_No__c = proG.Asset_Model_No__c; createDetail2.Bar_Code__c = '123'; createDetail2.Box_Piece__c = '盒'; createDetail2.Arrive_date__c = Date.today(); Oly_TriggerHandler.bypass('ConsumableAssetHander'); insert createDetail2; Test.startTest(); LexConsumableController.Results re = LexConsumableController.init('agreementorder', '', ''); re.consumableorderdetailsRecordsview[0].check = true; re.consumableorderdetailsRecordsview[0].esd.Consumable_count__c = 1; String conId = contract.Id; LexConsumableController.ordrCopy( contract.Name, JSON.serialize(re.coc), re.agencyProType, re.accountid, JSON.serialize(re.consumableorderdetailsRecordsview), JSON.serialize(re.contactDealer), re.methodType, '', conId, re.agencyProType1, false ); LexConsumableController.save( '', JSON.serialize(re.coc), re.agencyProType, re.accountid, JSON.serialize(re.consumableorderdetailsRecordsview), JSON.serialize(re.contactDealer), re.methodType, re.ESetId, '', conId, re.agencyProType1, false ); LexConsumableController.save( contract.Name, JSON.serialize(re.coc), re.agencyProType, re.accountid, JSON.serialize(re.consumableorderdetailsRecordsview), JSON.serialize(re.contactDealer), re.methodType, re.ESetId, '', '', re.agencyProType1, false ); LexConsumableController.save( ':Testaccount001', JSON.serialize(re.coc), 'ET', re.accountid, JSON.serialize(re.consumableorderdetailsRecordsview), JSON.serialize(re.contactDealer), re.methodType, re.ESetId, '', re.contractId, 'ET', false ); LexConsumableController.save( ':Testaccount001', JSON.serialize(re.coc), 'ET', re.accountid, JSON.serialize(re.consumableorderdetailsRecordsview), JSON.serialize(re.contactDealer), 'agreementorder', re.ESetId, '', re.contractId, 'ET', false ); LexConsumableController.save( ':Testaccount001', JSON.serialize(re.coc), 'ET', re.accountid, JSON.serialize(re.consumableorderdetailsRecordsview), JSON.serialize(re.contactDealer), 'promotionorder', re.ESetId, '', re.contractId, 'ET', false ); LexConsumableController.save( ':Testaccount001', JSON.serialize(re.coc), 'ET', re.accountid, JSON.serialize(re.consumableorderdetailsRecordsview), JSON.serialize(re.contactDealer), 'hospitalorder', re.ESetId, '', re.contractId, 'ET', false ); Test.stopTest(); } } @IsTest static void ConsumableOrdertest5() { user MyUser_Test; Account myAccount1; User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()]; NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true); ContentVersion cv; Consumable_order__c order; insert n; System.runAs(thisUser) { Profile prof1 = [SELECT Id FROM Profile WHERE Name = '901_经销商社区普通权限_2重验证(ET)']; List rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店']; if (rectCo.size() == 0) { return; } StaticParameter.EscapeConsumableOrderDetail2Trigger = true; RecordType rectCoO = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院']; Account olympus = new Account(RecordTypeId = rectCoO.Id, AgentCode_Ext__c = '9999900', Name = 'olympus'); insert olympus; myAccount1 = new Account( name = 'Testaccount001', Dealer_discount__c = 10, RecordTypeId = rectCo[0].Id, AgentCode_Ext__c = '8888888', Product_Limit_Date__c = 'Test07|3|100,Test08|10|50' ); insert myAccount1; Contact core = new Contact( email = 'jplumber@salesforce.com', firstname = 'Joe', lastname = 'Plumber', accountid = myAccount1.id ); insert core; MyUser_Test = new User( ContactId = core.id, Alias = 'newUser', Email = 'newuser@testorg.com', EmailEncodingKey = 'UTF-8', LastName = 'TestUser', LanguageLocaleKey = 'zh_CN', LocaleSidKey = 'zh_CN', ProfileId = prof1.Id, TimeZoneSidKey = 'Asia/Shanghai', UserName = 'testUser@testorg.com', Work_Location__c = '重庆' ); insert MyUser_Test; order = new Consumable_order__c(); order.Name = 'testMing'; order.Order_status__c = '批准'; order.RecordTypeid = System.Label.RT_ConOrder_Order; order.Dealer_Info__c = myAccount1.id; order.Inventory_date__c = Date.today(); order.Order_type__c = '订单'; order.Order_ProType__c = 'ET'; order.orderPattern__c = 'agreementorder'; insert order; cv = new ContentVersion(); cv.Title = 'test.txt'; cv.PathOnClient = '/' + 'test.txt'; cv.FirstPublishLocationId = order.Id; cv.VersionData = EncodingUtil.base64Decode('VGVzdA=='); cv.IsMajorVersion = true; insert cv; } System.runAs(MyUser_Test) { Product2 prod01 = new Product2( Name = 'Test01', ProductCode = 'Test01', Asset_Model_No__c = 'Test01', SFDA_Status__c = '有効', Product_Status__c = '正常销售', SFDA_Approbated_Status__c = '有效', Category3__c = 'CDS', Category4__c = 'OER', Category5__c = '其它', Dealer_special_Object__c = true, SFDA_Approbation_No__c = 'Test001', Packing_list_manual__c = 1, SFDA_Expiration_Date__c = Date.today(), Intra_Trade_List_RMB_1__c = 1000, Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1), Intra_Trade_List_RMB_Date2__c = Date.today().addDays(-1), Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1), Manual_Entry__c = false ); Product2 prod02 = new Product2( Name = 'Test02', ProductCode = 'Test02', Asset_Model_No__c = 'Test02', SFDA_Status__c = '有効', Product_Status__c = '正常销售', SFDA_Approbated_Status__c = '有效', Category3__c = 'CDS', Category4__c = 'OER', Category5__c = 'Celon', Dealer_special_Object__c = true, SFDA_Approbation_No__c = 'Test002', Packing_list_manual__c = 1, SFDA_Expiration_Date__c = Date.today(), Intra_Trade_List_RMB_1__c = 1000, Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1), Intra_Trade_List_RMB_Date2__c = Date.today().addDays(-1), Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1), Manual_Entry__c = false ); Product2 prod03 = new Product2( Name = 'Test03', ProductCode = 'Test03', Asset_Model_No__c = 'Test03', SFDA_Status__c = '有効', Dealer_special_Object__c = true, Product_Status__c = '正常销售', SFDA_Approbated_Status__c = '有效', Category3__c = 'US', Category4__c = 'ALOKA', Category5__c = '体外超声', Intra_Trade_List_RMB_1__c = 1000, Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1), Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1), Manual_Entry__c = false ); Product2 prod04 = new Product2( Name = 'Test04', ProductCode = 'Test04', Asset_Model_No__c = 'Test04', SFDA_Status__c = '有効', Dealer_special_Object__c = true, Product_Status__c = '正常销售', SFDA_Approbated_Status__c = '有效', Category3__c = 'OCS', Category4__c = '附属品', Category5__c = 'OCS', Intra_Trade_List_RMB_1__c = 1000, Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1), Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1), Manual_Entry__c = false ); Product2 prod05 = new Product2( Name = 'Test05', ProductCode = 'Test05', Asset_Model_No__c = 'Test05', SFDA_Status__c = '有効', Dealer_special_Object__c = true, Product_Status__c = '正常销售', SFDA_Approbated_Status__c = '有效', Category3__c = '光源', Category4__c = 'CLV', Category5__c = 'S45', Intra_Trade_List_RMB_1__c = 1000, Intra_Trade_List_RMB_Date1__c = Date.today().addDays(-1), Intra_Trade_List_RMB_End_Date1__c = Date.today().addDays(1), Manual_Entry__c = false ); insert new List{ prod01, prod02, prod03, prod04, prod05 }; Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id); Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id); Product2__c pro3 = new Product2__c(Name = 'Pro003', OT_CODE_Text__c = 'Test003', Product2__c = prod03.Id); Product2__c pro4 = new Product2__c(Name = 'Pro004', OT_CODE_Text__c = 'Test004', Product2__c = prod04.Id); Product2__c pro5 = new Product2__c(Name = 'Pro005', OT_CODE_Text__c = 'Test005', Product2__c = prod05.Id); insert new List{ pro1, pro2, pro3, pro4, pro5 }; Test.startTest(); LexConsumableController.Results re1 = LexConsumableController.categoryAllload('ET', 'CDS'); LexConsumableController.Results re2 = LexConsumableController.categoryAllload('ENG', 'CDS'); LexConsumableController.Results re3 = LexConsumableController.categoryAllload('', 'CDS'); LexConsumableController.Results re4 = LexConsumableController.categoryload('ET', 'CDS', 'OER'); LexConsumableController.Results re5 = LexConsumableController.categoryload('ENG', 'CDS', 'OER'); LexConsumableController.Results re6 = LexConsumableController.categoryload('', 'CDS', 'OER'); String pid = order.Id; LexConsumableController.filesUpload(pid, 'tset.txt', 'VGVzdA=='); LexConsumableController.deleteAtt(cv.Id, pid); LexConsumableController.backOrder(pid); LexConsumableController.setEditAble(pid); LexConsumableController.delConsumable(pid); LexConsumableController.OffersPrice(); Test.stopTest(); } } }