@isTest
private class LexRemoveBoxControllerTest
{
    
    static testMethod void myUnitTest() {
        user myUser_test;
        Account myAccount2;
        User thisUser = [ select Id from User where Id = :UserInfo.getUserId()];
        System.runAs(thisUser){
            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)'];
            myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
            insert myAccount2;
            Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount2.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 = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com',Work_Location__c = '重庆');
            insert MyUser_Test;
        }

        System.runAs(myUser_Test){
            StaticParameter.EscapeConsumableOrderDetail2Trigger = true;
            StaticParameter.EscapeNFM007Trigger = true;
            StaticParameter.EscapeOpportunityBefUpdTrigger = true;
            StaticParameter.EscapeOpportunityHpDeptUpdTrigger = true;
            StaticParameter.EscapeSyncOpportunityTrigger = true;
            StaticParameter.EscapeSyncProduct2Trigger = true;
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Packing_list_manual__c=12,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',Packing_list_manual__c=10,Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod03 = new Product2(Name='Test03',ProductCode='Test03',Asset_Model_No__c = 'Test03',SFDA_Status__c = '有効',JANCODE__c = '04953170200313',Packing_list_manual__c=1,Dealer_special_Object__c = true,Manual_Entry__c = false);
            insert new Product2[]{prod01,prod02,prod03};
            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);
            insert new Product2__c[] {pro1, pro2,pro3};
            //订单
            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 = myAccount2.Id;
            Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            Order1.Order_ProType__c = 'ET';
            insert Order1;
            List<Consumable_order_details2__c> conList1 = new List<Consumable_order_details2__c>();

            //daoku
            Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c();
            Orderdet2.Name = 'OCM_01_001001';
            Orderdet2.Consumable_order_minor__c = Order1.Id;
            Orderdet2.Consumable_Product__c = pro1.Id;
            Orderdet2.Asset_Model_No__c = 'Test01';
            Orderdet2.Arrive_date__c = Date.today();
            Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRF';
            Orderdet2.Used_date__c = null;
            Orderdet2.Lose_Flag__c = false;
            Orderdet2.Return_date__c= null;
            Orderdet2.Send_Date__c= null;
            Orderdet2.Box_Piece__c = '盒';
            conList1.add(Orderdet2);

            //chuhe
            Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c();
            Orderdet3.Name = 'OCM_01_001002';
            Orderdet3.Consumable_order_minor__c = Order1.Id;
            Orderdet3.Consumable_Product__c = pro2.Id;
            Orderdet3.Asset_Model_No__c = 'Test02';
            Orderdet3.Arrive_date__c = Date.today();
            Orderdet3.Send_Date__c = Date.today();
            Orderdet3.Box_Piece__c = '个';
            Orderdet3.RemoveBox_date__c= Date.today();
            Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA';
            Orderdet3.Used_date__c = null;
            Orderdet3.Lose_Flag__c = false;
            Orderdet3.Return_date__c= null;
            conList1.add(Orderdet3);


            //sale
            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 = pro2.Id;
            Orderdet4.Asset_Model_No__c = 'Test02';
            Orderdet4.Arrive_date__c = Date.today();
            Orderdet4.Box_Piece__c = '个';
            Orderdet4.RemoveBox_date__c= Date.today();
            Orderdet4.Bar_Code__c = '011495317020843711170400172003311074K250CXSDS';
            Orderdet4.Lose_Flag__c = false;
            Orderdet4.Return_date__c= null;
            Orderdet4.Used_date__c= Date.today();
            conList1.add(Orderdet4);

