buli
2023-07-11 80a3f59e2d3df07805bc67e329300b8de90a5b3a
force-app/main/default/classes/LexInventoryControllerTest.cls
@@ -1,1179 +1,1087 @@
@isTest
public class LexInventoryControllerTest {
  static testMethod void InventoryControllerTest_PartBar() {
    user myUser_test;
    Account myAccount1;
    User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
    System.runAs(thisUser) {
      Profile prof1 = [
        SELECT Id
        FROM Profile
        WHERE Name = '901_经销商社区普通权限_2重验证(ET Email)'
      ];
      List<RecordType> rectCo = [
        SELECT Id
        FROM RecordType
        WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
      ];
      if (rectCo.size() == 0) {
        return;
      }
      StaticParameter.EscapeOrderDetail2Trigger = true;
      StaticParameter.EscapeConsumableOrderDetail2Trigger = true;
      RecordType rectCoO = [
        SELECT Id
        FROM RecordType
        WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院'
      ];
    static testMethod void InventoryControllerTest_PartBar() {
        user myUser_test;
        Account myAccount1;
        User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
        System.runAs(thisUser) {
            Profile prof1 = [
                SELECT Id
                FROM Profile
                WHERE Name = '901_经销商社区普通权限_2重验证(ET Email)'
            ];
            List<RecordType> rectCo = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
            ];
            if (rectCo.size() == 0) {
                return;
            }
            StaticParameter.EscapeOrderDetail2Trigger = true;
            StaticParameter.EscapeConsumableOrderDetail2Trigger = true;
            RecordType rectCoO = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院'
            ];
      Account olympus = new Account(
        RecordTypeId = rectCoO.Id,
        AgentCode_Ext__c = '9999900',
        Name = 'olympus'
      );
      insert olympus;
            Account olympus = new Account(RecordTypeId = rectCoO.Id, AgentCode_Ext__c = '9999900', Name = 'olympus');
            insert olympus;
      myAccount1 = new Account(
        name = 'Testaccount001',
        Dealer_discount__c = 10,
        RecordTypeId = rectCo[0].Id,
        AgentCode_Ext__c = '8888888'
      );
      insert myAccount1;
            myAccount1 = new Account(
                name = 'Testaccount001',
                Dealer_discount__c = 10,
                RecordTypeId = rectCo[0].Id,
                AgentCode_Ext__c = '8888888'
            );
            insert myAccount1;
      Contact core = new Contact(
        email = 'jplumber@salesforce.com',
        firstname = 'Joe',
        lastname = 'Plumber',
        accountid = myAccount1.id
      );
      insert core;
      MyUser_Test = new User(
        ContactId = core.id,
        Alias = 'newUser',
        Email = 'newuser@testorg.com',
        EmailEncodingKey = 'UTF-8',
        LastName = 'TestUser',
        LanguageLocaleKey = 'zh_CN',
        LocaleSidKey = 'zh_CN',
        ProfileId = prof1.Id,
        TimeZoneSidKey = 'Asia/Shanghai',
        UserName = 'testUser@testorg.com',
        Work_Location__c = '上海'
      );
      insert MyUser_Test;
            Contact core = new Contact(
                email = 'jplumber@salesforce.com',
                firstname = 'Joe',
                lastname = 'Plumber',
                accountid = myAccount1.id
            );
            insert core;
            MyUser_Test = new User(
                ContactId = core.id,
                Alias = 'newUser',
                Email = 'newuser@testorg.com',
                EmailEncodingKey = 'UTF-8',
                LastName = 'TestUser',
                LanguageLocaleKey = 'zh_CN',
                LocaleSidKey = 'zh_CN',
                ProfileId = prof1.Id,
                TimeZoneSidKey = 'Asia/Shanghai',
                UserName = 'testUser@testorg.com',
                Work_Location__c = '上海'
            );
            insert MyUser_Test;
        }
        System.runAs(MyUser_Test) {
            Product2 prod07 = new Product2(
                Name = 'Test07',
                ProductCode = 'Test07',
                Asset_Model_No__c = 'Test07',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 1,
                Manual_Entry__c = false
            );
            Product2 prod08 = new Product2(
                Name = 'Test08',
                ProductCode = 'Test08',
                Asset_Model_No__c = 'Test08',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 1,
                Manual_Entry__c = false
            );
            Product2 prod09 = new Product2(
                Name = 'Test09',
                ProductCode = 'Test09',
                Asset_Model_No__c = 'Test09',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 1,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod07, prod08, prod09 };
            //制作产品
            Product2__c proG = new Product2__c(Name = 'MH-155:白平衡帽', OT_CODE_Text__c = 'Test001', Product2__c = prod07.Id);
            insert proG;
            Product2__c proH = new Product2__c(Name = 'MB-677:BNC电缆', OT_CODE_Text__c = 'Test002', Product2__c = prod08.Id);
            insert proH;
            Product2__c proF = new Product2__c(Name = 'TooMAJ-643R:水囊鞘管003', OT_CODE_Text__c = 'Test003', Product2__c = prod09.Id);
            insert proF;
            //预制头明细
            Consumable_order__c CreateId = new Consumable_order__c();
            CreateId.Name = 'testMing';
            CreateId.Order_status__c = '草案中';
            CreateId.RecordTypeid = System.Label.RT_ConOrder_Order;
            CreateId.Dealer_Info__c = myAccount1.id;
            CreateId.Inventory_date__c = Date.today();
            CreateId.Order_type__c = '盘点';
            CreateId.Order_ProType__c = 'ET';
            insert CreateId;
            List<Consumable_order_details2__c> conList = new List<Consumable_order_details2__c>();
            //制作Consumable_order_details__c-------ProductCount
            Consumable_order_details2__c dataForProductCount9 = new Consumable_order_details2__c();
            dataForProductCount9.Bar_Code__c = '1234567890';
            dataForProductCount9.Sterilization_limit__c = Date.today().addDays(2);
            dataForProductCount9.Arrive_date__c = Date.today();
            dataForProductCount9.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            dataForProductCount9.Consumable_Product__c = proG.id;
            dataForProductCount9.Asset_Model_No__c = proG.Asset_Model_No__c;
            dataForProductCount9.Box_Piece__c = '盒';
            dataForProductCount9.Consumable_order_minor__c = CreateId.id;
            dataForProductCount9.Send_Date__c = null;
            dataForProductCount9.Used_date__c = null;
            dataForProductCount9.Lose_Flag__c = false;
            conList.add(dataForProductCount9);
            Consumable_order_details2__c dataForProductCount7 = new Consumable_order_details2__c();
            dataForProductCount7.Bar_Code__c = '1234567892';
            dataForProductCount7.Sterilization_limit__c = Date.today().addDays(2);
            dataForProductCount7.Arrive_date__c = Date.today();
            dataForProductCount7.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            dataForProductCount7.Consumable_Product__c = proH.id;
            dataForProductCount7.Asset_Model_No__c = proH.Asset_Model_No__c;
            dataForProductCount7.Box_Piece__c = '盒';
            dataForProductCount7.Consumable_order_minor__c = CreateId.id;
            dataForProductCount7.Send_Date__c = null;
            dataForProductCount7.Used_date__c = null;
            dataForProductCount7.Lose_Flag__c = false;
            conList.add(dataForProductCount7);
            Consumable_order_details2__c dataForProductCount = new Consumable_order_details2__c();
            dataForProductCount.Bar_Code__c = '1234567882';
            dataForProductCount.Sterilization_limit__c = Date.today().addDays(2);
            dataForProductCount.Arrive_date__c = Date.today();
            dataForProductCount.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            dataForProductCount.Consumable_Product__c = proG.id;
            dataForProductCount.Asset_Model_No__c = proG.Asset_Model_No__c;
            dataForProductCount.Box_Piece__c = '盒';
            dataForProductCount.Consumable_order_minor__c = CreateId.id;
            dataForProductCount.Send_Date__c = null;
            dataForProductCount.Used_date__c = null;
            dataForProductCount.Lose_Flag__c = true;
            conList.add(dataForProductCount);
            Consumable_order_details2__c dataForProductCount4 = new Consumable_order_details2__c();
            dataForProductCount4.Bar_Code__c = '1234567884';
            dataForProductCount4.Sterilization_limit__c = Date.today().addDays(2);
            dataForProductCount4.Arrive_date__c = Date.today();
            dataForProductCount4.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            dataForProductCount4.Consumable_Product__c = proF.id;
            dataForProductCount4.Asset_Model_No__c = proF.Asset_Model_No__c;
            dataForProductCount4.Box_Piece__c = '个';
            dataForProductCount4.Consumable_order_minor__c = CreateId.id;
            //dataForProductCount4.Lose_Flag__c = true;
            dataForProductCount4.RemoveBox_No__c = 1;
            conList.add(dataForProductCount4);
            Consumable_order_details2__c dataForProductCount5 = new Consumable_order_details2__c();
            dataForProductCount5.Bar_Code__c = '1234567885';
            dataForProductCount5.Sterilization_limit__c = Date.today().addDays(2);
            dataForProductCount5.Arrive_date__c = Date.today();
            dataForProductCount5.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            dataForProductCount5.Consumable_Product__c = proH.id;
            dataForProductCount5.Asset_Model_No__c = proH.Asset_Model_No__c;
            dataForProductCount5.Box_Piece__c = '个';
            dataForProductCount5.Consumable_order_minor__c = CreateId.id;
            dataForProductCount5.Lose_Flag__c = true;
            dataForProductCount5.RemoveBox_No__c = 1;
            conList.add(dataForProductCount5);
            insert conList;
            List<Consumable_order_details2__c> productCount_Res = [
                SELECT Id, Name
                FROM Consumable_order_details2__c
                WHERE
                    Dealer_Arrive__c = TRUE
                    AND Dealer_Shipment__c = FALSE
                    AND Dealer_Saled__c = FALSE
                    AND Lose_Flag__c = FALSE
                    AND Bar_Code__c != NULL
                    AND Dealer_Info_text__c = :myAccount1.Name
            ];
            //查询库存 追加返品库存
            List<Consumable_order_details2__c> conList1 = new List<Consumable_order_details2__c>();
            Consumable_order_details2__c con = new Consumable_order_details2__c();
            con.Arrive_date__c = Date.today();
            con.Send_Date__c = null;
            con.Used_date__c = null;
            con.Return_date__c = null;
            con.Lose_Flag__c = false;
            con.Cancellation_Flag__c = false;
            con.Consumable_Product__c = proG.Id;
            con.Asset_Model_No__c = 'Mj-1001';
            con.Sterilization_limit__c = Date.today().addDays(2);
            con.Box_Piece__c = '盒';
            con.Consumable_order_minor__c = CreateId.id;
            con.Bar_Code__c = '1234567885';
            conList1.add(con);
            Consumable_order_details2__c con1 = new Consumable_order_details2__c();
            con1.Arrive_date__c = Date.today();
            con1.Send_Date__c = null;
            con1.Used_date__c = null;
            con1.Return_date__c = null;
            con1.Lose_Flag__c = false;
            con1.Cancellation_Flag__c = false;
            con1.Consumable_Product__c = proG.Id;
            con1.Asset_Model_No__c = 'Mj-1001';
            con1.Sterilization_limit__c = Date.today().addDays(2);
            con1.Box_Piece__c = '个';
            con1.Consumable_order_minor__c = CreateId.id;
            con1.Bar_Code__c = '12345678856';
            conList1.add(con1);
            insert conList1;
            LexInventoryController OwnTest = new LexInventoryController();
            LexInventoryController.init();
            LexInventoryController controller = new LexInventoryController();
            List<LexInventoryController.ConsumableorderdetailsInfo> testList = LexInventoryController.consumableorderdetailsRecords;
            List<LexInventoryController.ConsumableorderdetailsInfo> testList1 = new List<LexInventoryController.ConsumableorderdetailsInfo>();
            System.debug('testCount:' + testList.size());
            for (LexInventoryController.ConsumableorderdetailsInfo ass : testList) {
                System.debug(ass.check);
                ass.check = true;
                testList1.add(ass);
            }
            System.debug('testList1:' + testList1);
            LexInventoryController.searchConsumableorderdetails(
                'ET',
                '上海',
                'Testaccount001',
                '12345678856\n1234567895\n1234567890\n12345678511\n1234567856\n1234567855\n1234567886\n12345678551\n1234567890\n1234567883\n1234567882\n1234567881\n1234567884\nn123456788412\n1234567885\n123456788512\n1234567891\n1234567892\n1234567893\n1234567894',
                JSON.serialize(testList1),
                1,
                0,
                'Test',
                'ASC'
            );
            LexInventoryController.searchConsumableorderdetails(
                'ET',
                '上海',
                'Testaccount001',
                '1234567882',
                JSON.serialize(testList1),
                1,
                0,
                'Test',
                'ASC'
            );
            LexInventoryController.barcode = '';
        }
    }
    System.runAs(MyUser_Test) {
      Product2 prod07 = new Product2(
        Name = 'Test07',
        ProductCode = 'Test07',
        Asset_Model_No__c = 'Test07',
        SFDA_Status__c = '有効',
        Dealer_special_Object__c = true,
        Packing_list_manual__c = 1,
        Manual_Entry__c = false
      );
      Product2 prod08 = new Product2(
        Name = 'Test08',
        ProductCode = 'Test08',
        Asset_Model_No__c = 'Test08',
        SFDA_Status__c = '有効',
        Dealer_special_Object__c = true,
        Packing_list_manual__c = 1,
        Manual_Entry__c = false
      );
      Product2 prod09 = new Product2(
        Name = 'Test09',
        ProductCode = 'Test09',
        Asset_Model_No__c = 'Test09',
        SFDA_Status__c = '有効',
        Dealer_special_Object__c = true,
        Packing_list_manual__c = 1,
        Manual_Entry__c = false
      );
    static testMethod void InventoryControllerTest_PartPan() {
        user MyUser_Test;
        Account myAccount1;
        User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
        System.runAs(thisUser) {
            Profile prof1 = [
                SELECT Id
                FROM Profile
                WHERE Name = '901_经销商社区普通权限_2重验证(ET Email)'
            ];
            List<RecordType> rectCo = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
            ];
            if (rectCo.size() == 0) {
                return;
            }
            RecordType rectCoO = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院'
            ];
            Account olympus = new Account(RecordTypeId = rectCoO.Id, AgentCode_Ext__c = '9999900', Name = 'olympus');
            insert olympus;
      insert new List<Product2>{ prod07, prod08, prod09 };
            Product2 prod07 = new Product2(
                Name = 'Test07',
                ProductCode = 'Test07',
                Asset_Model_No__c = 'Test07',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true
            );
            Product2 prod08 = new Product2(
                Name = 'Test08',
                ProductCode = 'Test08',
                Asset_Model_No__c = 'Test08',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true
            );
            Product2 prod09 = new Product2(
                Name = 'Test09',
                ProductCode = 'Test09',
                Asset_Model_No__c = 'Test09',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true
            );
            insert new List<Product2>{ prod07, prod08, prod09 };
      //制作产品
      Product2__c proG = new Product2__c(
        Name = 'MH-155:白平衡帽',
        OT_CODE_Text__c = 'Test001',
        Product2__c = prod07.Id
      );
      insert proG;
      Product2__c proH = new Product2__c(
        Name = 'MB-677:BNC电缆',
        OT_CODE_Text__c = 'Test002',
        Product2__c = prod08.Id
      );
      insert proH;
      Product2__c proF = new Product2__c(
        Name = 'TooMAJ-643R:水囊鞘管003',
        OT_CODE_Text__c = 'Test003',
        Product2__c = prod09.Id
      );
      insert proF;
            //制作产品
            Product2__c proG = new Product2__c(Name = 'Too001', OT_CODE_Text__c = 'Test001', Product2__c = prod07.Id);
            insert proG;
            Product2__c proH = new Product2__c(Name = 'Too002', OT_CODE_Text__c = 'Test002', Product2__c = prod08.Id);
            insert proH;
            Product2__c proF = new Product2__c(Name = 'Too003', OT_CODE_Text__c = 'Test001', Product2__c = prod09.Id);
            insert proF;
      //预制头明细
      Consumable_order__c CreateId = new Consumable_order__c();
      CreateId.Name = 'testMing';
      CreateId.Order_status__c = '草案中';
      CreateId.RecordTypeid = System.Label.RT_ConOrder_Order;
      CreateId.Dealer_Info__c = myAccount1.id;
      CreateId.Inventory_date__c = Date.today();
      CreateId.Order_type__c = '盘点';
      CreateId.Order_ProType__c = 'ET';
      insert CreateId;
      List<Consumable_order_details2__c> conList = new List<Consumable_order_details2__c>();
            myAccount1 = new Account(name = 'Testaccount001', Dealer_discount__c = 10, RecordTypeId = rectCo[0].Id);
      //制作Consumable_order_details__c-------ProductCount
      Consumable_order_details2__c dataForProductCount9 = new Consumable_order_details2__c();
      dataForProductCount9.Bar_Code__c = '1234567890';
      dataForProductCount9.Sterilization_limit__c = Date.today().addDays(2);
      dataForProductCount9.Arrive_date__c = Date.today();
      dataForProductCount9.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
      dataForProductCount9.Consumable_Product__c = proG.id;
      dataForProductCount9.Asset_Model_No__c = proG.Asset_Model_No__c;
      dataForProductCount9.Box_Piece__c = '盒';
      dataForProductCount9.Consumable_order_minor__c = CreateId.id;
      dataForProductCount9.Send_Date__c = null;
      dataForProductCount9.Used_date__c = null;
      dataForProductCount9.Lose_Flag__c = false;
      conList.add(dataForProductCount9);
            insert myAccount1;
      Consumable_order_details2__c dataForProductCount7 = new Consumable_order_details2__c();
      dataForProductCount7.Bar_Code__c = '1234567892';
      dataForProductCount7.Sterilization_limit__c = Date.today().addDays(2);
      dataForProductCount7.Arrive_date__c = Date.today();
      dataForProductCount7.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
      dataForProductCount7.Consumable_Product__c = proH.id;
      dataForProductCount7.Asset_Model_No__c = proH.Asset_Model_No__c;
      dataForProductCount7.Box_Piece__c = '盒';
      dataForProductCount7.Consumable_order_minor__c = CreateId.id;
      dataForProductCount7.Send_Date__c = null;
      dataForProductCount7.Used_date__c = null;
      dataForProductCount7.Lose_Flag__c = false;
      conList.add(dataForProductCount7);
      Consumable_order_details2__c dataForProductCount = new Consumable_order_details2__c();
      dataForProductCount.Bar_Code__c = '1234567882';
      dataForProductCount.Sterilization_limit__c = Date.today().addDays(2);
      dataForProductCount.Arrive_date__c = Date.today();
      dataForProductCount.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
      dataForProductCount.Consumable_Product__c = proG.id;
      dataForProductCount.Asset_Model_No__c = proG.Asset_Model_No__c;
      dataForProductCount.Box_Piece__c = '盒';
      dataForProductCount.Consumable_order_minor__c = CreateId.id;
      dataForProductCount.Send_Date__c = null;
      dataForProductCount.Used_date__c = null;
      dataForProductCount.Lose_Flag__c = true;
      conList.add(dataForProductCount);
      Consumable_order_details2__c dataForProductCount4 = new Consumable_order_details2__c();
      dataForProductCount4.Bar_Code__c = '1234567884';
      dataForProductCount4.Sterilization_limit__c = Date.today().addDays(2);
      dataForProductCount4.Arrive_date__c = Date.today();
      dataForProductCount4.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
      dataForProductCount4.Consumable_Product__c = proF.id;
      dataForProductCount4.Asset_Model_No__c = proF.Asset_Model_No__c;
      dataForProductCount4.Box_Piece__c = '个';
      dataForProductCount4.Consumable_order_minor__c = CreateId.id;
      //dataForProductCount4.Lose_Flag__c = true;
      dataForProductCount4.RemoveBox_No__c = 1;
      conList.add(dataForProductCount4);
      Consumable_order_details2__c dataForProductCount5 = new Consumable_order_details2__c();
      dataForProductCount5.Bar_Code__c = '1234567885';
      dataForProductCount5.Sterilization_limit__c = Date.today().addDays(2);
      dataForProductCount5.Arrive_date__c = Date.today();
      dataForProductCount5.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
      dataForProductCount5.Consumable_Product__c = proH.id;
      dataForProductCount5.Asset_Model_No__c = proH.Asset_Model_No__c;
      dataForProductCount5.Box_Piece__c = '个';
      dataForProductCount5.Consumable_order_minor__c = CreateId.id;
      dataForProductCount5.Lose_Flag__c = true;
      dataForProductCount5.RemoveBox_No__c = 1;
      conList.add(dataForProductCount5);
      insert conList;
      List<Consumable_order_details2__c> productCount_Res = [
        SELECT Id, Name
        FROM Consumable_order_details2__c
        WHERE
          Dealer_Arrive__c = TRUE
          AND Dealer_Shipment__c = FALSE
          AND Dealer_Saled__c = FALSE
          AND Lose_Flag__c = FALSE
          AND Bar_Code__c != NULL
          AND Dealer_Info_text__c = :myAccount1.Name
      ];
      //查询库存 追加返品库存
      List<Consumable_order_details2__c> conList1 = new List<Consumable_order_details2__c>();
      Consumable_order_details2__c con = new Consumable_order_details2__c();
      con.Arrive_date__c = Date.today();
      con.Send_Date__c = null;
      con.Used_date__c = null;
      con.Return_date__c = null;
      con.Lose_Flag__c = false;
      con.Cancellation_Flag__c = false;
      con.Consumable_Product__c = proG.Id;
      con.Asset_Model_No__c = 'Mj-1001';
      con.Sterilization_limit__c = Date.today().addDays(2);
      con.Box_Piece__c = '盒';
      con.Consumable_order_minor__c = CreateId.id;
      con.Bar_Code__c = '1234567885';
      conList1.add(con);
      Consumable_order_details2__c con1 = new Consumable_order_details2__c();
      con1.Arrive_date__c = Date.today();
      con1.Send_Date__c = null;
      con1.Used_date__c = null;
      con1.Return_date__c = null;
      con1.Lose_Flag__c = false;
      con1.Cancellation_Flag__c = false;
      con1.Consumable_Product__c = proG.Id;
      con1.Asset_Model_No__c = 'Mj-1001';
      con1.Sterilization_limit__c = Date.today().addDays(2);
      con1.Box_Piece__c = '个';
      con1.Consumable_order_minor__c = CreateId.id;
      con1.Bar_Code__c = '12345678856';
      conList1.add(con1);
      insert conList1;
      LexInventoryController OwnTest = new LexInventoryController();
      LexInventoryController.init();
      LexInventoryController controller = new LexInventoryController();
      List<LexInventoryController.ConsumableorderdetailsInfo> testList = LexInventoryController.consumableorderdetailsRecords;
      List<LexInventoryController.ConsumableorderdetailsInfo> testList1 = new List<LexInventoryController.ConsumableorderdetailsInfo>();
      System.debug('testCount:' + testList.size());
      for (LexInventoryController.ConsumableorderdetailsInfo ass : testList) {
        System.debug(ass.check);
        ass.check = true;
        testList1.add(ass);
      }
      System.debug('testList1:' + testList1);
      LexInventoryController.searchConsumableorderdetails(
        'ET',
        '上海',
        'Testaccount001',
        '12345678856\n1234567895\n1234567890\n12345678511\n1234567856\n1234567855\n1234567886\n12345678551\n1234567890\n1234567883\n1234567882\n1234567881\n1234567884\nn123456788412\n1234567885\n123456788512\n1234567891\n1234567892\n1234567893\n1234567894',
        JSON.serialize(testList1),
        1,
        0,
        'Test',
        'ASC'
      );
      LexInventoryController.searchConsumableorderdetails(
        'ET',
        '上海',
        'Testaccount001',
        '1234567882',
        JSON.serialize(testList1),
        1,
        0,
        'Test',
        'ASC'
      );
      LexInventoryController.barcode = '';
            Contact core = new Contact(
                email = 'jplumber@salesforce.com',
                firstname = 'Joe',
                lastname = 'Plumber',
                accountid = myAccount1.id
            );
            insert core;
            MyUser_Test = new User(
                ContactId = core.id,
                Alias = 'newUser',
                Email = 'newuser@testorg.com',
                EmailEncodingKey = 'UTF-8',
                LastName = 'TestUser',
                LanguageLocaleKey = 'zh_CN',
                LocaleSidKey = 'zh_CN',
                ProfileId = prof1.Id,
                TimeZoneSidKey = 'Asia/Shanghai',
                UserName = 'testUser@testorg.com'
            );
            insert MyUser_Test;
        }
        System.runAs(MyUser_Test) {
            InventoryController OwnTest = new InventoryController();
            OwnTest.size = 2;
            OwnTest.init();
            OwnTest.setCon.next();
            OwnTest.refreshPageSize();
            OwnTest.ConsumableorderdetailsRecordsview.sort();
            system.assertEquals(0, OwnTest.consumableorderdetailsCount);
            OwnTest.save();
        }
    }
  }
  static testMethod void InventoryControllerTest_PartPan() {
    user MyUser_Test;
    Account myAccount1;
    User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
    System.runAs(thisUser) {
      Profile prof1 = [
        SELECT Id
        FROM Profile
        WHERE Name = '901_经销商社区普通权限_2重验证(ET Email)'
      ];
      List<RecordType> rectCo = [
        SELECT Id
        FROM RecordType
        WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
      ];
      if (rectCo.size() == 0) {
        return;
      }
      RecordType rectCoO = [
        SELECT Id
        FROM RecordType
        WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院'
      ];
      Account olympus = new Account(
        RecordTypeId = rectCoO.Id,
        AgentCode_Ext__c = '9999900',
        Name = 'olympus'
      );
      insert olympus;
    static testMethod void InventoryControllerTest_ge() {
        user MyUser_Test;
        Account myAccount1;
        User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
        System.runAs(thisUser) {
            Profile prof1 = [
                SELECT Id
                FROM Profile
                WHERE Name = '901_经销商社区普通权限_2重验证(ET Email)'
            ];
            List<RecordType> rectCo = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
            ];
            if (rectCo.size() == 0) {
                return;
            }
            StaticParameter.EscapeConsumableOrderDetail2Trigger = true;
      Product2 prod07 = new Product2(
        Name = 'Test07',
        ProductCode = 'Test07',
        Asset_Model_No__c = 'Test07',
        SFDA_Status__c = '有効',
        Dealer_special_Object__c = true
      );
      Product2 prod08 = new Product2(
        Name = 'Test08',
        ProductCode = 'Test08',
        Asset_Model_No__c = 'Test08',
        SFDA_Status__c = '有効',
        Dealer_special_Object__c = true
      );
      Product2 prod09 = new Product2(
        Name = 'Test09',
        ProductCode = 'Test09',
        Asset_Model_No__c = 'Test09',
        SFDA_Status__c = '有効',
        Dealer_special_Object__c = true
      );
      insert new List<Product2>{ prod07, prod08, prod09 };
            RecordType rectCoO = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院'
            ];
            Account olympus = new Account(RecordTypeId = rectCoO.Id, AgentCode_Ext__c = '9999900', Name = 'olympus');
            insert olympus;
            myAccount1 = new Account(
                name = 'Testaccount001',
                Dealer_discount__c = 10,
                RecordTypeId = rectCo[0].Id,
                AgentCode_Ext__c = '8888888'
            );
            insert myAccount1;
            Contact core = new Contact(
                email = 'jplumber@salesforce.com',
                firstname = 'Joe',
                lastname = 'Plumber',
                accountid = myAccount1.id
            );
            insert core;
            MyUser_Test = new User(
                ContactId = core.id,
                Alias = 'newUser',
                Email = 'newuser@testorg.com',
                EmailEncodingKey = 'UTF-8',
                LastName = 'TestUser',
                LanguageLocaleKey = 'zh_CN',
                LocaleSidKey = 'zh_CN',
                ProfileId = prof1.Id,
                TimeZoneSidKey = 'Asia/Shanghai',
                UserName = 'testUser@testorg.com'
            );
            insert MyUser_Test;
        }
        System.runAs(MyUser_Test) {
            Product2 prod07 = new Product2(
                Name = 'Test07',
                ProductCode = 'Test07',
                Asset_Model_No__c = 'Test07',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 1,
                Manual_Entry__c = false
            );
            Product2 prod08 = new Product2(
                Name = 'Test08',
                ProductCode = 'Test08',
                Asset_Model_No__c = 'Test08',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 1,
                Manual_Entry__c = false
            );
            Product2 prod09 = new Product2(
                Name = 'Test09',
                ProductCode = 'Test09',
                Asset_Model_No__c = 'Test09',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 1,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod07, prod08, prod09 };
      //制作产品
      Product2__c proG = new Product2__c(
        Name = 'Too001',
        OT_CODE_Text__c = 'Test001',
        Product2__c = prod07.Id
      );
      insert proG;
      Product2__c proH = new Product2__c(
        Name = 'Too002',
        OT_CODE_Text__c = 'Test002',
        Product2__c = prod08.Id
      );
      insert proH;
      Product2__c proF = new Product2__c(
        Name = 'Too003',
        OT_CODE_Text__c = 'Test001',
        Product2__c = prod09.Id
      );
      insert proF;
            //制作产品
            Product2__c proG = new Product2__c(Name = 'MH-155:白平衡帽', OT_CODE_Text__c = 'Test001', Product2__c = prod07.Id);
            insert proG;
            Product2__c proH = new Product2__c(Name = 'MB-677:BNC电缆', OT_CODE_Text__c = 'Test002', Product2__c = prod08.Id);
            insert proH;
            Product2__c proF = new Product2__c(Name = 'TooMAJ-643R:水囊鞘管003', OT_CODE_Text__c = 'Test003', Product2__c = prod09.Id);
            insert proF;
      myAccount1 = new Account(
        name = 'Testaccount001',
        Dealer_discount__c = 10,
        RecordTypeId = rectCo[0].Id
      );
            //预制头明细
            Consumable_order__c CreateId = new Consumable_order__c();
            CreateId.Name = 'testMing';
            CreateId.Order_status__c = '草案中';
            CreateId.RecordTypeid = System.Label.RT_ConOrder_Order;
            CreateId.Dealer_Info__c = myAccount1.id;
            CreateId.Inventory_date__c = Date.today();
            CreateId.Order_type__c = '盘点';
            CreateId.Order_ProType__c = 'ET';
            insert CreateId;
            List<Consumable_order_details2__c> orderList = new List<Consumable_order_details2__c>();
      insert myAccount1;
            //制作Consumable_order_details__c-------ProductCount
            Consumable_order_details2__c dataForProductCount9 = new Consumable_order_details2__c();
            dataForProductCount9.Bar_Code__c = '1234567890';
            dataForProductCount9.Sterilization_limit__c = Date.today().addDays(2);
            dataForProductCount9.Arrive_date__c = Date.today();
            dataForProductCount9.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            dataForProductCount9.Consumable_Product__c = proG.id;
            dataForProductCount9.Asset_Model_No__c = proG.Asset_Model_No__c;
            dataForProductCount9.Box_Piece__c = '个';
            dataForProductCount9.RemoveBox_No__c = 1;
            orderList.add(dataForProductCount9);
      Contact core = new Contact(
        email = 'jplumber@salesforce.com',
        firstname = 'Joe',
        lastname = 'Plumber',
        accountid = myAccount1.id
      );
      insert core;
      MyUser_Test = new User(
        ContactId = core.id,
        Alias = 'newUser',
        Email = 'newuser@testorg.com',
        EmailEncodingKey = 'UTF-8',
        LastName = 'TestUser',
        LanguageLocaleKey = 'zh_CN',
        LocaleSidKey = 'zh_CN',
        ProfileId = prof1.Id,
        TimeZoneSidKey = 'Asia/Shanghai',
        UserName = 'testUser@testorg.com'
      );
      insert MyUser_Test;
            Consumable_order_details2__c dataForProductCount8 = new Consumable_order_details2__c();
            dataForProductCount8.Bar_Code__c = '1234567891';
            dataForProductCount8.Sterilization_limit__c = Date.today().addDays(2);
            dataForProductCount8.Arrive_date__c = Date.today();
            dataForProductCount8.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            dataForProductCount8.Consumable_Product__c = proG.id;
            dataForProductCount8.Asset_Model_No__c = proG.Asset_Model_No__c;
            orderList.add(dataForProductCount8);
            Consumable_order_details2__c dataForProductCount7 = new Consumable_order_details2__c();
            dataForProductCount7.Bar_Code__c = '1234567892';
            dataForProductCount7.Sterilization_limit__c = Date.today().addDays(2);
            dataForProductCount7.Arrive_date__c = Date.today();
            dataForProductCount7.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            dataForProductCount7.Consumable_Product__c = proH.id;
            dataForProductCount7.Asset_Model_No__c = proH.Asset_Model_No__c;
            dataForProductCount7.Box_Piece__c = '个';
            dataForProductCount7.Consumable_order_minor__c = CreateId.id;
            dataForProductCount7.Send_Date__c = null;
            dataForProductCount7.Used_date__c = null;
            dataForProductCount7.Lose_Flag__c = false;
            dataForProductCount7.RemoveBox_No__c = 1;
            orderList.add(dataForProductCount7);
            Consumable_order_details2__c dataForProduct = new Consumable_order_details2__c();
            dataForProduct.Bar_Code__c = '1234567894';
            dataForProduct.Sterilization_limit__c = Date.today().addDays(2);
            dataForProduct.Arrive_date__c = Date.today();
            dataForProduct.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            dataForProduct.Consumable_Product__c = proF.id;
            dataForProduct.Asset_Model_No__c = proF.Asset_Model_No__c;
            dataForProduct.Box_Piece__c = '个';
            dataForProduct.Consumable_order_minor__c = CreateId.id;
            dataForProduct.Send_Date__c = null;
            dataForProduct.Used_date__c = null;
            dataForProduct.Lose_Flag__c = false;
            dataForProduct.RemoveBox_No__c = 1;
            orderList.add(dataForProduct);
            Consumable_order_details2__c dataForProductCount3 = new Consumable_order_details2__c();
            dataForProductCount3.Bar_Code__c = '1234567883';
            dataForProductCount3.Sterilization_limit__c = Date.today().addDays(2);
            dataForProductCount3.Arrive_date__c = Date.today();
            dataForProductCount3.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            dataForProductCount3.Consumable_Product__c = proG.id;
            dataForProductCount3.Asset_Model_No__c = proG.Asset_Model_No__c;
            dataForProductCount3.Consumable_order_minor__c = CreateId.id;
            dataForProductCount3.Lose_Flag__c = true;
            //dataForProductCount3.RemoveBox_No__c = 1;
            orderList.add(dataForProductCount3);
            PageReference page = new Pagereference('/Inventory');
            page.setRedirect(true);
            System.Test.setCurrentPage(page);
            System.Test.startTest();
            LexInventoryController controller = new LexInventoryController();
            LexInventoryController.init();
            System.debug('===>值1' + LexInventoryController.consumableorderdetailsRecords);
            System.debug('===>值2' + JSON.serialize(LexInventoryController.consumableorderdetailsRecords));
            System.debug('===>2222222' + JSON.serialize(LexInventoryController.consumableorderdetailsRecords));
            List<LexInventoryController.ConsumableorderdetailsInfo> testList = LexInventoryController.consumableorderdetailsRecords;
            List<LexInventoryController.ConsumableorderdetailsInfo> testList1 = new List<LexInventoryController.ConsumableorderdetailsInfo>();
            System.debug('testCount:' + testList.size());
            for (LexInventoryController.ConsumableorderdetailsInfo ass : testList) {
                System.debug(ass.check);
                ass.check = true;
                testList1.add(ass);
            }
            System.debug('testList1:' + testList1);
            LexInventoryController.searchConsumableorderdetails(
                'ET',
                '上海',
                'Testaccount001',
                '12345678856\n1234567895\n1234567890\n12345678511\n1234567856\n1234567855\n1234567886\n12345678551\n1234567890\n1234567883\n1234567882\n1234567881\n1234567884\nn123456788412\n1234567885\n123456788512\n1234567891\n1234567892\n1234567893\n1234567894',
                JSON.serialize(testList1),
                1,
                0,
                'Test',
                'ASC'
            );
            System.Test.stopTest();
        }
    }
    System.runAs(MyUser_Test) {
      InventoryController OwnTest = new InventoryController();
      OwnTest.size = 2;
      OwnTest.init();
      OwnTest.setCon.next();
      OwnTest.refreshPageSize();
      OwnTest.ConsumableorderdetailsRecordsview.sort();
      system.assertEquals(0, OwnTest.consumableorderdetailsCount);
      OwnTest.save();
    static testMethod void InventoryControllerTest_xunhui() {
        user MyUser_Test;
        Account myAccount1;
        User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
        System.runAs(thisUser) {
            Profile prof1 = [
                SELECT Id
                FROM Profile
                WHERE Name = '901_经销商社区普通权限_2重验证(ET Email)'
            ];
            List<RecordType> rectCo = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
            ];
            if (rectCo.size() == 0) {
                return;
            }
            StaticParameter.EscapeOrderDetail2Trigger = true;
            StaticParameter.EscapeConsumableOrderDetail2Trigger = true;
            RecordType rectCoO = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院'
            ];
            Account olympus = new Account(RecordTypeId = rectCoO.Id, AgentCode_Ext__c = '9999900', Name = 'olympus');
            insert olympus;
            myAccount1 = new Account(
                name = 'Testaccount001',
                Dealer_discount__c = 10,
                RecordTypeId = rectCo[0].Id,
                AgentCode_Ext__c = '8888888'
            );
            insert myAccount1;
            Contact core = new Contact(
                email = 'jplumber@salesforce.com',
                firstname = 'Joe',
                lastname = 'Plumber',
                accountid = myAccount1.id
            );
            insert core;
            MyUser_Test = new User(
                ContactId = core.id,
                Alias = 'newUser',
                Email = 'newuser@testorg.com',
                EmailEncodingKey = 'UTF-8',
                LastName = 'TestUser',
                LanguageLocaleKey = 'zh_CN',
                LocaleSidKey = 'zh_CN',
                ProfileId = prof1.Id,
                TimeZoneSidKey = 'Asia/Shanghai',
                UserName = 'testUser@testorg.com'
            );
            insert MyUser_Test;
        }
        System.runAs(MyUser_Test) {
            Product2 prod07 = new Product2(
                Name = 'Test07',
                ProductCode = 'Test07',
                Asset_Model_No__c = 'Test07',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 1,
                Manual_Entry__c = false
            );
            Product2 prod08 = new Product2(
                Name = 'Test08',
                ProductCode = 'Test08',
                Asset_Model_No__c = 'Test08',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 1,
                Manual_Entry__c = false
            );
            Product2 prod09 = new Product2(
                Name = 'Test09',
                ProductCode = 'Test09',
                Asset_Model_No__c = 'Test09',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 1,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod07, prod08, prod09 };
            //制作产品
            Product2__c proG = new Product2__c(Name = 'MH-155:白平衡帽', OT_CODE_Text__c = 'Test001', Product2__c = prod07.Id);
            insert proG;
            Product2__c proH = new Product2__c(Name = 'MB-677:BNC电缆', OT_CODE_Text__c = 'Test002', Product2__c = prod08.Id);
            insert proH;
            Product2__c proF = new Product2__c(Name = 'TooMAJ-643R:水囊鞘管003', OT_CODE_Text__c = 'Test003', Product2__c = prod09.Id);
            insert proF;
            //预制头明细
            Consumable_order__c CreateId = new Consumable_order__c();
            CreateId.Name = 'testMing';
            CreateId.Order_status__c = '草案中';
            CreateId.RecordTypeid = System.Label.RT_ConOrder_Order;
            CreateId.Dealer_Info__c = myAccount1.id;
            CreateId.Inventory_date__c = Date.today();
            CreateId.Order_type__c = '盘点';
            CreateId.Order_ProType__c = 'ET';
            insert CreateId;
            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 = myAccount1.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 = myAccount1.Id;
            Order2.RecordTypeid = '01210000000c9drAAA';
            Order2.Order_ProType__c = 'ENG';
            orderList.add(Order2);
            insert orderList;
            //制作Consumable_order_details__c-------ProductCount
            Consumable_order_details2__c dataForProductCount9 = new Consumable_order_details2__c();
            dataForProductCount9.Bar_Code__c = '1234567890';
            dataForProductCount9.Sterilization_limit__c = Date.today().addDays(2);
            dataForProductCount9.Arrive_date__c = Date.today();
            dataForProductCount9.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            dataForProductCount9.Consumable_Product__c = proG.id;
            dataForProductCount9.Asset_Model_No__c = proG.Asset_Model_No__c;
            dataForProductCount9.Box_Piece__c = '盒';
            dataForProductCount9.Consumable_order_minor__c = CreateId.id;
            dataForProductCount9.Send_Date__c = null;
            dataForProductCount9.Used_date__c = null;
            dataForProductCount9.Lose_Flag__c = false;
            dataForProductCount9.RemoveBox_No__c = 1;
            insert dataForProductCount9;
            Consumable_order_details2__c dataForProductCount8 = new Consumable_order_details2__c();
            dataForProductCount8.Bar_Code__c = '1234567891';
            dataForProductCount8.Sterilization_limit__c = Date.today().addDays(2);
            dataForProductCount8.Arrive_date__c = Date.today();
            dataForProductCount8.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            dataForProductCount8.Consumable_Product__c = proG.id;
            dataForProductCount8.Asset_Model_No__c = proG.Asset_Model_No__c;
            dataForProductCount8.Box_Piece__c = '盒';
            dataForProductCount8.Consumable_order_minor__c = CreateId.id;
            dataForProductCount8.Send_Date__c = null;
            dataForProductCount8.Used_date__c = null;
            dataForProductCount8.Lose_Flag__c = false;
            dataForProductCount8.RemoveBox_No__c = 1;
            insert dataForProductCount8;
            Consumable_order_details2__c dataForProductCount7 = new Consumable_order_details2__c();
            dataForProductCount7.Bar_Code__c = '1234567892';
            dataForProductCount7.Sterilization_limit__c = Date.today().addDays(2);
            dataForProductCount7.Arrive_date__c = Date.today();
            dataForProductCount7.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            dataForProductCount7.Consumable_Product__c = proH.id;
            dataForProductCount7.Asset_Model_No__c = proH.Asset_Model_No__c;
            dataForProductCount7.Box_Piece__c = '个';
            dataForProductCount7.Consumable_order_minor__c = CreateId.id;
            dataForProductCount7.Send_Date__c = null;
            dataForProductCount7.Used_date__c = null;
            dataForProductCount7.Lose_Flag__c = false;
            dataForProductCount7.RemoveBox_No__c = 1;
            insert dataForProductCount7;
            Consumable_order_details2__c dataForProductCount6 = new Consumable_order_details2__c();
            dataForProductCount6.Bar_Code__c = '1234567893';
            dataForProductCount6.Sterilization_limit__c = Date.today().addDays(2);
            dataForProductCount6.Arrive_date__c = Date.today();
            dataForProductCount6.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            dataForProductCount6.Consumable_Product__c = proH.id;
            dataForProductCount6.Asset_Model_No__c = proH.Asset_Model_No__c;
            dataForProductCount6.Box_Piece__c = '个';
            dataForProductCount6.Consumable_order_minor__c = CreateId.id;
            dataForProductCount6.Send_Date__c = null;
            dataForProductCount6.Used_date__c = null;
            dataForProductCount6.Lose_Flag__c = false;
            dataForProductCount6.RemoveBox_No__c = 1;
            insert dataForProductCount6;
            Consumable_order_details2__c dataForProductCount5 = new Consumable_order_details2__c();
            dataForProductCount5.Bar_Code__c = '1234567894';
            dataForProductCount5.Sterilization_limit__c = Date.today().addDays(2);
            dataForProductCount5.Arrive_date__c = Date.today();
            dataForProductCount5.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            dataForProductCount5.Consumable_Product__c = proH.id;
            dataForProductCount5.Asset_Model_No__c = proH.Asset_Model_No__c;
            dataForProductCount5.Box_Piece__c = '个';
            dataForProductCount5.Consumable_order_minor__c = CreateId.id;
            dataForProductCount5.Send_Date__c = null;
            dataForProductCount5.Used_date__c = null;
            dataForProductCount5.Lose_Flag__c = false;
            dataForProductCount5.RemoveBox_No__c = 1;
            insert dataForProductCount5;
            List<Consumable_order_details2__c> conlist = new List<Consumable_order_details2__c>();
            //Barcode检索 所有在库
            Consumable_order_details2__c con1 = new Consumable_order_details2__c();
            con1.Lose_Flag__c = false;
            con1.Arrive_date__c = Date.today();
            con1.Send_Date__c = null;
            con1.Return_date__c = null;
            con1.Lose_Flag__c = false;
            con1.Cancellation_Date__c = null;
            con1.Sterilization_limit__c = Date.today().addDays(2);
            con1.Bar_Code__c = '123';
            con1.Box_Piece__c = '盒';
            con1.Bar_Code__c = '1234567894';
            con1.Sterilization_limit__c = Date.today().addDays(2);
            con1.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            con1.Consumable_Product__c = proH.id;
            con1.Consumable_order_minor__c = CreateId.id;
            conlist.add(con1);
            //查询库存 追加返品库存
            Consumable_order_details2__c con3 = new Consumable_order_details2__c();
            con3.Consumable_Product__c = proH.id;
            con3.Bar_Code__c = '1001';
            con3.Consumable_Arrived_order__c = Order1.id;
            con3.Consumable_order_minor__c = Order2.id;
            con3.Arrive_date__c = Date.today();
            con3.Send_Date__c = null;
            con3.Return_date__c = null;
            con3.Lose_Flag__c = false;
            con3.Cancellation_Flag__c = false;
            con3.Consumable_order_minor__c = CreateId.id;
            con3.Sterilization_limit__c = Date.today().addDays(2);
            con3.Box_Piece__c = '个';
            con3.RecordTypeid = '01210000000kUDKAA2';
            conlist.add(con3);
            //productAdjust
            Consumable_order_details2__c con6 = new Consumable_order_details2__c();
            con6.Consumable_Product__c = proH.id;
            con6.Lose_reason__c = '过期库存销存';
            con6.Box_Piece__c = '盒';
            con6.Sterilization_limit__c = Date.today().addDays(-2);
            con6.Bar_Code__c = '10011';
            con6.Consumable_Arrived_order__c = Order1.id;
            con6.Lose_Flag__c = true;
            con6.RecordTypeid = '01210000000kUDKAA2';
            conlist.add(con6);
            System.debug('conlist===>' + conlist);
            //reset592
            Consumable_order_details2__c con4 = new Consumable_order_details2__c();
            con4.Arrive_date__c = Date.today();
            con4.Send_Date__c = null;
            con4.Return_date__c = null;
            con4.Lose_Flag__c = false;
            con4.Cancellation_Date__c = null;
            con4.Sterilization_limit__c = Date.today().addDays(2);
            con4.Bar_Code__c = '123456';
            con4.Box_Piece__c = '盒';
            // con2.Bar_Code__c               = '1234567894';
            con4.Sterilization_limit__c = Date.today().addDays(2);
            con4.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
            con4.Consumable_Product__c = proH.id;
            // con2.Asset_Model_No__c         = proH.Asset_Model_No__c;
            con4.Consumable_order_minor__c = CreateId.id;
            conlist.add(con4);
            //查询库存 追加返品库存
            Consumable_order_details2__c con5 = new Consumable_order_details2__c();
            con5.Arrive_date__c = Date.today();
            con5.Send_Date__c = null;
            con5.Return_date__c = null;
            con5.Lose_Flag__c = false;
            con5.Cancellation_Flag__c = false;
            con5.Consumable_Product__c = proH.id;
            con5.Consumable_order_minor__c = Order2.id;
            // con5.Sterilization_limit__c    = Date.today().addDays(2);
            con5.Box_Piece__c = '盒';
            con5.Bar_Code__c = '1001';
            conlist.add(con5);
            insert conlist;
            System.Test.startTest();
            LexInventoryController inver = new LexInventoryController();
            LexInventoryController.init();
            List<LexInventoryController.ConsumableorderdetailsInfo> testList = LexInventoryController.consumableorderdetailsRecords;
            List<LexInventoryController.ConsumableorderdetailsInfo> testList1 = new List<LexInventoryController.ConsumableorderdetailsInfo>();
            System.debug('testCount:' + testList.size());
            for (LexInventoryController.ConsumableorderdetailsInfo ass : testList) {
                System.debug(ass.check);
                ass.check = true;
                testList1.add(ass);
            }
            System.debug('testList1:' + testList1);
            LexInventoryController.searchConsumableorderdetails(
                'ET',
                '上海',
                'Testaccount001',
                '',
                JSON.serialize(testList1),
                20,
                9,
                'Test',
                'ASC'
            );
            LexInventoryController.searchConsumableorderdetails(
                'ET',
                '上海',
                'Testaccount001',
                '01210000000kUDKAA2\n10011',
                JSON.serialize(testList1),
                20,
                9,
                'Test',
                'ASC'
            );
            LexInventoryController.searchConsumableorderdetails(
                'ET',
                '上海',
                'Testaccount001',
                '12345678856\n1234567895\n1234567890\n12345678511\n1234567856\n1234567855\n1234567886\n12345678551\n1234567890\n1234567883\n1234567882\n1234567881\n1234567884\nn123456788412\n1234567885\n123456788512\n1234567891\n1234567892\n1234567893\n1234567894\n1001',
                JSON.serialize(testList1),
                1,
                0,
                'Test',
                'ASC'
            );
            LexInventoryController.save(
                true,
                JSON.serialize(testList1),
                myAccount1.Id,
                'ET',
                LexInventoryController.pandiandetailsMap,
                LexInventoryController.reSet
            );
            LexInventoryController.searchConsumableorderdetails(
                'ET',
                '上海',
                'Testaccount001',
                '',
                '[{"sortBy": null,"refind": 0,"ProdId": "a0l0l000004EisKAAS","Prod": {"attributes": {"type": "Product2__c","url": "/services/data/v58.0/sobjects/Product2__c/a0l0l000004EisKAAS"},"Id": "a0l0l000004EisKAAS","Name": "MH-155:白平衡帽","Name__c": "Test07","SFDA_Status__c": "停止","Packing_list_manual__c": 1,"Asset_Model_No__c": "Test07"},"Pandian": 0,"overlimitCount": 0,"orderdetails2": null,"orderdetails1": null,"limitCount": 2,"DiffReason": null,"Diff": 0,"countid": 2,"check": true,"canSelect": true,"boxPiece": "盒"}]',
                20,
                9,
                'Test',
                'ASC'
            );
            System.Test.stopTest();
        }
    }
  }
  static testMethod void InventoryControllerTest_ge() {
    user MyUser_Test;
    Account myAccount1;
    User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
    System.runAs(thisUser) {
      Profile prof1 = [
        SELECT Id
        FROM Profile
        WHERE Name = '901_经销商社区普通权限_2重验证(ET Email)'
      ];
      List<RecordType> rectCo = [
        SELECT Id
        FROM RecordType
        WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
      ];
      if (rectCo.size() == 0) {
        return;
      }
      StaticParameter.EscapeConsumableOrderDetail2Trigger = true;
      RecordType rectCoO = [
        SELECT Id
        FROM RecordType
        WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院'
      ];
      Account olympus = new Account(
        RecordTypeId = rectCoO.Id,
        AgentCode_Ext__c = '9999900',
        Name = 'olympus'
      );
      insert olympus;
      myAccount1 = new Account(
        name = 'Testaccount001',
        Dealer_discount__c = 10,
        RecordTypeId = rectCo[0].Id,
        AgentCode_Ext__c = '8888888'
      );
      insert myAccount1;
      Contact core = new Contact(
        email = 'jplumber@salesforce.com',
        firstname = 'Joe',
        lastname = 'Plumber',
        accountid = myAccount1.id
      );
      insert core;
      MyUser_Test = new User(
        ContactId = core.id,
        Alias = 'newUser',
        Email = 'newuser@testorg.com',
        EmailEncodingKey = 'UTF-8',
        LastName = 'TestUser',
        LanguageLocaleKey = 'zh_CN',
        LocaleSidKey = 'zh_CN',
        ProfileId = prof1.Id,
        TimeZoneSidKey = 'Asia/Shanghai',
        UserName = 'testUser@testorg.com'
      );
      insert MyUser_Test;
    static testMethod void all() {
        user MyUser_Test;
        Account myAccount1;
        User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
        System.runAs(thisUser) {
            Profile prof1 = [
                SELECT Id
                FROM Profile
                WHERE Name = '901_经销商社区普通权限_2重验证(ET Email)'
            ];
            List<RecordType> rectCo = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
            ];
            if (rectCo.size() == 0) {
                return;
            }
            StaticParameter.EscapeOrderDetail2Trigger = true;
            StaticParameter.EscapeConsumableOrderDetail2Trigger = true;
            RecordType rectCoO = [
                SELECT Id
                FROM RecordType
                WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院'
            ];
            Account olympus = new Account(RecordTypeId = rectCoO.Id, AgentCode_Ext__c = '9999900', Name = 'olympus');
            insert olympus;
            myAccount1 = new Account(
                name = 'Testaccount001',
                Dealer_discount__c = 10,
                RecordTypeId = rectCo[0].Id,
                AgentCode_Ext__c = '8888888'
            );
            insert myAccount1;
            Contact core = new Contact(
                email = 'jplumber@salesforce.com',
                firstname = 'Joe',
                lastname = 'Plumber',
                accountid = myAccount1.id
            );
            insert core;
            MyUser_Test = new User(
                ContactId = core.id,
                Alias = 'newUser',
                Email = 'newuser@testorg.com',
                EmailEncodingKey = 'UTF-8',
                LastName = 'TestUser',
                LanguageLocaleKey = 'zh_CN',
                LocaleSidKey = 'zh_CN',
                ProfileId = prof1.Id,
                TimeZoneSidKey = 'Asia/Shanghai',
                UserName = 'testUser@testorg.com',
                Work_Location__c = '上海'
            );
            insert MyUser_Test;
        }
        System.runAs(MyUser_Test) {
            Product2 prod07 = new Product2(
                Name = 'Test07',
                ProductCode = 'Test07',
                Asset_Model_No__c = 'Test07',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 1,
                Manual_Entry__c = false
            );
            Product2 prod08 = new Product2(
                Name = 'Test08',
                ProductCode = 'Test08',
                Asset_Model_No__c = 'Test08',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 1,
                Manual_Entry__c = false
            );
            Product2 prod09 = new Product2(
                Name = 'Test09',
                ProductCode = 'Test09',
                Asset_Model_No__c = 'Test09',
                SFDA_Status__c = '有効',
                Dealer_special_Object__c = true,
                Packing_list_manual__c = 1,
                Manual_Entry__c = false
            );
            insert new List<Product2>{ prod07, prod08, prod09 };
            //制作产品
            Product2__c proG = new Product2__c(Name = 'MH-155:白平衡帽', OT_CODE_Text__c = 'Test001', Product2__c = prod07.Id);
            insert proG;
            Product2__c proH = new Product2__c(Name = 'MB-677:BNC电缆', OT_CODE_Text__c = 'Test002', Product2__c = prod08.Id);
            insert proH;
            Product2__c proF = new Product2__c(Name = 'TooMAJ-643R:水囊鞘管003', OT_CODE_Text__c = 'Test003', Product2__c = prod09.Id);
            insert proF;
            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 = myAccount1.Id;
            Order1.RecordTypeid = '01210000000c9dqAAA';
            Order1.Order_ProType__c = 'ET';
            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 = myAccount1.Id;
            Order2.RecordTypeid = '01210000000c9drAAA';
            Order2.Order_ProType__c = 'ET';
            orderList.add(Order2);
            insert orderList;
            //查询库存 追加返品库存
            List<Consumable_order_details2__c> conlist = new List<Consumable_order_details2__c>();
            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.Cancellation_Flag__c = false;
            con3.Consumable_order_minor__c = Order1.id;
            con3.Consumable_Arrived_order__c = Order1.id;
            con3.Bar_Code__c = '1001';
            con3.Consumable_Product__c = proH.id;
            conlist.add(con3);
            insert conlist;
            //productAdjust
            Consumable_order_details2__c con6 = new Consumable_order_details2__c();
            // con6.Consumable_Product__c = proH.id;
            con6.Lose_reason__c = '过期库存销存';
            // con6.Box_Piece__c = '盒';
            con6.Sterilization_limit__c = Date.today().addDays(-2);
            con6.Bar_Code__c = '10011';
            // con6.Consumable_Arrived_order__c = Order1.id;
            con6.Lose_Flag__c = true;
            // con6.RecordTypeid = '01210000000kUDKAA2';
            conlist.add(con6);
            System.debug('conlist===>' + conlist);
            LexInventoryController.init();
            List<LexInventoryController.ConsumableorderdetailsInfo> testList = LexInventoryController.consumableorderdetailsRecords;
            List<LexInventoryController.ConsumableorderdetailsInfo> testList1 = new List<LexInventoryController.ConsumableorderdetailsInfo>();
            System.debug('testCount:' + testList.size());
            for (LexInventoryController.ConsumableorderdetailsInfo ass : testList) {
                System.debug(ass.check);
                ass.check = true;
                testList1.add(ass);
            }
            System.debug('testList1:' + testList1);
            LexInventoryController.searchConsumableorderdetails(
                'ET',
                '上海',
                'Testaccount001',
                '1001\n10011',
                JSON.serialize(testList1),
                20,
                9,
                'Test',
                'ASC'
            );
            LexInventoryController.searchConsumableorderdetails(
                'ET',
                '上海',
                'Testaccount001',
                '',
                JSON.serialize(testList1),
                20,
                9,
                'Test',
                'ASC'
            );
        }
    }
    System.runAs(MyUser_Test) {
      Product2 prod07 = new Product2(
        Name = 'Test07',
        ProductCode = 'Test07',
        Asset_Model_No__c = 'Test07',
        SFDA_Status__c = '有効',
        Dealer_special_Object__c = true,
        Packing_list_manual__c = 1,
        Manual_Entry__c = false
      );
      Product2 prod08 = new Product2(
        Name = 'Test08',
        ProductCode = 'Test08',
        Asset_Model_No__c = 'Test08',
        SFDA_Status__c = '有効',
        Dealer_special_Object__c = true,
        Packing_list_manual__c = 1,
        Manual_Entry__c = false
      );
      Product2 prod09 = new Product2(
        Name = 'Test09',
        ProductCode = 'Test09',
        Asset_Model_No__c = 'Test09',
        SFDA_Status__c = '有効',
        Dealer_special_Object__c = true,
        Packing_list_manual__c = 1,
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod07, prod08, prod09 };
      //制作产品
      Product2__c proG = new Product2__c(
        Name = 'MH-155:白平衡帽',
        OT_CODE_Text__c = 'Test001',
        Product2__c = prod07.Id
      );
      insert proG;
      Product2__c proH = new Product2__c(
        Name = 'MB-677:BNC电缆',
        OT_CODE_Text__c = 'Test002',
        Product2__c = prod08.Id
      );
      insert proH;
      Product2__c proF = new Product2__c(
        Name = 'TooMAJ-643R:水囊鞘管003',
        OT_CODE_Text__c = 'Test003',
        Product2__c = prod09.Id
      );
      insert proF;
      //预制头明细
      Consumable_order__c CreateId = new Consumable_order__c();
      CreateId.Name = 'testMing';
      CreateId.Order_status__c = '草案中';
      CreateId.RecordTypeid = System.Label.RT_ConOrder_Order;
      CreateId.Dealer_Info__c = myAccount1.id;
      CreateId.Inventory_date__c = Date.today();
      CreateId.Order_type__c = '盘点';
      CreateId.Order_ProType__c = 'ET';
      insert CreateId;
      List<Consumable_order_details2__c> orderList = new List<Consumable_order_details2__c>();
      //制作Consumable_order_details__c-------ProductCount
      Consumable_order_details2__c dataForProductCount9 = new Consumable_order_details2__c();
      dataForProductCount9.Bar_Code__c = '1234567890';
      dataForProductCount9.Sterilization_limit__c = Date.today().addDays(2);
      dataForProductCount9.Arrive_date__c = Date.today();
      dataForProductCount9.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
      dataForProductCount9.Consumable_Product__c = proG.id;
      dataForProductCount9.Asset_Model_No__c = proG.Asset_Model_No__c;
      dataForProductCount9.Box_Piece__c = '个';
      dataForProductCount9.RemoveBox_No__c = 1;
      orderList.add(dataForProductCount9);
      Consumable_order_details2__c dataForProductCount8 = new Consumable_order_details2__c();
      dataForProductCount8.Bar_Code__c = '1234567891';
      dataForProductCount8.Sterilization_limit__c = Date.today().addDays(2);
      dataForProductCount8.Arrive_date__c = Date.today();
      dataForProductCount8.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
      dataForProductCount8.Consumable_Product__c = proG.id;
      dataForProductCount8.Asset_Model_No__c = proG.Asset_Model_No__c;
      orderList.add(dataForProductCount8);
      Consumable_order_details2__c dataForProductCount7 = new Consumable_order_details2__c();
      dataForProductCount7.Bar_Code__c = '1234567892';
      dataForProductCount7.Sterilization_limit__c = Date.today().addDays(2);
      dataForProductCount7.Arrive_date__c = Date.today();
      dataForProductCount7.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
      dataForProductCount7.Consumable_Product__c = proH.id;
      dataForProductCount7.Asset_Model_No__c = proH.Asset_Model_No__c;
      dataForProductCount7.Box_Piece__c = '个';
      dataForProductCount7.Consumable_order_minor__c = CreateId.id;
      dataForProductCount7.Send_Date__c = null;
      dataForProductCount7.Used_date__c = null;
      dataForProductCount7.Lose_Flag__c = false;
      dataForProductCount7.RemoveBox_No__c = 1;
      orderList.add(dataForProductCount7);
      Consumable_order_details2__c dataForProduct = new Consumable_order_details2__c();
      dataForProduct.Bar_Code__c = '1234567894';
      dataForProduct.Sterilization_limit__c = Date.today().addDays(2);
      dataForProduct.Arrive_date__c = Date.today();
      dataForProduct.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
      dataForProduct.Consumable_Product__c = proF.id;
      dataForProduct.Asset_Model_No__c = proF.Asset_Model_No__c;
      dataForProduct.Box_Piece__c = '个';
      dataForProduct.Consumable_order_minor__c = CreateId.id;
      dataForProduct.Send_Date__c = null;
      dataForProduct.Used_date__c = null;
      dataForProduct.Lose_Flag__c = false;
      dataForProduct.RemoveBox_No__c = 1;
      orderList.add(dataForProduct);
      Consumable_order_details2__c dataForProductCount3 = new Consumable_order_details2__c();
      dataForProductCount3.Bar_Code__c = '1234567883';
      dataForProductCount3.Sterilization_limit__c = Date.today().addDays(2);
      dataForProductCount3.Arrive_date__c = Date.today();
      dataForProductCount3.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
      dataForProductCount3.Consumable_Product__c = proG.id;
      dataForProductCount3.Asset_Model_No__c = proG.Asset_Model_No__c;
      dataForProductCount3.Consumable_order_minor__c = CreateId.id;
      dataForProductCount3.Lose_Flag__c = true;
      //dataForProductCount3.RemoveBox_No__c = 1;
      orderList.add(dataForProductCount3);
      PageReference page = new Pagereference('/Inventory');
      page.setRedirect(true);
      System.Test.setCurrentPage(page);
      System.Test.startTest();
      LexInventoryController controller = new LexInventoryController();
      LexInventoryController.init();
      System.debug(
        '===>值1' + LexInventoryController.consumableorderdetailsRecords
      );
      System.debug(
        '===>值2' +
        JSON.serialize(LexInventoryController.consumableorderdetailsRecords)
      );
      System.debug(
        '===>2222222' +
        JSON.serialize(LexInventoryController.consumableorderdetailsRecords)
      );
      List<LexInventoryController.ConsumableorderdetailsInfo> testList = LexInventoryController.consumableorderdetailsRecords;
      List<LexInventoryController.ConsumableorderdetailsInfo> testList1 = new List<LexInventoryController.ConsumableorderdetailsInfo>();
      System.debug('testCount:' + testList.size());
      for (LexInventoryController.ConsumableorderdetailsInfo ass : testList) {
        System.debug(ass.check);
        ass.check = true;
        testList1.add(ass);
      }
      System.debug('testList1:' + testList1);
      LexInventoryController.searchConsumableorderdetails(
        'ET',
        '上海',
        'Testaccount001',
        '12345678856\n1234567895\n1234567890\n12345678511\n1234567856\n1234567855\n1234567886\n12345678551\n1234567890\n1234567883\n1234567882\n1234567881\n1234567884\nn123456788412\n1234567885\n123456788512\n1234567891\n1234567892\n1234567893\n1234567894',
        JSON.serialize(testList1),
        1,
        0,
        'Test',
        'ASC'
      );
      System.Test.stopTest();
    }
  }
  static testMethod void InventoryControllerTest_xunhui() {
    user MyUser_Test;
    Account myAccount1;
    User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
    System.runAs(thisUser) {
      Profile prof1 = [
        SELECT Id
        FROM Profile
        WHERE Name = '901_经销商社区普通权限_2重验证(ET Email)'
      ];
      List<RecordType> rectCo = [
        SELECT Id
        FROM RecordType
        WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
      ];
      if (rectCo.size() == 0) {
        return;
      }
      StaticParameter.EscapeOrderDetail2Trigger = true;
      StaticParameter.EscapeConsumableOrderDetail2Trigger = true;
      RecordType rectCoO = [
        SELECT Id
        FROM RecordType
        WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院'
      ];
      Account olympus = new Account(
        RecordTypeId = rectCoO.Id,
        AgentCode_Ext__c = '9999900',
        Name = 'olympus'
      );
      insert olympus;
      myAccount1 = new Account(
        name = 'Testaccount001',
        Dealer_discount__c = 10,
        RecordTypeId = rectCo[0].Id,
        AgentCode_Ext__c = '8888888'
      );
      insert myAccount1;
      Contact core = new Contact(
        email = 'jplumber@salesforce.com',
        firstname = 'Joe',
        lastname = 'Plumber',
        accountid = myAccount1.id
      );
      insert core;
      MyUser_Test = new User(
        ContactId = core.id,
        Alias = 'newUser',
        Email = 'newuser@testorg.com',
        EmailEncodingKey = 'UTF-8',
        LastName = 'TestUser',
        LanguageLocaleKey = 'zh_CN',
        LocaleSidKey = 'zh_CN',
        ProfileId = prof1.Id,
        TimeZoneSidKey = 'Asia/Shanghai',
        UserName = 'testUser@testorg.com'
      );
      insert MyUser_Test;
    }
    System.runAs(MyUser_Test) {
      Product2 prod07 = new Product2(
        Name = 'Test07',
        ProductCode = 'Test07',
        Asset_Model_No__c = 'Test07',
        SFDA_Status__c = '有効',
        Dealer_special_Object__c = true,
        Packing_list_manual__c = 1,
        Manual_Entry__c = false
      );
      Product2 prod08 = new Product2(
        Name = 'Test08',
        ProductCode = 'Test08',
        Asset_Model_No__c = 'Test08',
        SFDA_Status__c = '有効',
        Dealer_special_Object__c = true,
        Packing_list_manual__c = 1,
        Manual_Entry__c = false
      );
      Product2 prod09 = new Product2(
        Name = 'Test09',
        ProductCode = 'Test09',
        Asset_Model_No__c = 'Test09',
        SFDA_Status__c = '有効',
        Dealer_special_Object__c = true,
        Packing_list_manual__c = 1,
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod07, prod08, prod09 };
      //制作产品
      Product2__c proG = new Product2__c(
        Name = 'MH-155:白平衡帽',
        OT_CODE_Text__c = 'Test001',
        Product2__c = prod07.Id
      );
      insert proG;
      Product2__c proH = new Product2__c(
        Name = 'MB-677:BNC电缆',
        OT_CODE_Text__c = 'Test002',
        Product2__c = prod08.Id
      );
      insert proH;
      Product2__c proF = new Product2__c(
        Name = 'TooMAJ-643R:水囊鞘管003',
        OT_CODE_Text__c = 'Test003',
        Product2__c = prod09.Id
      );
      insert proF;
      //预制头明细
      Consumable_order__c CreateId = new Consumable_order__c();
      CreateId.Name = 'testMing';
      CreateId.Order_status__c = '草案中';
      CreateId.RecordTypeid = System.Label.RT_ConOrder_Order;
      CreateId.Dealer_Info__c = myAccount1.id;
      CreateId.Inventory_date__c = Date.today();
      CreateId.Order_type__c = '盘点';
      CreateId.Order_ProType__c = 'ET';
      insert CreateId;
      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 = myAccount1.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 = myAccount1.Id;
      Order2.RecordTypeid = '01210000000c9drAAA';
      Order2.Order_ProType__c = 'ENG';
      orderList.add(Order2);
      insert orderList;
      //制作Consumable_order_details__c-------ProductCount
      Consumable_order_details2__c dataForProductCount9 = new Consumable_order_details2__c();
      dataForProductCount9.Bar_Code__c = '1234567890';
      dataForProductCount9.Sterilization_limit__c = Date.today().addDays(2);
      dataForProductCount9.Arrive_date__c = Date.today();
      dataForProductCount9.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
      dataForProductCount9.Consumable_Product__c = proG.id;
      dataForProductCount9.Asset_Model_No__c = proG.Asset_Model_No__c;
      dataForProductCount9.Box_Piece__c = '盒';
      dataForProductCount9.Consumable_order_minor__c = CreateId.id;
      dataForProductCount9.Send_Date__c = null;
      dataForProductCount9.Used_date__c = null;
      dataForProductCount9.Lose_Flag__c = false;
      dataForProductCount9.RemoveBox_No__c = 1;
      insert dataForProductCount9;
      Consumable_order_details2__c dataForProductCount8 = new Consumable_order_details2__c();
      dataForProductCount8.Bar_Code__c = '1234567891';
      dataForProductCount8.Sterilization_limit__c = Date.today().addDays(2);
      dataForProductCount8.Arrive_date__c = Date.today();
      dataForProductCount8.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
      dataForProductCount8.Consumable_Product__c = proG.id;
      dataForProductCount8.Asset_Model_No__c = proG.Asset_Model_No__c;
      dataForProductCount8.Box_Piece__c = '盒';
      dataForProductCount8.Consumable_order_minor__c = CreateId.id;
      dataForProductCount8.Send_Date__c = null;
      dataForProductCount8.Used_date__c = null;
      dataForProductCount8.Lose_Flag__c = false;
      dataForProductCount8.RemoveBox_No__c = 1;
      insert dataForProductCount8;
      Consumable_order_details2__c dataForProductCount7 = new Consumable_order_details2__c();
      dataForProductCount7.Bar_Code__c = '1234567892';
      dataForProductCount7.Sterilization_limit__c = Date.today().addDays(2);
      dataForProductCount7.Arrive_date__c = Date.today();
      dataForProductCount7.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
      dataForProductCount7.Consumable_Product__c = proH.id;
      dataForProductCount7.Asset_Model_No__c = proH.Asset_Model_No__c;
      dataForProductCount7.Box_Piece__c = '个';
      dataForProductCount7.Consumable_order_minor__c = CreateId.id;
      dataForProductCount7.Send_Date__c = null;
      dataForProductCount7.Used_date__c = null;
      dataForProductCount7.Lose_Flag__c = false;
      dataForProductCount7.RemoveBox_No__c = 1;
      insert dataForProductCount7;
      Consumable_order_details2__c dataForProductCount6 = new Consumable_order_details2__c();
      dataForProductCount6.Bar_Code__c = '1234567893';
      dataForProductCount6.Sterilization_limit__c = Date.today().addDays(2);
      dataForProductCount6.Arrive_date__c = Date.today();
      dataForProductCount6.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
      dataForProductCount6.Consumable_Product__c = proH.id;
      dataForProductCount6.Asset_Model_No__c = proH.Asset_Model_No__c;
      dataForProductCount6.Box_Piece__c = '个';
      dataForProductCount6.Consumable_order_minor__c = CreateId.id;
      dataForProductCount6.Send_Date__c = null;
      dataForProductCount6.Used_date__c = null;
      dataForProductCount6.Lose_Flag__c = false;
      dataForProductCount6.RemoveBox_No__c = 1;
      insert dataForProductCount6;
      Consumable_order_details2__c dataForProductCount5 = new Consumable_order_details2__c();
      dataForProductCount5.Bar_Code__c = '1234567894';
      dataForProductCount5.Sterilization_limit__c = Date.today().addDays(2);
      dataForProductCount5.Arrive_date__c = Date.today();
      dataForProductCount5.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
      dataForProductCount5.Consumable_Product__c = proH.id;
      dataForProductCount5.Asset_Model_No__c = proH.Asset_Model_No__c;
      dataForProductCount5.Box_Piece__c = '个';
      dataForProductCount5.Consumable_order_minor__c = CreateId.id;
      dataForProductCount5.Send_Date__c = null;
      dataForProductCount5.Used_date__c = null;
      dataForProductCount5.Lose_Flag__c = false;
      dataForProductCount5.RemoveBox_No__c = 1;
      insert dataForProductCount5;
      List<Consumable_order_details2__c> conlist = new List<Consumable_order_details2__c>();
      //Barcode检索 所有在库
      Consumable_order_details2__c con1 = new Consumable_order_details2__c();
      con1.Lose_Flag__c = false;
      con1.Arrive_date__c = Date.today();
      con1.Send_Date__c = null;
      con1.Return_date__c = null;
      con1.Lose_Flag__c = false;
      con1.Cancellation_Date__c = null;
      con1.Sterilization_limit__c = Date.today().addDays(2);
      con1.Bar_Code__c = '123';
      con1.Box_Piece__c = '盒';
      con1.Bar_Code__c = '1234567894';
      con1.Sterilization_limit__c = Date.today().addDays(2);
      con1.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
      con1.Consumable_Product__c = proH.id;
      con1.Consumable_order_minor__c = CreateId.id;
      conlist.add(con1);
      //查询库存 追加返品库存
      Consumable_order_details2__c con3 = new Consumable_order_details2__c();
      con3.Consumable_Product__c = proH.id;
      con3.Bar_Code__c = '1001';
      con3.Consumable_Arrived_order__c = Order1.id;
      con3.Consumable_order_minor__c = Order2.id;
      con3.Arrive_date__c = Date.today();
      con3.Send_Date__c = null;
      con3.Return_date__c = null;
      con3.Lose_Flag__c = false;
      con3.Cancellation_Flag__c = false;
      con3.Consumable_order_minor__c = CreateId.id;
      con3.Sterilization_limit__c = Date.today().addDays(2);
      con3.Box_Piece__c = '个';
      con3.RecordTypeid = '01210000000kUDKAA2';
      conlist.add(con3);
      //productAdjust
      Consumable_order_details2__c con6 = new Consumable_order_details2__c();
      con6.Consumable_Product__c = proH.id;
      con6.Lose_reason__c = '过期库存销存';
      con6.Box_Piece__c = '盒';
      con6.Sterilization_limit__c = Date.today().addDays(-2);
      con6.Bar_Code__c = '10011';
      con6.Consumable_Arrived_order__c = Order1.id;
      con6.Lose_Flag__c = true;
      con6.RecordTypeid = '01210000000kUDKAA2';
      conlist.add(con6);
      System.debug('conlist===>' + conlist);
      //reset592
      Consumable_order_details2__c con4 = new Consumable_order_details2__c();
      con4.Arrive_date__c = Date.today();
      con4.Send_Date__c = null;
      con4.Return_date__c = null;
      con4.Lose_Flag__c = false;
      con4.Cancellation_Date__c = null;
      con4.Sterilization_limit__c = Date.today().addDays(2);
      con4.Bar_Code__c = '123456';
      con4.Box_Piece__c = '盒';
      // con2.Bar_Code__c               = '1234567894';
      con4.Sterilization_limit__c = Date.today().addDays(2);
      con4.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
      con4.Consumable_Product__c = proH.id;
      // con2.Asset_Model_No__c         = proH.Asset_Model_No__c;
      con4.Consumable_order_minor__c = CreateId.id;
      conlist.add(con4);
      //查询库存 追加返品库存
      Consumable_order_details2__c con5 = new Consumable_order_details2__c();
      con5.Arrive_date__c = Date.today();
      con5.Send_Date__c = null;
      con5.Return_date__c = null;
      con5.Lose_Flag__c = false;
      con5.Cancellation_Flag__c = false;
      con5.Consumable_Product__c = proH.id;
      con5.Consumable_order_minor__c = Order2.id;
      // con5.Sterilization_limit__c    = Date.today().addDays(2);
      con5.Box_Piece__c = '盒';
      con5.Bar_Code__c = '1001';
      conlist.add(con5);
      insert conlist;
      System.Test.startTest();
      LexInventoryController inver = new LexInventoryController();
      LexInventoryController.init();
      List<LexInventoryController.ConsumableorderdetailsInfo> testList = LexInventoryController.consumableorderdetailsRecords;
      List<LexInventoryController.ConsumableorderdetailsInfo> testList1 = new List<LexInventoryController.ConsumableorderdetailsInfo>();
      System.debug('testCount:' + testList.size());
      for (LexInventoryController.ConsumableorderdetailsInfo ass : testList) {
        System.debug(ass.check);
        ass.check = true;
        testList1.add(ass);
      }
      System.debug('testList1:' + testList1);
      LexInventoryController.searchConsumableorderdetails(
        'ET',
        '上海',
        'Testaccount001',
        '',
        JSON.serialize(testList1),
        20,
        9,
        'Test',
        'ASC'
      );
      LexInventoryController.searchConsumableorderdetails(
        'ET',
        '上海',
        'Testaccount001',
        '01210000000kUDKAA2\n10011',
        JSON.serialize(testList1),
        20,
        9,
        'Test',
        'ASC'
      );
      LexInventoryController.searchConsumableorderdetails(
        'ET',
        '上海',
        'Testaccount001',
        '12345678856\n1234567895\n1234567890\n12345678511\n1234567856\n1234567855\n1234567886\n12345678551\n1234567890\n1234567883\n1234567882\n1234567881\n1234567884\nn123456788412\n1234567885\n123456788512\n1234567891\n1234567892\n1234567893\n1234567894\n1001',
        JSON.serialize(testList1),
        1,
        0,
        'Test',
        'ASC'
      );
      LexInventoryController.save(
        true,
        JSON.serialize(testList1),
        myAccount1.Id,
        'ET',
        LexInventoryController.pandiandetailsMap,
        LexInventoryController.reSet
      );
      LexInventoryController.searchConsumableorderdetails(
        'ET',
        '上海',
        'Testaccount001',
        '',
        '[{"sortBy": null,"refind": 0,"ProdId": "a0l0l000004EisKAAS","Prod": {"attributes": {"type": "Product2__c","url": "/services/data/v58.0/sobjects/Product2__c/a0l0l000004EisKAAS"},"Id": "a0l0l000004EisKAAS","Name": "MH-155:白平衡帽","Name__c": "Test07","SFDA_Status__c": "停止","Packing_list_manual__c": 1,"Asset_Model_No__c": "Test07"},"Pandian": 0,"overlimitCount": 0,"orderdetails2": null,"orderdetails1": null,"limitCount": 2,"DiffReason": null,"Diff": 0,"countid": 2,"check": true,"canSelect": true,"boxPiece": "盒"}]',
        20,
        9,
        'Test',
        'ASC'
      );
      System.Test.stopTest();
    }
  }
  static testMethod void all() {
    user MyUser_Test;
    Account myAccount1;
    User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
    System.runAs(thisUser) {
      Profile prof1 = [
        SELECT Id
        FROM Profile
        WHERE Name = '901_经销商社区普通权限_2重验证(ET Email)'
      ];
      List<RecordType> rectCo = [
        SELECT Id
        FROM RecordType
        WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
      ];
      if (rectCo.size() == 0) {
        return;
      }
      StaticParameter.EscapeOrderDetail2Trigger = true;
      StaticParameter.EscapeConsumableOrderDetail2Trigger = true;
      RecordType rectCoO = [
        SELECT Id
        FROM RecordType
        WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院'
      ];
      Account olympus = new Account(
        RecordTypeId = rectCoO.Id,
        AgentCode_Ext__c = '9999900',
        Name = 'olympus'
      );
      insert olympus;
      myAccount1 = new Account(
        name = 'Testaccount001',
        Dealer_discount__c = 10,
        RecordTypeId = rectCo[0].Id,
        AgentCode_Ext__c = '8888888'
      );
      insert myAccount1;
      Contact core = new Contact(
        email = 'jplumber@salesforce.com',
        firstname = 'Joe',
        lastname = 'Plumber',
        accountid = myAccount1.id
      );
      insert core;
      MyUser_Test = new User(
        ContactId = core.id,
        Alias = 'newUser',
        Email = 'newuser@testorg.com',
        EmailEncodingKey = 'UTF-8',
        LastName = 'TestUser',
        LanguageLocaleKey = 'zh_CN',
        LocaleSidKey = 'zh_CN',
        ProfileId = prof1.Id,
        TimeZoneSidKey = 'Asia/Shanghai',
        UserName = 'testUser@testorg.com',
        Work_Location__c = '上海'
      );
      insert MyUser_Test;
    }
    System.runAs(MyUser_Test) {
      Product2 prod07 = new Product2(
        Name = 'Test07',
        ProductCode = 'Test07',
        Asset_Model_No__c = 'Test07',
        SFDA_Status__c = '有効',
        Dealer_special_Object__c = true,
        Packing_list_manual__c = 1,
        Manual_Entry__c = false
      );
      Product2 prod08 = new Product2(
        Name = 'Test08',
        ProductCode = 'Test08',
        Asset_Model_No__c = 'Test08',
        SFDA_Status__c = '有効',
        Dealer_special_Object__c = true,
        Packing_list_manual__c = 1,
        Manual_Entry__c = false
      );
      Product2 prod09 = new Product2(
        Name = 'Test09',
        ProductCode = 'Test09',
        Asset_Model_No__c = 'Test09',
        SFDA_Status__c = '有効',
        Dealer_special_Object__c = true,
        Packing_list_manual__c = 1,
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod07, prod08, prod09 };
      //制作产品
      Product2__c proG = new Product2__c(
        Name = 'MH-155:白平衡帽',
        OT_CODE_Text__c = 'Test001',
        Product2__c = prod07.Id
      );
      insert proG;
      Product2__c proH = new Product2__c(
        Name = 'MB-677:BNC电缆',
        OT_CODE_Text__c = 'Test002',
        Product2__c = prod08.Id
      );
      insert proH;
      Product2__c proF = new Product2__c(
        Name = 'TooMAJ-643R:水囊鞘管003',
        OT_CODE_Text__c = 'Test003',
        Product2__c = prod09.Id
      );
      insert proF;
      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 = myAccount1.Id;
      Order1.RecordTypeid = '01210000000c9dqAAA';
      Order1.Order_ProType__c = 'ET';
      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 = myAccount1.Id;
      Order2.RecordTypeid = '01210000000c9drAAA';
      Order2.Order_ProType__c = 'ET';
      orderList.add(Order2);
      insert orderList;
      //查询库存 追加返品库存
      List<Consumable_order_details2__c> conlist = new List<Consumable_order_details2__c>();
      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.Cancellation_Flag__c = false;
      con3.Consumable_order_minor__c = Order1.id;
      con3.Consumable_Arrived_order__c = Order1.id;
      con3.Bar_Code__c = '1001';
      con3.Consumable_Product__c = proH.id;
      conlist.add(con3);
      insert conlist;
      //productAdjust
      Consumable_order_details2__c con6 = new Consumable_order_details2__c();
      // con6.Consumable_Product__c = proH.id;
      con6.Lose_reason__c = '过期库存销存';
      // con6.Box_Piece__c = '盒';
      con6.Sterilization_limit__c = Date.today().addDays(-2);
      con6.Bar_Code__c = '10011';
      // con6.Consumable_Arrived_order__c = Order1.id;
      con6.Lose_Flag__c = true;
      // con6.RecordTypeid = '01210000000kUDKAA2';
      conlist.add(con6);
      System.debug('conlist===>' + conlist);
      LexInventoryController.init();
      List<LexInventoryController.ConsumableorderdetailsInfo> testList = LexInventoryController.consumableorderdetailsRecords;
      List<LexInventoryController.ConsumableorderdetailsInfo> testList1 = new List<LexInventoryController.ConsumableorderdetailsInfo>();
      System.debug('testCount:' + testList.size());
      for (LexInventoryController.ConsumableorderdetailsInfo ass : testList) {
        System.debug(ass.check);
        ass.check = true;
        testList1.add(ass);
      }
      System.debug('testList1:' + testList1);
      LexInventoryController.searchConsumableorderdetails(
        'ET',
        '上海',
        'Testaccount001',
        '1001\n10011',
        JSON.serialize(testList1),
        20,
        9,
        'Test',
        'ASC'
      );
      LexInventoryController.searchConsumableorderdetails(
        'ET',
        '上海',
        'Testaccount001',
        '',
        JSON.serialize(testList1),
        20,
        9,
        'Test',
        'ASC'
      );
    }
  }
}