@isTest
private class LexArriveGoodsControllerTest {
    @IsTest
<<<<<<< HEAD
    static void test1() {
        NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true);
        insert n;
        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重验证(ET Email)'];
        Profile prof = [
            SELECT Id
            FROM Profile
            WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
        ];

        Account myAccount1 = new Account(
            Name = 'Testaccount001',
            Dealer_discount__c = 20,
            RecordTypeId = rectCo[0].Id,
            AgentCode_Ext__c = '9999996'
        );
        Account myAccount2 = new Account(
            Name = 'Testaccount002',
            Dealer_discount__c = 10,
            RecordTypeId = rectCo[0].Id,
            AgentCode_Ext__c = '9999900',
            Product_Limit_Date__c = 'Test01|2|4,Test02|3|5'
        );
        insert new List<Account>{ myAccount1, myAccount2 };

        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',
            UserPro_Type__c = 'ET'
        );
        System.runAs(new User(Id = UserInfo.getUserId())) {
            insert MyUser_Test;
        }

        // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
        // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // insert new Product2[] {prod01,prod02};
        System.runAs(MyUser_Test) {
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                RecordTypeId = '01210000000aMAFAA2',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200311',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                RecordTypeId = '01210000000aMAFAA2',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200312',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<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 List<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_Delivery;
            Order1.Total_num__c = 3;
            Order1.OrderNumber_arrived__c = 1;
            Order1.Delivery_detail_count__c = 1;
            Order1.Order_ProType__c = 'ET';
            insert Order1;

            //订单明细
            //fahuo
            Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c();
            Orderdet.Name = 'OCM_01_00101';
            Orderdet.Consumable_order__c = Order1.Id;
            Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
            Orderdet.Consumable_Product__c = pro1.Id;
            Orderdet.Consumable_count__c = 40;
            insert Orderdet;

            //发货明细
            //到货正确信息
            Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c();
            Orderdet1.Name = 'OCM_01_001002';
            Orderdet1.Consumable_order_minor__c = Order1.Id;
            Orderdet1.Consumable_Product__c = pro1.Id;
            Orderdet1.Asset_Model_No__c = 'Test01';
            Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA';
            Orderdet1.TracingCode__c = 'BXJRA';

            //取消产品
            Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c();
            Orderdet2.Name = 'OCM_01_001003';
            Orderdet2.Consumable_order_minor__c = Order1.Id;
            Orderdet2.Consumable_Product__c = pro1.Id;
            Orderdet2.Asset_Model_No__c = 'Test01';
            //Orderdet2.Consumable_Arrived_order__c = Order1.Id;
            Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRB';
            Orderdet2.Cancellation_Date__c = Date.today();
            Orderdet2.TracingCode__c = 'BXJRB';
            //销售产品
            Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c();
            Orderdet3.Name = 'OCM_01_001004';
            Orderdet3.Consumable_order_minor__c = Order1.Id;
            Orderdet3.Consumable_Product__c = pro1.Id;
            Orderdet3.Asset_Model_No__c = 'Test01';
            Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRC';
            Orderdet3.Used_date__c = Date.today();
            Orderdet3.Arrive_date__c = Date.today();
            Orderdet3.TracingCode__c = 'BXJRC';
            //Orderdet3.Box_Piece__c = '盒';

            //出库产品
            Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
            Orderdet4.Name = 'OCM_01_001005';
            Orderdet4.Consumable_order_minor__c = Order1.Id;
            Orderdet4.Consumable_Product__c = pro1.Id;
            Orderdet4.Asset_Model_No__c = 'Test01';
            Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRD';
            Orderdet4.Send_Date__c = Date.today();
            Orderdet4.Arrive_date__c = Date.today();
            Orderdet4.TracingCode__c = 'BXJRD';

            //已到货产品
            Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c();
            Orderdet5.Name = 'OCM_01_001006';
            Orderdet5.Consumable_order_minor__c = Order1.Id;
            Orderdet5.Consumable_Product__c = pro1.Id;
            Orderdet5.Asset_Model_No__c = 'Test01';
            Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRE';
            Orderdet5.Arrive_date__c = Date.today();
            Orderdet5.TracingCode__c = 'BXJRE';

            //发货明细
            //管理编码包含数字
            Consumable_order_details2__c Orderdet6 = new Consumable_order_details2__c();
            Orderdet6.Name = 'OCM_01_001002';
            Orderdet6.Consumable_order_minor__c = Order1.Id;
            Orderdet6.Consumable_Product__c = pro1.Id;
            Orderdet6.Asset_Model_No__c = 'Test01';
            Orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet6.Bar_Code__c = '01049531702003111115120017181000105ZK250BX123';
            Orderdet6.TracingCode__c = 'BX123';

            //发错库 未到货
            Consumable_order_details2__c Orderdets8 = new Consumable_order_details2__c();
            Orderdets8.Name = 'OCM_01_001011';
            Orderdets8.Consumable_order_minor__c = Order1.Id;
            Orderdets8.Consumable_Product__c = pro1.Id;
            Orderdets8.Asset_Model_No__c = 'Test01';
            Orderdets8.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdets8.Bar_Code__c = '01049531702003111115120017181000105ZK250BXsys';
            Orderdets8.Box_Piece__c = '盒';
            Orderdets8.TracingCode__c = 'BXsys';

            insert new List<Consumable_order_details2__c>{ Orderdet1, Orderdet2, Orderdet3, Orderdet4, Orderdet5, Orderdet6, Orderdets8 };

            List<Consumable_orderdetails__c> cod1 = [
                SELECT Id
                FROM Consumable_orderdetails__c
                WHERE Consumable_order__c = :Order1.Id
            ];
            System.assertEquals(1, cod1.size());

            PageReference page = new PageReference('/apex/ArriveGoods?Esetid=' + Order1.Id);

            System.Test.setCurrentPage(page);
            ArriveGoodsController Controller = new ArriveGoodsController();
            //初始化测试
            System.Test.startTest();
            LexArriveGoodsController.Results re = LexArriveGoodsController.init('Arr', Order1.Id);
            String arrControllerStr = re.arrGoodCon;
            LexArriveGoodsController.searchProduct('', arrControllerStr);
            re = LexArriveGoodsController.searchProduct(
                '01049531702003111115120017181000105ZK250BXJRA\n01049531702003111115120017181000105ZK250BXsys\n01049531702003111115120017181000105ZK250BXsun\n01049531702003111115120017181000105ZK250BXJRB\n01049531702003111115120017181000105ZK250BXJRC\n01049531702003111115120017181000105ZK250BX111\n01049531702003111115120017181000105ZK250BXJRD\n01049531702003111115120017181000105ZK250BXJRE\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BXJRG\n01049531702003111115120017181000105ZK250BX123',
                arrControllerStr
            );
            arrControllerStr = re.arrGoodCon;
            LexArriveGoodsController.arriveGoodsConfim(arrControllerStr);
            System.Test.stopTest();
=======
    static void test1(){
        NoteStay__c n = new NoteStay__c(Name = 'NoteStay',IsStay__c = true);
        insert n;
        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重验证(ET Email)'];
		Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];

		Account myAccount1 = new Account(Name='Testaccount001',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999996');
		Account myAccount2 = new Account(Name='Testaccount002',Dealer_discount__c =10,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900',Product_Limit_Date__c = 'Test01|2|4,Test02|3|5');
		insert new Account[]{myAccount1,myAccount2};

		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',UserPro_Type__c = 'ET');
		System.runAs(new User(Id = UserInfo.getUserId())){
            insert MyUser_Test;
        }

		// User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
		// Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
		// Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
		// insert new Product2[] {prod01,prod02};
		system.runAs(MyUser_Test){
			Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',RecordTypeId = '01210000000aMAFAA2',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
			Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',RecordTypeId = '01210000000aMAFAA2',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
			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_Delivery;
			Order1.Total_num__c = 3;
			Order1.OrderNumber_arrived__c =1;
			Order1.Delivery_detail_count__c=1;
			Order1.Order_ProType__c = 'ET';
			insert Order1;

			//订单明细
			//fahuo
			Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c();
			Orderdet.Name = 'OCM_01_00101';
			Orderdet.Consumable_order__c = Order1.Id;
			Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
			Orderdet.Consumable_Product__c = pro1.Id;
			Orderdet.Consumable_count__c = 40;
			insert Orderdet;

			//发货明细
			//到货正确信息
			Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c();
			Orderdet1.Name = 'OCM_01_001002';
			Orderdet1.Consumable_order_minor__c = Order1.Id;
			Orderdet1.Consumable_Product__c = pro1.Id;
			Orderdet1.Asset_Model_No__c = 'Test01';
			Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
			Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA';
			Orderdet1.TracingCode__c = 'BXJRA';

			//取消产品
			Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c();
			Orderdet2.Name = 'OCM_01_001003';
			Orderdet2.Consumable_order_minor__c = Order1.Id;
			Orderdet2.Consumable_Product__c = pro1.Id;
			Orderdet2.Asset_Model_No__c = 'Test01';
			//Orderdet2.Consumable_Arrived_order__c = Order1.Id;
			Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
			Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRB';
			Orderdet2.Cancellation_Date__c= Date.today();
			Orderdet2.TracingCode__c = 'BXJRB';
			//销售产品
			Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c();
			Orderdet3.Name = 'OCM_01_001004';
			Orderdet3.Consumable_order_minor__c = Order1.Id;
			Orderdet3.Consumable_Product__c = pro1.Id;
			Orderdet3.Asset_Model_No__c = 'Test01';
			Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
			Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRC';
			Orderdet3.Used_date__c = Date.today();
			Orderdet3.Arrive_date__c = Date.today();
			Orderdet3.TracingCode__c = 'BXJRC';
			//Orderdet3.Box_Piece__c = '盒';


			//出库产品
			Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
			Orderdet4.Name = 'OCM_01_001005';
			Orderdet4.Consumable_order_minor__c = Order1.Id;
			Orderdet4.Consumable_Product__c = pro1.Id;
			Orderdet4.Asset_Model_No__c = 'Test01';
			Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
			Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRD';
			Orderdet4.Send_Date__c =  Date.today();
			Orderdet4.Arrive_date__c = Date.today();
			Orderdet4.TracingCode__c = 'BXJRD';

			//已到货产品
			Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c();
			Orderdet5.Name = 'OCM_01_001006';
			Orderdet5.Consumable_order_minor__c = Order1.Id;
			Orderdet5.Consumable_Product__c = pro1.Id;
			Orderdet5.Asset_Model_No__c = 'Test01';
			Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
			Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRE';
			Orderdet5.Arrive_date__c =  Date.today();
			Orderdet5.TracingCode__c = 'BXJRE';

			//发货明细
			//管理编码包含数字
			Consumable_order_details2__c Orderdet6 = new Consumable_order_details2__c();
			Orderdet6.Name = 'OCM_01_001002';
			Orderdet6.Consumable_order_minor__c = Order1.Id;
			Orderdet6.Consumable_Product__c = pro1.Id;
			Orderdet6.Asset_Model_No__c = 'Test01';
			Orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
			Orderdet6.Bar_Code__c = '01049531702003111115120017181000105ZK250BX123';
			Orderdet6.TracingCode__c = 'BX123';

			//发错库 未到货
			Consumable_order_details2__c Orderdets8 = new Consumable_order_details2__c();
			Orderdets8.Name = 'OCM_01_001011';
			Orderdets8.Consumable_order_minor__c = Order1.Id;
			Orderdets8.Consumable_Product__c = pro1.Id;
			Orderdets8.Asset_Model_No__c = 'Test01';
			Orderdets8.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
			Orderdets8.Bar_Code__c = '01049531702003111115120017181000105ZK250BXsys';
			Orderdets8.Box_Piece__c = '盒';
			Orderdets8.TracingCode__c = 'BXsys';

			insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5,Orderdet6,Orderdets8};

			List<Consumable_orderdetails__c> cod1 = [select Id from Consumable_orderdetails__c WHERE Consumable_order__c = :Order1.Id];
			System.assertEquals(1, cod1.size());

			PageReference page = new PageReference('/apex/ArriveGoods?Esetid=' + Order1.Id);

			System.Test.setCurrentPage(page);
			ArriveGoodsController Controller = new ArriveGoodsController();
			//初始化测试
			System.Test.startTest();
            LexArriveGoodsController.Results re =  LexArriveGoodsController.init('Arr', Order1.Id);
            String arrControllerStr = re.arrGoodCon;
            LexArriveGoodsController.searchProduct('', arrControllerStr);
            re = LexArriveGoodsController.searchProduct('01049531702003111115120017181000105ZK250BXJRA\n01049531702003111115120017181000105ZK250BXsys\n01049531702003111115120017181000105ZK250BXsun\n01049531702003111115120017181000105ZK250BXJRB\n01049531702003111115120017181000105ZK250BXJRC\n01049531702003111115120017181000105ZK250BX111\n01049531702003111115120017181000105ZK250BXJRD\n01049531702003111115120017181000105ZK250BXJRE\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BXJRG\n01049531702003111115120017181000105ZK250BX123', arrControllerStr);
            arrControllerStr = re.arrGoodCon;
            LexArriveGoodsController.arriveGoodsConfim(arrControllerStr);
			System.Test.stopTest();
>>>>>>> LEXCommunityLiJun
        }
    }

    @IsTest
<<<<<<< HEAD
    static void test2() {
        NoteStay__c n = new NoteStay__c(Name = 'NoteStay', IsStay__c = true);
        insert n;
        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重验证(ET Email)'];
        Profile prof = [
            SELECT Id
            FROM Profile
            WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
        ];

        Account myAccount2 = new Account(
            name = 'Testaccount002',
            Dealer_discount__c = 20,
            RecordTypeId = rectCo[0].Id,
            AgentCode_Ext__c = '9999900'
        );
        Account myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 30, RecordTypeId = rectCo[0].Id);
        insert new List<account>{ myAccount1, myAccount2 };

        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',
            UserPro_Type__c = 'ET'
        );
        System.runAs(new User(Id = UserInfo.getUserId())) {
            insert MyUser_Test;
        }

        // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
        // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
        // insert new Product2[] {prod01,prod02};
        System.runAs(MyUser_Test) {
            Product2 prod01 = new Product2(
                Name = 'Test01',
                ProductCode = 'Test01',
                Asset_Model_No__c = 'Test01',
                RecordTypeId = '01210000000aMAFAA2',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200311',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            Product2 prod02 = new Product2(
                Name = 'Test02',
                ProductCode = 'Test02',
                Asset_Model_No__c = 'Test02',
                RecordTypeId = '01210000000aMAFAA2',
                SFDA_Status__c = '有効',
                JANCODE__c = '04953170200312',
                Dealer_special_Object__c = true,
                Manual_Entry__c = false
            );
            insert new List<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 List<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_Delivery;

            //返品订单

            Consumable_order__c Order2 = new Consumable_order__c();
            Order2.Name = 'OCM_01_002';
            Order2.Order_status__c = '批准';
            Order2.Order_type__c = '返品';
            Order2.Dealer_Info__c = myAccount1.id;
            Order2.RecordTypeid = System.Label.Dealer_Returned_Label;
            insert Order1;
            insert Order2;

            //订单明细
            //fahuo
            Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c();
            Orderdet.Name = 'OCM_01_00101';
            Orderdet.Consumable_order__c = Order1.Id;
            Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
            Orderdet.Consumable_Product__c = pro1.Id;
            Orderdet.Consumable_count__c = 4;
            insert Orderdet;

            //发货明细
            //没出库，没销售，就是在库
            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.Asset_Model_No__c = 'Pro001';
            Orderdet1.Arrive_date__c = date.today();
            Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRF';
            Orderdet1.TracingCode__c = 'BXSYS';

            //daohuo
            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.Asset_Model_No__c = 'Pro001';
            Orderdet2.Consumable_Arrived_order__c = Order1.Id;
            Orderdet2.Arrive_date__c = date.today();
            Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRI';
            Orderdet2.TracingCode__c = 'BXSYS';
            //sale
            Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c();
            Orderdet3.Name = 'OCM_01_001003';
            Orderdet3.Consumable_order_minor__c = Order1.Id;
            Orderdet3.Consumable_Product__c = pro1.Id;
            Orderdet3.Asset_Model_No__c = 'Pro001';
            Orderdet3.Consumable_Arrived_order__c = Order1.Id;
            Orderdet3.Arrive_date__c = date.today();
            Orderdet3.Used_date__c = date.today();
            Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRJ';
            Orderdet3.TracingCode__c = 'BXSYS';
            //出库
            Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
            Orderdet4.Name = 'OCM_01_001004';
            Orderdet4.Consumable_order_minor__c = Order1.Id;
            Orderdet4.Consumable_Product__c = pro1.Id;
            Orderdet4.Asset_Model_No__c = 'Pro001';
            Orderdet4.Consumable_Arrived_order__c = Order1.Id;
            Orderdet4.Consumable_Shipment_order__c = Order1.Id;
            Orderdet4.Send_Date__c = date.today();
            Orderdet4.Arrive_date__c = date.today();
            Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BX222';
            Orderdet4.TracingCode__c = 'BXSYS';
            //quxiao
            Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c();
            Orderdet5.Name = 'OCM_01_001005';
            Orderdet5.Consumable_order_minor__c = Order1.Id;
            Orderdet5.Consumable_Product__c = pro1.Id;
            Orderdet5.Asset_Model_No__c = 'Pro001';
            Orderdet5.Cancellation_Date__c = Date.today();
            Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRZ';
            Orderdet5.Box_Piece__c = '个';
            Orderdet5.TracingCode__c = 'BXSYS';
            //fanpin
            Consumable_order_details2__c Orderdet6 = new Consumable_order_details2__c();
            Orderdet6.Name = 'OCM_01_001006';
            Orderdet6.Consumable_order_minor__c = Order1.Id;
            Orderdet6.Consumable_Product__c = pro1.Id;
            Orderdet6.Asset_Model_No__c = 'Pro001';
            Orderdet6.Consumable_Return_order__c = Order2.Id;
            Orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet6.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA';
            Orderdet6.Box_Piece__c = '个';
            Orderdet6.TracingCode__c = 'BXSYS';

            Consumable_order_details2__c Orderdet7 = new Consumable_order_details2__c();
            Orderdet7.Name = 'OCM_01_001001';
            Orderdet7.Consumable_order_minor__c = Order1.Id;
            Orderdet7.Consumable_Product__c = pro1.Id;
            Orderdet7.Asset_Model_No__c = 'Pro001';
            Orderdet7.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            Orderdet7.Bar_Code__c = '01049531702003111115120017181000105ZK250BX333';
            Orderdet7.TracingCode__c = 'BXSYS';
            insert new List<Consumable_order_details2__c>{ Orderdet1, Orderdet2, Orderdet3, Orderdet4, Orderdet5, Orderdet6, Orderdet7 };
            ArriveGoodsController Controller = new ArriveGoodsController();
            System.Test.startTest();
            Controller.init();
            Controller.barcode = '01049531702003111115120017181000105ZK250BXAAA\n01049531702003111115120017181000105ZK250BXJRJ\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BX123\n01049531702003111115120017181000105ZK250BX222';
            Controller.SearchPro();
            Controller.ArriveGoodsConfim();
            Controller.UpdateGoodsOfReturn();
            controller.getinventorysize();
            LexArriveGoodsController.Results re = LexArriveGoodsController.init('Arr', '');
            String arrControllerStr = re.arrGoodCon;
            re = LexArriveGoodsController.searchProduct(
                '01049531702003111115120017181000105ZK250BXAAA\n01049531702003111115120017181000105ZK250BXJRJ\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BX123\n01049531702003111115120017181000105ZK250BX222',
                arrControllerStr
            );
=======
    static void test2(){
        NoteStay__c n = new NoteStay__c(Name = 'NoteStay',IsStay__c = true);
        insert n;
        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重验证(ET Email)'];
		Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];


		Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
		Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id);
		insert new account[]{myAccount1,myAccount2};

		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',UserPro_Type__c = 'ET');
		System.runAs(new User(Id = UserInfo.getUserId())){
            insert MyUser_Test;
        }

		// User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
		// Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
		// Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
		// insert new Product2[] {prod01,prod02};
		system.runAs(MyUser_Test){
			Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',RecordTypeId = '01210000000aMAFAA2',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
			Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',RecordTypeId = '01210000000aMAFAA2',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
			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_Delivery;

			//返品订单

			Consumable_order__c Order2 = new Consumable_order__c();
			Order2.Name = 'OCM_01_002';
			Order2.Order_status__c = '批准';
			Order2.Order_type__c = '返品';
			Order2.Dealer_Info__c = myAccount1.id;
			Order2.RecordTypeid = System.Label.Dealer_Returned_Label;
			insert Order1;
			insert Order2;

			//订单明细
			//fahuo
			Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c();
			Orderdet.Name = 'OCM_01_00101';
			Orderdet.Consumable_order__c = Order1.Id;
			Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
			Orderdet.Consumable_Product__c = pro1.Id;
			Orderdet.Consumable_count__c = 4;
			insert Orderdet;

			//发货明细
			//没出库，没销售，就是在库
			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.Asset_Model_No__c = 'Pro001';
			Orderdet1.Arrive_date__c = date.today();
			Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
			Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRF';
			Orderdet1.TracingCode__c = 'BXSYS';

			//daohuo
			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.Asset_Model_No__c = 'Pro001';
			Orderdet2.Consumable_Arrived_order__c = Order1.Id;
			Orderdet2.Arrive_date__c = date.today();
			Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
			Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRI';
			Orderdet2.TracingCode__c = 'BXSYS';
			//sale
			Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c();
			Orderdet3.Name = 'OCM_01_001003';
			Orderdet3.Consumable_order_minor__c = Order1.Id;
			Orderdet3.Consumable_Product__c = pro1.Id;
			Orderdet3.Asset_Model_No__c = 'Pro001';
			Orderdet3.Consumable_Arrived_order__c = Order1.Id;
			Orderdet3.Arrive_date__c = date.today();
			Orderdet3.Used_date__c = date.today();
			Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
			Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRJ';
			Orderdet3.TracingCode__c = 'BXSYS';
			//出库
			Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
			Orderdet4.Name = 'OCM_01_001004';
			Orderdet4.Consumable_order_minor__c = Order1.Id;
			Orderdet4.Consumable_Product__c = pro1.Id;
			Orderdet4.Asset_Model_No__c = 'Pro001';
			Orderdet4.Consumable_Arrived_order__c = Order1.Id;
			Orderdet4.Consumable_Shipment_order__c = Order1.Id;
			Orderdet4.Send_Date__c = date.today();
			Orderdet4.Arrive_date__c = date.today();
			Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
			Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BX222';
			Orderdet4.TracingCode__c = 'BXSYS';
			//quxiao
			Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c();
			Orderdet5.Name = 'OCM_01_001005';
			Orderdet5.Consumable_order_minor__c = Order1.Id;
			Orderdet5.Consumable_Product__c = pro1.Id;
			Orderdet5.Asset_Model_No__c = 'Pro001';
			Orderdet5.Cancellation_Date__c = Date.today();
			Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
			Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRZ';
			Orderdet5.Box_Piece__c ='个';
			Orderdet5.TracingCode__c = 'BXSYS';
			//fanpin
			Consumable_order_details2__c Orderdet6 = new Consumable_order_details2__c();
			Orderdet6.Name = 'OCM_01_001006';
			Orderdet6.Consumable_order_minor__c = Order1.Id;
			Orderdet6.Consumable_Product__c = pro1.Id;
			Orderdet6.Asset_Model_No__c = 'Pro001';
			Orderdet6.Consumable_Return_order__c = Order2.Id;
			Orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
			Orderdet6.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA';
			Orderdet6.Box_Piece__c ='个';
			Orderdet6.TracingCode__c = 'BXSYS';

			Consumable_order_details2__c Orderdet7 = new Consumable_order_details2__c();
			Orderdet7.Name = 'OCM_01_001001';
			Orderdet7.Consumable_order_minor__c = Order1.Id;
			Orderdet7.Consumable_Product__c = pro1.Id;
			Orderdet7.Asset_Model_No__c = 'Pro001';
			Orderdet7.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
			Orderdet7.Bar_Code__c = '01049531702003111115120017181000105ZK250BX333';
			Orderdet7.TracingCode__c = 'BXSYS';
			insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5,Orderdet6,Orderdet7};
			ArriveGoodsController Controller = new ArriveGoodsController();
			System.Test.startTest();
			Controller.init();
			Controller.barcode = '01049531702003111115120017181000105ZK250BXAAA\n01049531702003111115120017181000105ZK250BXJRJ\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BX123\n01049531702003111115120017181000105ZK250BX222';
			Controller.SearchPro();
			Controller.ArriveGoodsConfim();
			Controller.UpdateGoodsOfReturn();
			controller.getinventorysize();
            LexArriveGoodsController.Results re =  LexArriveGoodsController.init('Arr','');
            String arrControllerStr = re.arrGoodCon;
            re = LexArriveGoodsController.searchProduct('01049531702003111115120017181000105ZK250BXAAA\n01049531702003111115120017181000105ZK250BXJRJ\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BX123\n01049531702003111115120017181000105ZK250BX222', arrControllerStr);
>>>>>>> LEXCommunityLiJun
            arrControllerStr = re.arrGoodCon;
            LexArriveGoodsController.arriveGoodsConfim(arrControllerStr);
            LexArriveGoodsController.updateGoodsOfReturn(re.arrGoodCon, JSON.serialize(re.showGoodsofReturnList));
            LexArriveGoodsController.ConsumableorderdetailsInfo con = new LexArriveGoodsController.ConsumableorderdetailsInfo();
            List<LexArriveGoodsController.ConsumableorderdetailsInfo> conList = new List<LexArriveGoodsController.ConsumableorderdetailsInfo>();
            conList.add(con);
            LexArriveGoodsController.changeType2(conList);
<<<<<<< HEAD
            System.Test.stopTest();
        }
    }
}
=======
			System.Test.stopTest();
        }
    }
}
>>>>>>> LEXCommunityLiJun