            List<Consumable_order_details2__c> conList = new List<Consumable_order_details2__c>();
            //ProductPacking_list_manual__c=1
            Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c();
            Orderdet5.Name = 'OCM_01_001004';
            Orderdet5.Consumable_order_minor__c = Order1.Id;
            Orderdet5.Consumable_Product__c = pro3.Id;
            Orderdet5.Asset_Model_No__c = 'Test03';
            Orderdet5.Arrive_date__c = Date.today();
            //Orderdet5.Used_date__c = Date.today();
            Orderdet5.Box_Piece__c = '盒';
            Orderdet5.RemoveBox_date__c= Date.today();
            Orderdet5.Used_date__c = null;
            Orderdet5.Lose_Flag__c = false;
            Orderdet5.Return_date__c= null;
            Orderdet5.Send_Date__c=null;
            Orderdet5.Bar_Code__c = '010495317014059411170400172203311074K250DCWQW';
            conList.add(Orderdet5);
            //pandian
            Consumable_order_details2__c Orderdet7 = new Consumable_order_details2__c();
            Orderdet7.Name = 'OCM_01_001004';
            Orderdet7.Consumable_order_minor__c = Order1.Id;
            Orderdet7.Consumable_Product__c = pro2.Id;
            Orderdet7.Asset_Model_No__c = 'Test02';
            Orderdet7.Box_Piece__c = '盒';
            Orderdet7.Lose_Flag__c = false;
            Orderdet7.Bar_Code__c = '010495317014059411170400172203311074K250DBVUD';
            Orderdet7.RemoveBox_date__c= Date.today();
            Orderdet7.Inventory_date__c= Date.today();
            conList.add(Orderdet7);

            Consumable_order_details2__c Orderdet8= new Consumable_order_details2__c();
            Orderdet8.Name = 'OCM_01_001004';
            Orderdet8.Consumable_order_minor__c = Order1.Id;
            Orderdet8.Consumable_Product__c = pro2.Id;
            Orderdet8.Asset_Model_No__c = 'Test02';
            Orderdet8.Arrive_date__c = Date.today();
            Orderdet8.Box_Piece__c = '个';
            Orderdet8.Lose_Flag__c = false;
            Orderdet8.Bar_Code__c = '010495317014059411170400172203311074K250DBVUC';
            Orderdet8.Used_date__c = null;
            Orderdet8.Lose_Flag__c = false;
            Orderdet8.Return_date__c= null;
            Orderdet8.RemoveBox_date__c=Date.today();
            Orderdet8.Send_Date__c=null;
            Orderdet8.RemoveBox_No__c =3;
            conList.add(Orderdet8);
            insert conList1;
            insert conList;


