@isTest
public  class InventoryViewTest {
	static testMethod void InventoryViewTest(){
		Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
        List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
        if (rectCo.size() == 0) {
            return;
        }
        List<RecordType> rectHos = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院'];
        if (rectHos.size() == 0) {
            return;
        }
        
       

        Account myAccount1 = new Account(name='testaccount001',RecordTypeId = rectCo[0].Id,Product_Limit_Date__c = 'Test01|2|4,Test02|3|5' ,AgentCode_Ext__c = '9999900');
        insert myAccount1;
        Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount1.id);
        insert core;
        user 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 = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com');
        insert myUser_test;
		system.runAs(myUser_test){
			Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,SFDA_Approbation_No__c = 'Test001',Packing_list_manual__c = 1,SFDA_Expiration_Date__c= Date.today());
	        Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,SFDA_Approbation_No__c = 'Test002',Packing_list_manual__c = 12,SFDA_Expiration_Date__c= Date.today());
	        insert new Product2[]{prod01,prod02};
	        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);
	        insert new Product2__c[] {pro1, pro2};

			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 = myAccount1.Id;
        	Order1.RecordTypeid = System.Label.RT_ConOrder_Inventory;
        	Order1.Order_ProType__c = 'ET';
        	insert Order1;

        	Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c();
	        Orderdet1.Name = 'OCM_01_001001';
	        //Orderdet1.Consumable_principal__c = Order1.Id;
	        Orderdet1.Consumable_order_minor__c = Order1.Id;
	        Orderdet1.Consumable_Product__c = pro1.Id;
	        Orderdet1.Consumable_Arrived_order__c = Order1.Id;
	        //Orderdet1.IsArrival__c = true;
	        Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
	        Orderdet1.Bar_Code__c = '11111';
	        Orderdet1.Arrive_date__c = Date.today().addDays(1);
            Orderdet1.Send_Date__c = null;
            Orderdet1.Used_date__c = null;
            Orderdet1.Lose_Flag__c = false;
            Orderdet1.Box_Piece__c = '盒';

	        Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c();
	        Orderdet2.Name = 'OCM_01_001002';
	        //Orderdet2.Consumable_principal__c = Order1.Id;
	        Orderdet2.Consumable_order_minor__c = Order1.Id;
	        Orderdet2.Consumable_Product__c = pro1.Id;
	        Orderdet2.Consumable_Arrived_order__c = Order1.Id;
	        //Orderdet2.IsArrival__c = true;
	        Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
	        Orderdet2.Bar_Code__c = '22222';
	        Orderdet2.Arrive_date__c = Date.today().addDays(1);
            Orderdet2.Send_Date__c = null;
            Orderdet2.Used_date__c = null;
            Orderdet2.Lose_Flag__c = false;
            Orderdet2.Box_Piece__c = '个';
            Orderdet2.Sterilization_limit__c= Date.today();

	        Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c();
	        Orderdet3.Name = 'OCM_01_001003';
	        //Orderdet3.Consumable_principal__c = Order1.Id;
	        Orderdet3.Consumable_order_minor__c = Order1.Id;
	        Orderdet3.Consumable_Product__c = pro2.Id;
	        Orderdet3.Consumable_Arrived_order__c = Order1.Id;
	        //Orderdet3.IsArrival__c = true;
	        Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
	        Orderdet3.Bar_Code__c = '33333';
	        Orderdet3.Arrive_date__c = Date.today().addDays(1);
            Orderdet3.Send_Date__c = null;
            Orderdet3.Used_date__c = null;
            Orderdet3.Lose_Flag__c = false;
            Orderdet3.Box_Piece__c = '个';
			Orderdet3.Sterilization_limit__c= Date.today();

	        Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
	        Orderdet4.Name = 'OCM_01_001004';
	        //Orderdet4.Consumable_principal__c = Order1.Id;
	        Orderdet4.Consumable_order_minor__c = Order1.Id;
	        Orderdet4.Consumable_Product__c = pro1.Id;
	        Orderdet4.Consumable_Arrived_order__c = Order1.Id;
	        //Orderdet4.IsArrival__c = true;
	        Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
	        Orderdet4.Bar_Code__c = '44444';
	        Orderdet4.Arrive_date__c = Date.today().addDays(1);
            Orderdet4.Send_Date__c = null;
            Orderdet4.Used_date__c = null;
            Orderdet4.Lose_Flag__c = false;
            Orderdet4.Box_Piece__c = '个';

	        insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4};
			//制作盘点履历
			List<Consumable_order__c> InsPDlist = new List<Consumable_order__c>();
			for(integer i = 1 ; i < 35 ;i++){
				String str = string.valueOf(i);
				if(str.length() == 1){
                    str = '0' + str;
                }
				Consumable_order__c PDlist = new Consumable_order__c(name='testPandianLVL_'+str);
				//Date ThisDate = Date.newInstance(2016,4,20+i/5);
				//PDlist.Inventory_date__c = ThisDate;
				PDlist.Order_type__c = '盘点';
				PDlist.RecordTypeid = System.Label.RT_ConOrder_Inventory;
				PDlist.Inventory_date__c = Date.today().addDays(-i);
				PDlist.Dealer_Info__c = myAccount1.Id;
				InsPDlist.add(PDlist);
			}
			//制作头表
			insert InsPDlist;
			InventoryViewController IvTest = new InventoryViewController();
			IvTest.pagesize = 1;
			IvTest.init();
			IvTest.sortKey='0';
			IvTest.SortLimited();
			IvTest.searchConsumableorderdetails();
			//system.assertEquals(1,IvTest.ConsumableorderdetailsRecordsview.size());
			IvTest.SortStore();
			IvTest.moveToLast();
			IvTest.moveToPrevious();
			IvTest.moveToNext();
			IvTest.canMove();
			IvTest.refreshPageSize();
			IvTest.makeCurrentPageRecords();
		}

	}


	static testMethod void InventoryViewSearchTest(){
		Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
		List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
        if (rectCo.size() == 0) {
            return;
        }
		



 		Account myAccount1 = new Account(name='testaccount001',RecordTypeId = rectCo[0].Id,Product_Limit_Date__c = 'Test01|2|4,Test02|3|5',AgentCode_Ext__c = '9999900');
        insert myAccount1;
        Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount1.id);
        insert core;
        user 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 = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com');
        insert myUser_test;
		system.runAs(myUser_test){
			Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true
				,Category3__c = 'CDS',Category4__c = 'OER',Category5__c = '其它');
	        Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true
	        	,Category3__c = 'ENT',Category4__c = 'Celon',Category5__c = 'Celon');
	        Product2 prod03 = new Product2(Name='Test03',ProductCode='Test03',Asset_Model_No__c = 'Test03',SFDA_Status__c = '有効',Dealer_special_Object__c = true
	        	,Category3__c = 'US',Category4__c = 'ALOKA',Category5__c = '体外超声');
	 		Product2 prod04 = new Product2(Name='Test04',ProductCode='Test04',Asset_Model_No__c = 'Test04',SFDA_Status__c = '有効',Dealer_special_Object__c = true
	        	,Category3__c = 'OCS',Category4__c = '附属品',Category5__c = 'S45');
	 		Product2 prod05 = new Product2(Name='Test05',ProductCode='Test05',Asset_Model_No__c = 'Test05',SFDA_Status__c = '有効',Dealer_special_Object__c = true
	        	,Category3__c = '光源',Category4__c = '附属品',Category5__c = 'OCS');
	        insert new Product2[] {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 Product2__c[] {pro1, pro2, pro3, pro4, pro5};

			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 = myAccount1.Id;
        	Order1.RecordTypeid = System.Label.RT_ConOrder_Inventory;
        	Order1.Order_ProType__c = 'ET';
        	insert Order1;

        	Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c();
	        Orderdet1.Name = 'OCM_01_001001';
	        Orderdet1.Consumable_order_minor__c = Order1.Id;
	        Orderdet1.Consumable_Product__c = pro1.Id;
	        Orderdet1.Consumable_Arrived_order__c = Order1.Id;
	        Orderdet1.Sterilization_limit__c = Date.today();
	        Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
	        Orderdet1.Bar_Code__c = '11111';
	        Orderdet1.Arrive_date__c = Date.today().addDays(1);
            Orderdet1.Send_Date__c = null;
            Orderdet1.Used_date__c = null;
            Orderdet1.Lose_Flag__c = false;

            Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c();
	        Orderdet2.Name = 'OCM_01_001002';
	        Orderdet2.Consumable_order_minor__c = Order1.Id;
	        Orderdet2.Consumable_Product__c = pro1.Id;
	        Orderdet2.Consumable_Arrived_order__c = Order1.Id;
	        Orderdet2.Sterilization_limit__c = Date.today();
	        Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
	        Orderdet2.Bar_Code__c = '22222';
	        Orderdet2.Arrive_date__c = Date.today().addDays(1);
            Orderdet2.Send_Date__c = null;
            Orderdet2.Used_date__c = null;
            Orderdet2.Lose_Flag__c = false;
            insert new Consumable_order_details2__c[] {Orderdet1,Orderdet2};

			InventoryViewController IvTest = new InventoryViewController();
			IvTest.init();
			IvTest.category3 = 'CDS';
			IvTest.categoryAllload();
			// system.assertEquals(2,IvTest.category4OptionList.size());
			IvTest.category4 = 'OER';
			IvTest.categoryload();
			// system.assertEquals(2,IvTest.category5OptionList.size());

            IvTest.category3 = '光源';
            IvTest.categoryAllload();
            // system.assertEquals(2,IvTest.category4OptionList.size());
            IvTest.category4 = 'LPL';
            IvTest.categoryload();
            // system.assertEquals(1,IvTest.category5OptionList.size());

			IvTest.searchConsumableorderdetails();
			//system.assertEquals(1,IvTest.ConsumableorderdetailsRecordsview.size());
			IvTest.SortStore();
		}
	}

	//add by rentx 2020-12-25 start 查询非医院特价盒 /个
	static testMethod void InventoryViewTest2(){
		List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
        if (rectCo.size() == 0) {
            return;
        }
        //Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证'];
        Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];//20200916 ljh update
        
        Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,Product_Limit_Date__c = 'Test01|5|55,Test02|2|4',AgentCode_Ext__c = '9999900');
        insert myAccount2;

        Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount2.id);
        insert core;
        user 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 = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com', UserPro_Type__c='ET', Work_Location__c='北京');
        insert MyUser_Test;
        system.runAs(MyUser_Test){
            System.Test.startTest();
            StaticParameter.EscapeConsumableOrderDetail2Trigger = true;
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,SFDA_Approbation_No__c = '12124',Packing_list_manual__c = 1,SFDA_Expiration_Date__c= Date.today());
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,SFDA_Approbation_No__c = '12124',Packing_list_manual__c = 1,SFDA_Expiration_Date__c= Date.today());
            insert new Product2[]{prod01,prod02};
            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);
            insert new Product2__c[] {pro1, pro2};

            Consumable_order__c createId = new Consumable_order__c();
            createId.Name = 'testMing';
            createId.Order_status__c = '批准';
            createId.Deliver_date__c = Date.today();
            createId.Dealer_Info__c = myAccount2.Id;
            createId.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            createId.Order_type__c = '订单';
            createId.Order_ProType__c = 'ET';
            createId.Dealer_Info__c = myAccount2.Id;
            createId.Delivery_detail_count__c = 5;
            insert  createId;
            //pro1 盒 在库
            Consumable_order_details2__c createDetail2 = new Consumable_order_details2__c();
            createDetail2 = new Consumable_order_details2__c();
            createDetail2.Consumable_Product__c = pro1.id;
            createDetail2.Asset_Model_No__c     = 'Test01';
            createDetail2.Consumable_order_minor__c =  createId.id;
            createDetail2.Consumable_Arrived_order__c = createId.id;
            createDetail2.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            createDetail2.Asset_Model_No__c         = pro1.Asset_Model_No__c;
            createDetail2.Bar_Code__c = '123';
            createDetail2.Box_Piece__c ='盒';
            createDetail2.Arrive_date__c            = Date.today();
            insert createDetail2;
            Consumable_order_details2__c createDetailpro1 = new Consumable_order_details2__c();
            createDetailpro1.Consumable_Product__c = pro1.id;
            createDetailpro1.Asset_Model_No__c     = 'Test02';
            createDetailpro1.Consumable_order_minor__c =  createId.id;
            createDetailpro1.Consumable_Arrived_order__c = createId.id;
            createDetailpro1.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            createDetailpro1.Asset_Model_No__c         = pro1.Asset_Model_No__c;
            createDetailpro1.Bar_Code__c = '12322';
            createDetailpro1.Box_Piece__c ='盒';
            createDetailpro1.Arrive_date__c            = Date.today();
            insert createDetailpro1;
            //pro1 个 在库
            Consumable_order_details2__c createDetailPiece1 = new Consumable_order_details2__c();
            createDetailPiece1.Consumable_Product__c = pro1.id;
            createDetailPiece1.Asset_Model_No__c     = 'Test03';
            createDetailPiece1.Consumable_order_minor__c =  createId.id;
            createDetailPiece1.Consumable_Arrived_order__c = createId.id;
            createDetailPiece1.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            createDetailPiece1.Asset_Model_No__c         = pro1.Asset_Model_No__c;
            createDetailPiece1.Bar_Code__c = '23456';
            createDetailPiece1.Box_Piece__c ='个';
            createDetailPiece1.Arrive_date__c            = Date.today();
            insert createDetailPiece1;
            Consumable_order_details2__c createDetailPiece2 = new Consumable_order_details2__c();
            createDetailPiece2.Consumable_Product__c = pro1.id;
            createDetailPiece2.Asset_Model_No__c     = 'Test04';
            createDetailPiece2.Consumable_order_minor__c =  createId.id;
            createDetailPiece2.Consumable_Arrived_order__c = createId.id;
            createDetailPiece2.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            createDetailPiece2.Asset_Model_No__c         = pro1.Asset_Model_No__c;
            createDetailPiece2.Bar_Code__c = '122345';
            createDetailPiece2.Box_Piece__c ='个';
            createDetailPiece2.Arrive_date__c            = Date.today();
            insert createDetailPiece2;

            //pro1 盒 在库 过期
            createDetail2 = new Consumable_order_details2__c();
            createDetail2.Consumable_Product__c = pro1.id;
            createDetail2.Asset_Model_No__c     = 'Test01';
            createDetail2.Sterilization_limit__c = Date.today();
            createDetail2.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            //createDetail.IsArrival__c = true;
            createDetail2.Asset_Model_No__c         = prod02.Asset_Model_No__c;
            createDetail2.Bar_Code__c = '1223';
            createDetail2.Box_Piece__c ='盒';
            createDetail2.Arrive_date__c  = Date.today();
            createDetail2.Deliver_date__c           =Date.today().addDays(-8);
            createDetail2.Sterilization_limit__c =Date.today().addDays(-8);
            insert createDetail2;

            PageReference page = new PageReference('/apex/TopPage');
            System.Test.setCurrentPage(page);
            TopPageController lPCTest = new TopPageController();
            lPCTest.pagesize = 1;
            Consumable_Orderdetails__c conOrderDetail1 = new Consumable_Orderdetails__c();
            conOrderDetail1.Consumable_count__c = 10;
            conOrderDetail1.Consumable_Arrivecount__c = 5;
            conOrderDetail1.Consumable_product__c = pro2.id;
            conOrderDetail1.Consumable_order__c = createId.Id;
            insert conOrderDetail1;

            Consumable_Orderdetails__c conOrderDetail2 = new Consumable_Orderdetails__c();
            conOrderDetail2.Consumable_product__c = pro2.id;
            conOrderDetail2.Consumable_order__c = createId.Id;
            insert conOrderDetail2;

			InventoryViewController IvTest = new InventoryViewController();
			IvTest.init();
			IvTest.category3 = 'CDS';
			IvTest.categoryAllload();
			// system.assertEquals(2,IvTest.category4OptionList.size());
			IvTest.category4 = 'OER';
			IvTest.categoryload();
			// system.assertEquals(2,IvTest.category5OptionList.size());

            IvTest.category3 = '光源';
            IvTest.categoryAllload();
            // system.assertEquals(2,IvTest.category4OptionList.size());
            IvTest.category4 = 'LPL';
            IvTest.categoryload();
            // system.assertEquals(1,IvTest.category5OptionList.size());

			IvTest.searchConsumableorderdetails();
			//system.assertEquals(1,IvTest.ConsumableorderdetailsRecordsview.size());
			IvTest.SortStore();
		}
	}

	static testMethod void InventoryViewTest3(){
		List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
        if (rectCo.size() == 0) {
            return;
        }
        //Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证'];
        // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(Email)'];//20200916 ljh update
        Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];//20210329 RTX update
        
        Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,Product_Limit_Date__c = 'Test01|5|55,Test02|2|4',AgentCode_Ext__c = '9999900');
        insert myAccount2;

        Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount2.id);
        insert core;
        user 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 = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com', UserPro_Type__c='ENG', Work_Location__c='北京');
        insert MyUser_Test;
        system.runAs(MyUser_Test){
            System.Test.startTest();
            StaticParameter.EscapeConsumableOrderDetail2Trigger = true;
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',Dealer_special_Object__c = true,SFDA_Approbation_No__c = '12124',Packing_list_manual__c = 1,SFDA_Expiration_Date__c= Date.today());
            Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',Dealer_special_Object__c = true,SFDA_Approbation_No__c = '12124',Packing_list_manual__c = 1,SFDA_Expiration_Date__c= Date.today());
            insert new Product2[]{prod01,prod02};
            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);
            insert new Product2__c[] {pro1, pro2};

            Consumable_order__c createId = new Consumable_order__c();
            createId.Name = 'testMing1';
            createId.Order_status__c = '批准';
            createId.Deliver_date__c = Date.today();
            createId.Dealer_Info__c = myAccount2.Id;
            createId.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            createId.Order_type__c = '订单';
            createId.Order_ProType__c = 'ENG';
            createId.Dealer_Info__c = myAccount2.Id;
            createId.Delivery_detail_count__c = 5;
            createId.orderPattern__c = 'hospitalorder';
            insert  createId;
            //pro1 盒 在库
            Consumable_order_details2__c createDetail2 = new Consumable_order_details2__c();
            createDetail2 = new Consumable_order_details2__c();
            createDetail2.Consumable_Product__c = pro1.id;
            createDetail2.Asset_Model_No__c     = 'Test01';
            createDetail2.Consumable_order_minor__c =  createId.id;
            createDetail2.Consumable_Arrived_order__c = createId.id;
            createDetail2.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            createDetail2.Asset_Model_No__c         = pro1.Asset_Model_No__c;
            createDetail2.Bar_Code__c = '123';
            createDetail2.Box_Piece__c ='盒';
            createDetail2.Arrive_date__c            = Date.today();
            insert createDetail2;
            Consumable_order_details2__c createDetailpro1 = new Consumable_order_details2__c();
            createDetailpro1.Consumable_Product__c = pro1.id;
            createDetailpro1.Asset_Model_No__c     = 'Test02';
            createDetailpro1.Consumable_order_minor__c =  createId.id;
            createDetailpro1.Consumable_Arrived_order__c = createId.id;
            createDetailpro1.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            createDetailpro1.Asset_Model_No__c         = pro1.Asset_Model_No__c;
            createDetailpro1.Bar_Code__c = '12322';
            createDetailpro1.Box_Piece__c ='盒';
            createDetailpro1.Arrive_date__c            = Date.today();
            insert createDetailpro1;
            //pro1 个 在库
            Consumable_order_details2__c createDetailPiece1 = new Consumable_order_details2__c();
            createDetailPiece1.Consumable_Product__c = pro1.id;
            createDetailPiece1.Asset_Model_No__c     = 'Test03';
            createDetailPiece1.Consumable_order_minor__c =  createId.id;
            createDetailPiece1.Consumable_Arrived_order__c = createId.id;
            createDetailPiece1.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            createDetailPiece1.Asset_Model_No__c         = pro1.Asset_Model_No__c;
            createDetailPiece1.Bar_Code__c = '23456';
            createDetailPiece1.Box_Piece__c ='个';
            createDetailPiece1.Arrive_date__c            = Date.today();
            insert createDetailPiece1;
            Consumable_order_details2__c createDetailPiece2 = new Consumable_order_details2__c();
            createDetailPiece2.Consumable_Product__c = pro1.id;
            createDetailPiece2.Asset_Model_No__c     = 'Test04';
            createDetailPiece2.Consumable_order_minor__c =  createId.id;
            createDetailPiece2.Consumable_Arrived_order__c = createId.id;
            createDetailPiece2.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            createDetailPiece2.Asset_Model_No__c         = pro1.Asset_Model_No__c;
            createDetailPiece2.Bar_Code__c = '122345';
            createDetailPiece2.Box_Piece__c ='个';
            createDetailPiece2.Arrive_date__c            = Date.today();
            insert createDetailPiece2;

            //pro1 盒 在库 过期
            createDetail2 = new Consumable_order_details2__c();
            createDetail2.Consumable_Product__c = pro1.id;
            createDetail2.Asset_Model_No__c     = 'Test01';
            createDetail2.Sterilization_limit__c = Date.today();
            createDetail2.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            //createDetail.IsArrival__c = true;
            createDetail2.Asset_Model_No__c         = prod02.Asset_Model_No__c;
            createDetail2.Bar_Code__c = '1223';
            createDetail2.Box_Piece__c ='盒';
            createDetail2.Arrive_date__c  = Date.today();
            createDetail2.Deliver_date__c           =Date.today().addDays(-8);
            createDetail2.Sterilization_limit__c =Date.today().addDays(-8);
            insert createDetail2;

            PageReference page = new PageReference('/apex/TopPage');
            System.Test.setCurrentPage(page);
            TopPageController lPCTest = new TopPageController();
            lPCTest.pagesize = 1;
            Consumable_Orderdetails__c conOrderDetail1 = new Consumable_Orderdetails__c();
            conOrderDetail1.Consumable_count__c = 10;
            conOrderDetail1.Consumable_Arrivecount__c = 5;
            conOrderDetail1.Consumable_product__c = pro2.id;
            conOrderDetail1.Consumable_order__c = createId.Id;
            insert conOrderDetail1;

            Consumable_Orderdetails__c conOrderDetail2 = new Consumable_Orderdetails__c();
            conOrderDetail2.Consumable_product__c = pro2.id;
            conOrderDetail2.Consumable_order__c = createId.Id;
            insert conOrderDetail2;

            InventoryViewController IvTest = new InventoryViewController();
			IvTest.init();
			IvTest.category3 = 'CDS';
			IvTest.categoryAllload();
			IvTest.category4 = 'OER';
			IvTest.categoryload();

            IvTest.category3 = '光源';
            IvTest.categoryAllload();
            IvTest.category4 = 'LPL';
            IvTest.categoryload();

			IvTest.searchConsumableorderdetails();
			IvTest.SortStore();
		}
	}
	//add by rentx 2020-12-25 end 查询医院特价 盒/个
}