            System.Test.startTest();
            LexRemoveBoxController Controller = new LexRemoveBoxController();
            LexRemoveBoxController.init();
            LexRemoveBoxController.searchConsumableorderdetails('01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BXJRA\n011495317020843711170400172003311074K250CXSDS\n010495317014059411170400172203311074K250DCWQW\n010495317014059411170400172203311074K250DBVUD\n010495317014059411170400172203311074K250DBVUC'
            ,myAccount2.Id,'深圳','ET');
            LexRemoveBoxController.searchConsumableorderdetails('',myAccount2.Id,'重庆','ET');
            LexRemoveBoxController.barcode = '1004\n1003\n1002\n1001';
            LexRemoveBoxController.getinventorysize();
            LexRemoveBoxController.removeBoxConfirm(JSON.serialize(conList),'Testaccount002','重庆','ENG');
            List<Consumable_order_details2__c> orderDetaList = new List<Consumable_order_details2__c>(); 
            LexRemoveBoxController.removeBoxConfirm(JSON.serialize(orderDetaList),'Testaccount002','重庆','ENG');
            System.Test.stopTest();

        }
    }
    static testMethod void testMethod1() {
        user myUser_test;
        Account myAccount2;
        User thisUser = [ select Id from User where Id = :UserInfo.getUserId()];
        System.runAs(thisUser){
            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)'];
            myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
            insert myAccount2;
            Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount2.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 = prof.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 = '有効',JANCODE__c = '04953170200311',Packing_list_manual__c=12,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',Packing_list_manual__c=10,Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod03 = new Product2(Name='Test03',ProductCode='Test03',Asset_Model_No__c = 'Test03',SFDA_Status__c = '有効',JANCODE__c = '04953170200313',Dealer_special_Object__c = true,Packing_list_manual__c = 1,Manual_Entry__c = false);
            insert new Product2[]{prod01,prod02,prod03};
            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);
            insert new Product2__c[] {pro1, pro2,pro3};
            //订单
            Consumable_order__c Order1 = new Consumable_order__c();
            Order1.Name = 'OCM_01';
            Order1.Order_status__c = '批准';
            Order1.Order_type__c = '订单';
            Order1.Dealer_Info__c = myAccount2.Id;
            Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            Order1.Order_ProType__c = 'ET';
            insert  Order1;
            //发货
            Consumable_order__c Order2 = new Consumable_order__c();
            Order2.Name = 'OCM_01';
            Order2.Order_status__c = '批准';
            Order2.Order_type__c = '订单 ';
            Order2.Dealer_Info__c = myAccount2.Id;
            Order2.RecordTypeid = '01210000000c9drAAA';
            Order2.Order_ProType__c = 'ENG';
            insert Order2;

            List<Consumable_order_details2__c> conList1 = new List<Consumable_order_details2__c> ();
             //产品类型不同
            Consumable_order_details2__c con = new Consumable_order_details2__c();
            con.Name = 'OCM_01_001001';
            con.Consumable_order_minor__c = Order1.Id;
            con.Consumable_Product__c = pro1.Id;
            con.Asset_Model_No__c = 'Test01';
            con.Arrive_date__c = Date.today();
            con.Bar_Code__c = '10011';
            con.Used_date__c = null;
            con.Lose_Flag__c = false;
            con.Return_date__c= null;
            con.Send_Date__c= null;
            con.Box_Piece__c = '盒';
            conList1.add(con);
          
            // 未到货
            Consumable_order_details2__c con2 = new Consumable_order_details2__c();
            con2.Arrive_date__c = null;
            con2.Send_Date__c =null;
            con2.Used_date__c = null;
            con2.Return_date__c = null;
            con2.Lose_Flag__c = false;
            con2.Box_Piece__c = '盒';
            con2.Consumable_Arrived_order__c = Order2.Id;
            con2.Consumable_Product__c = pro2.Id;
            con2.Consumable_order_minor__c = Order2.Id;
            con2.Bar_Code__c = '10031';
            conList1.add(con2);
            //规格=1
            Consumable_order_details2__c con3 = new Consumable_order_details2__c();
            con3.Arrive_date__c = Date.today();
            con3.Send_Date__c =null;
            con3.Used_date__c = null;
            con3.Return_date__c = null;
            con3.Lose_Flag__c = false;
            con3.Box_Piece__c = '盒';
            con3.Consumable_Arrived_order__c = Order2.Id;
            con3.Consumable_Product__c = pro3.Id;
            con3.Consumable_order_minor__c = Order2.Id;
            con3.RemoveBox_date__c= Date.today();
            con3.Bar_Code__c = '10032';
            conList1.add(con3);

            insert conList1;
            System.Test.startTest();
            LexRemoveBoxController.searchConsumableorderdetails('10011','Testaccount002','重庆','ET');
            LexRemoveBoxController.searchConsumableorderdetails('10031\n10032','Testaccount002','重庆','ENG');
            System.Test.stopTest();
        }
    }
    static testMethod void testMethod2() {
        // TO DO: implement unit test
        user myUser_test;
        Account myAccount2;
        Product2__c pro2 ;
        Product2__c pro3;
        Product2__c pro1;
        User thisUser = [ select Id from User where Id = :UserInfo.getUserId()];
        System.runAs(thisUser){
            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)'];
            myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
            insert myAccount2;
            Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount2.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 = prof.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 = '有効',JANCODE__c = '04953170200311',Packing_list_manual__c=12,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',Packing_list_manual__c=10,Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod03 = new Product2(Name='Test03',ProductCode='Test03',Asset_Model_No__c = 'Test03',SFDA_Status__c = '有効',JANCODE__c = '04953170200313',Dealer_special_Object__c = true,Packing_list_manual__c = 1,Manual_Entry__c = false);
            insert new Product2[]{prod01,prod02,prod03};
            pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='Test001',Product2__c = prod01.Id);
            pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='Test002',Product2__c = prod02.Id);
            pro3 = new Product2__c(Name='Pro003',OT_CODE_Text__c='Test003',Product2__c = prod03.Id);
            insert new Product2__c[] {pro1, pro2, pro3};
            List<Consumable_order__c> orderList = new List<Consumable_order__c>();
            List<Consumable_order__c> orderList1 = new List<Consumable_order__c>();
            //到货
            Consumable_order__c Order1 = new Consumable_order__c();
            Order1.Name = 'OCM_01';
            Order1.Order_status__c = '批准';
            Order1.Order_type__c = '到货';
            Order1.Dealer_Info__c = myAccount2.Id;
            Order1.RecordTypeid = '01210000000c9dqAAA';
            Order1.Order_ProType__c = 'ET';
            orderList.add(Order1);
            //销售
            Consumable_order__c Order2 = new Consumable_order__c();
            Order2.Name = 'OCM_0144';
            Order2.Order_status__c = '批准';
            Order2.Order_type__c = '销售';
            Order2.Dealer_Info__c = myAccount2.Id;
            Order2.RecordTypeid = '01210000000c9duAAA';
            Order2.Order_ProType__c = 'ENG';
            orderList.add(Order2);
            insert orderList;

             //出货
             Consumable_order__c Order3 = new Consumable_order__c();
             Order3.Name = 'OCM_03';
             Order3.Order_status__c = '批准';
             Order3.Order_type__c = '出货';
             Order3.Dealer_Info__c = myAccount2.Id;
             Order3.RecordTypeid = '012100000006Jx9AAE';
             Order3.Order_ProType__c = 'ENG';
             orderList1.add(Order3);

             //发货
             Consumable_order__c Order4 = new Consumable_order__c();
             Order4.Name = 'OCM_03';
             Order4.Order_status__c = '批准';
             Order4.Order_type__c = '发货';
             Order4.Dealer_Info__c = myAccount2.Id;
             Order4.RecordTypeid = '01210000000c9drAAA';
             Order4.Order_ProType__c = 'ENG';
             orderList1.add(Order4);
             insert orderList1;

             List<Consumable_order_details2__c> conList1 = new List<Consumable_order_details2__c> ();
             //产品类型不同
            Consumable_order_details2__c con = new Consumable_order_details2__c();
            con.Name = 'OCM_01_001001';
            con.Consumable_order_minor__c = Order1.Id;
            con.Consumable_Product__c = pro1.Id;
            con.Asset_Model_No__c = 'Test01';
            con.Arrive_date__c = Date.today();
            con.Bar_Code__c = '10011';
            con.Used_date__c = null;
            con.Lose_Flag__c = false;
            con.Return_date__c= null;
            con.Send_Date__c= null;
            con.Box_Piece__c = '盒';
            conList1.add(con);
          
            // // 未到货
            Consumable_order_details2__c con2 = new Consumable_order_details2__c();
            con2.Arrive_date__c = null;
            con2.Send_Date__c =null;
            con2.Used_date__c = null;
            con2.Return_date__c = null;
            con2.Lose_Flag__c = false;
            con2.Box_Piece__c = '盒';
            con2.Consumable_Arrived_order__c = Order2.Id;
            con2.Consumable_Product__c = pro2.Id;
            con2.Consumable_order_minor__c = Order2.Id;
            con2.Bar_Code__c = '10031';
            conList1.add(con2);
            //规格=1
            Consumable_order_details2__c con3 = new Consumable_order_details2__c();
            con3.Arrive_date__c = Date.today();
            con3.Send_Date__c =null;
            con3.Used_date__c = null;
            con3.Return_date__c = null;
            con3.Lose_Flag__c = false;
            con3.Box_Piece__c = '盒';
            con3.Consumable_Arrived_order__c = Order2.Id;
            con3.Consumable_Product__c = pro3.Id;
            con3.Consumable_order_minor__c = Order2.Id;
            con3.RemoveBox_date__c= Date.today();
            con3.Bar_Code__c = '10032';
            conList1.add(con3);

            insert conList1;
            System.Test.startTest();
            LexRemoveBoxController.searchConsumableorderdetails('10031\n10032\n','Testaccount002','重庆','ENG');
            System.Test.stopTest();
        }
    }
    static testMethod void testMethod3() {
        // TO DO: implement unit test
        user myUser_test;
        Account myAccount2;
        Product2__c pro2 ;
        Product2__c pro3;
        Product2__c pro1;
        User thisUser = [ select Id from User where Id = :UserInfo.getUserId()];
        System.runAs(thisUser){
            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)'];
            myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
            insert myAccount2;
            Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=myAccount2.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 = prof.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 = '有効',JANCODE__c = '04953170200311',Packing_list_manual__c=12,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',Packing_list_manual__c=10,Dealer_special_Object__c = true,Manual_Entry__c = false);
            Product2 prod03 = new Product2(Name='Test03',ProductCode='Test03',Asset_Model_No__c = 'Test03',SFDA_Status__c = '有効',JANCODE__c = '04953170200313',Dealer_special_Object__c = true,Packing_list_manual__c = 1,Manual_Entry__c = false);
            insert new Product2[]{prod01,prod02,prod03};
            pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='Test001',Product2__c = prod01.Id);
            pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='Test002',Product2__c = prod02.Id);
            pro3 = new Product2__c(Name='Pro003',OT_CODE_Text__c='Test003',Product2__c = prod03.Id);
            insert new Product2__c[] {pro1, pro2,pro3};
            List<Consumable_order__c> orderList = new List<Consumable_order__c>();
             //到货
             Consumable_order__c Order1 = new Consumable_order__c();
             Order1.Name = 'OCM_01';
             Order1.Order_status__c = '批准';
             Order1.Order_type__c = '到货';
             Order1.Dealer_Info__c = myAccount2.Id;
             Order1.RecordTypeid = '01210000000c9dqAAA';
             Order1.Order_ProType__c = 'ENG';
             orderList.add(Order1);
            //发货
            Consumable_order__c Order2 = new Consumable_order__c();
            Order2.Name = 'OCM_01';
            Order2.Order_status__c = '批准';
            Order2.Order_type__c = '订单 ';
            Order2.Dealer_Info__c = myAccount2.Id;
            Order2.RecordTypeid = '01210000000c9drAAA';
            Order2.Order_ProType__c = 'ENG';
            orderList.add(Order2);
            insert orderList;

            List<Consumable_order_details2__c> conList1 = new List<Consumable_order_details2__c> ();
             //产品类型不同
            Consumable_order_details2__c con = new Consumable_order_details2__c();
            con.Name = 'OCM_01_001001';
            con.Consumable_order_minor__c = Order1.Id;
            con.Consumable_Product__c = pro1.Id;
            con.Asset_Model_No__c = 'Test01';
            con.Arrive_date__c = Date.today();
            con.Bar_Code__c = '10011';
            con.Used_date__c = null;
            con.Lose_Flag__c = false;
            con.Return_date__c= null;
            con.Send_Date__c= null;
            con.Box_Piece__c = '盒';
            conList1.add(con);
          
            // 未到货
            Consumable_order_details2__c con2 = new Consumable_order_details2__c();
            con2.Arrive_date__c = null;
            con2.Send_Date__c =null;
            con2.Used_date__c = null;
            con2.Return_date__c = null;
            con2.Lose_Flag__c = false;
            con2.Box_Piece__c = '盒';
            con2.Consumable_Arrived_order__c = Order2.Id;
            con2.Consumable_Product__c = pro2.Id;
            con2.Consumable_order_minor__c = Order2.Id;
            con2.Bar_Code__c = '10031';
            conList1.add(con2);
            //规格=1
            Consumable_order_details2__c con3 = new Consumable_order_details2__c();
            con3.Arrive_date__c = Date.today();
            con3.Send_Date__c =null;
            con3.Used_date__c = null;
            con3.Return_date__c = null;
            con3.Lose_Flag__c = false;
            con3.Box_Piece__c = '盒';
            con3.Consumable_Arrived_order__c = Order2.Id;
            con3.Consumable_Product__c = pro3.Id;
            con3.Consumable_order_minor__c = Order2.Id;
            con3.RemoveBox_date__c= Date.today();
            con3.Bar_Code__c = '10032';
            conList1.add(con3);

            insert conList1;
            System.Test.startTest();
            LexRemoveBoxController.searchConsumableorderdetails('10011\n10031','Testaccount002','重庆','ENG');
            LexRemoveBoxController.searchConsumableorderdetails('10032','Testaccount002','上海','ENG');
            LexRemoveBoxController.removeBoxConfirm(JSON.serialize(conList1),'Testaccount002','重庆','ENG');
            System.Test.stopTest();

           
        }
    }
}