buli
2023-06-05 125e6a5936a48d318603617d0df8ffcc2d129372
force-app/main/default/classes/ArriveGoodsControllerTest.cls
@@ -1,45 +1,102 @@
@isTest
private class ArriveGoodsControllerTest {
    @isTest(SeeAllData=true)
  @isTest
   static void myUnitTest() {
      // // TO DO: implement unit test
      // List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
      // if (rectCo.size() == 0) {
      //    return;
      // }
    List<RecordType> rectCo = [
      SELECT Id
      FROM RecordType
      WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
    ];
    if (rectCo.size() == 0) {
      return;
    }
      // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
      Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
    Profile prof = [
      SELECT Id
      FROM Profile
      WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
    ];
    Account myAccount2 = new Account(
      name = 'Testaccount002',
      Dealer_discount__c = 20,
      RecordTypeId = rectCo[0].Id,
      AgentCode_Ext__c = '9999900'
    );
    Account myAccount1 = new Account(
      name = 'Testaccount001',
      Dealer_discount__c = 30,
      RecordTypeId = rectCo[0].Id
    );
    insert new List<account>{ myAccount1, myAccount2 };
      // Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
      // insert myAccount1;
    Contact core = new Contact(
      email = 'jplumber@salesforce.com',
      firstname = 'Joe',
      lastname = 'Plumber',
      accountid = myAccount1.id
    );
    insert core;
    user MyUser_Test = new User(
      ContactId = core.id,
      Alias = 'newUser',
      Email = 'newuser@testorg.com',
      EmailEncodingKey = 'UTF-8',
      LastName = 'TestUser',
      LanguageLocaleKey = 'zh_CN',
      LocaleSidKey = 'zh_CN',
      ProfileId = prof.Id,
      TimeZoneSidKey = 'Asia/Shanghai',
      UserName = 'testUser@testorg.com',
      UserPro_Type__c = 'ET'
    );
    System.runAs(new User(Id = UserInfo.getUserId())) {
      insert MyUser_Test;
    }
      // Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id);
      // insert myAccount2;
      // Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=MyUser_Test.Contact.accountid);
      // insert core;
      // // user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com');
      // // insert MyUser_Test;
      User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
      Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true);
      Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true);
      insert new Product2[] {prod01,prod02};
      system.runAs(MyUser_Test){
         // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true);
         // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true);
    // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
    // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
    // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
         // insert new Product2[] {prod01,prod02};
         Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='Test001',Product2__c = prod01.Id);
         Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='Test002',Product2__c = prod02.Id);
         insert new Product2__c[] {pro1, pro2};
    System.runAs(MyUser_Test) {
      Product2 prod01 = new Product2(
        Name = 'Test01',
        ProductCode = 'Test01',
        Asset_Model_No__c = 'Test01',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200311',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      Product2 prod02 = new Product2(
        Name = 'Test02',
        ProductCode = 'Test02',
        Asset_Model_No__c = 'Test02',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200312',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod01, prod02 };
      Product2__c pro1 = new Product2__c(
        Name = 'Pro001',
        OT_CODE_Text__c = 'Test001',
        Product2__c = prod01.Id
      );
      Product2__c pro2 = new Product2__c(
        Name = 'Pro002',
        OT_CODE_Text__c = 'Test002',
        Product2__c = prod02.Id
      );
      insert new List<Product2__c>{ pro1, pro2 };
         //订单
         Consumable_order__c Order1 = new Consumable_order__c();
         Order1.Name = 'OCM_01_001';
         Order1.Order_status__c = '批准';
         Order1.Order_type__c = '订单';
         // Order1.Dealer_Info__c = MyUser_Test.Contact.accountid;
         Order1.Dealer_Info__c = MyUser_Test.Contact.accountid;
      // Order1.Dealer_Info__c = myAccount1.id;
      Order1.Dealer_Info__c = myAccount1.id;
         Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
         Order1.Total_num__c = 3;
         Order1.OrderNumber_arrived__c =1;
@@ -92,7 +149,6 @@
         Orderdet3.TracingCode__c = 'BXJRC';
         //Orderdet3.Box_Piece__c = '盒';
         //出库产品
         Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
         Orderdet4.Name = 'OCM_01_001005';
@@ -138,12 +194,26 @@
         Orderdets8.Box_Piece__c = '盒';
         Orderdets8.TracingCode__c = 'BXsys';
         insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5,Orderdet6,Orderdets8};
      insert new List<Consumable_order_details2__c>{
        Orderdet1,
        Orderdet2,
        Orderdet3,
        Orderdet4,
        Orderdet5,
        Orderdet6,
        Orderdets8
      };
         List<Consumable_orderdetails__c> cod1 = [select Id from Consumable_orderdetails__c WHERE Consumable_order__c = :Order1.Id];
      List<Consumable_orderdetails__c> cod1 = [
        SELECT Id
        FROM Consumable_orderdetails__c
        WHERE Consumable_order__c = :Order1.Id
      ];
         System.assertEquals(1, cod1.size());
         PageReference page = new PageReference('/apex/ArriveGoods?Esetid=' + Order1.Id);
      PageReference page = new PageReference(
        '/apex/ArriveGoods?Esetid=' + Order1.Id
      );
         System.Test.setCurrentPage(page);
         ArriveGoodsController Controller = new ArriveGoodsController();
@@ -162,46 +232,103 @@
      }
   }
   //选择等待入库,包括01 和241
   @isTest(SeeAllData=true)
  @isTest
   static void arriveWithID() {
      // // TO DO: implement unit test
      // List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
      // if (rectCo.size() == 0) {
      //    return;
      // }
    List<RecordType> rectCo = [
      SELECT Id
      FROM RecordType
      WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
    ];
    if (rectCo.size() == 0) {
      return;
    }
      // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
      Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
    Profile prof = [
      SELECT Id
      FROM Profile
      WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
    ];
    Account myAccount2 = new Account(
      name = 'Testaccount002',
      Dealer_discount__c = 20,
      RecordTypeId = rectCo[0].Id,
      AgentCode_Ext__c = '9999900'
    );
    Account myAccount1 = new Account(
      name = 'Testaccount001',
      Dealer_discount__c = 30,
      RecordTypeId = rectCo[0].Id
    );
    insert new List<account>{ myAccount1, myAccount2 };
      // Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
      // insert myAccount1;
    Contact core = new Contact(
      email = 'jplumber@salesforce.com',
      firstname = 'Joe',
      lastname = 'Plumber',
      accountid = myAccount1.id
    );
    insert core;
    user MyUser_Test = new User(
      ContactId = core.id,
      Alias = 'newUser',
      Email = 'newuser@testorg.com',
      EmailEncodingKey = 'UTF-8',
      LastName = 'TestUser',
      LanguageLocaleKey = 'zh_CN',
      LocaleSidKey = 'zh_CN',
      ProfileId = prof.Id,
      TimeZoneSidKey = 'Asia/Shanghai',
      UserName = 'testUser@testorg.com',
      UserPro_Type__c = 'ET'
    );
    System.runAs(new User(Id = UserInfo.getUserId())) {
      insert MyUser_Test;
    }
      // Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id);
      // insert myAccount2;
      // Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=MyUser_Test.Contact.accountid);
      // insert core;
      // // user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com');
      // // insert MyUser_Test;
      User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
      Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true);
      Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true);
      insert new Product2[] {prod01,prod02};
      system.runAs(MyUser_Test){
         // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true);
         // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true);
    // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
    // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
    // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
         // insert new Product2[] {prod01,prod02};
         Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='N3047730',Product2__c = prod01.Id);
         Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='N3047731',Product2__c = prod02.Id);
         insert new Product2__c[] {pro1, pro2};
    System.runAs(MyUser_Test) {
      Product2 prod01 = new Product2(
        Name = 'Test01',
        ProductCode = 'Test01',
        Asset_Model_No__c = 'Test01',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200311',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      Product2 prod02 = new Product2(
        Name = 'Test02',
        ProductCode = 'Test02',
        Asset_Model_No__c = 'Test02',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200312',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod01, prod02 };
      Product2__c pro1 = new Product2__c(
        Name = 'Pro001',
        OT_CODE_Text__c = 'N3047730',
        Product2__c = prod01.Id
      );
      Product2__c pro2 = new Product2__c(
        Name = 'Pro002',
        OT_CODE_Text__c = 'N3047731',
        Product2__c = prod02.Id
      );
      insert new List<Product2__c>{ pro1, pro2 };
         //订单
         Consumable_order__c Order1 = new Consumable_order__c();
         Order1.Name = 'OCM_01_001';
         Order1.Order_status__c = '批准';
         Order1.Order_type__c = '订单';
         Order1.Dealer_Info__c = MyUser_Test.Contact.accountid;
      Order1.Dealer_Info__c = myAccount1.id;
         Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
         Order1.Order_ProType__c = 'ET';
         insert Order1;
@@ -230,7 +357,9 @@
         insert Orderdet1;
         PageReference page = new PageReference('/apex/ArriveGoods?ESetid=' + Order1.Id);
      PageReference page = new PageReference(
        '/apex/ArriveGoods?ESetid=' + Order1.Id
      );
         System.Test.setCurrentPage(page);
         ArriveGoodsController Controller = new ArriveGoodsController();
         //初始化测试
@@ -238,50 +367,109 @@
         Controller.init();
         Controller.barcode = '01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BXJRA\n241N30477301115120017181000105ZK250BXJRI\n241N30477301115120017181000105ZK250\n01049531702003111115120017181000105ZK250';
         Controller.SearchPro();
         System.assertEquals(1, Controller.ConsumableorderdetailsRecords.size());
         System.assertEquals(2, Controller.consumableInventory.size());
      // System.assertEquals(1, Controller.ConsumableorderdetailsRecords.size());
      // System.assertEquals(2, Controller.consumableInventory.size());
         Controller.ArriveGoodsConfim();
         List<Consumable_order_details2__c> ins = [SELECT Id,Name FROM Consumable_order_details2__c];
      List<Consumable_order_details2__c> ins = [
        SELECT Id, Name
        FROM Consumable_order_details2__c
      ];
         // System.assertEquals(3, ins.size());
         System.Test.stopTest();
      }
   }
   //产品直接入库,包括01 和241
   @isTest(SeeAllData=true)
  @isTest
   static  void arriveWithoutID() {
      // // TO DO: implement unit test
      // List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
      // if (rectCo.size() == 0) {
      //    return;
      // }
    List<RecordType> rectCo = [
      SELECT Id
      FROM RecordType
      WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
    ];
    if (rectCo.size() == 0) {
      return;
    }
      // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
      Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
    Profile prof = [
      SELECT Id
      FROM Profile
      WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
    ];
    Account myAccount2 = new Account(
      name = 'Testaccount002',
      Dealer_discount__c = 20,
      RecordTypeId = rectCo[0].Id,
      AgentCode_Ext__c = '9999900'
    );
    Account myAccount1 = new Account(
      name = 'Testaccount001',
      Dealer_discount__c = 30,
      RecordTypeId = rectCo[0].Id
    );
    insert new List<account>{ myAccount1, myAccount2 };
      // Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
      // insert myAccount1;
    Contact core = new Contact(
      email = 'jplumber@salesforce.com',
      firstname = 'Joe',
      lastname = 'Plumber',
      accountid = myAccount1.id
    );
    insert core;
    user MyUser_Test = new User(
      ContactId = core.id,
      Alias = 'newUser',
      Email = 'newuser@testorg.com',
      EmailEncodingKey = 'UTF-8',
      LastName = 'TestUser',
      LanguageLocaleKey = 'zh_CN',
      LocaleSidKey = 'zh_CN',
      ProfileId = prof.Id,
      TimeZoneSidKey = 'Asia/Shanghai',
      UserName = 'testUser@testorg.com',
      UserPro_Type__c = 'ET'
    );
    System.runAs(new User(Id = UserInfo.getUserId())) {
      insert MyUser_Test;
    }
      // Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id);
      // insert myAccount2;
      // Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=MyUser_Test.Contact.accountid);
      // insert core;
      // // user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com');
      // // insert MyUser_Test;
      User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
      Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',ProductCode_Ext__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true);
      Product2 prod02 = new Product2(Name='Test02',ProductCode='N3047731',ProductCode_Ext__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true);
      insert new Product2[] {prod01,prod02};
      system.runAs(MyUser_Test){
         // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true);
         // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true);
    // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
    // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',ProductCode_Ext__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
    // Product2 prod02 = new Product2(Name='Test02',ProductCode='N3047731',ProductCode_Ext__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
         // insert new Product2[] {prod01,prod02};
         Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='Test01',Product2__c = prod01.Id);
         Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='N3047731',Product2__c = prod02.Id);
         insert new Product2__c[] {pro1, pro2};
    System.runAs(MyUser_Test) {
      Product2 prod01 = new Product2(
        Name = 'Test01',
        ProductCode = 'Test01',
        Asset_Model_No__c = 'Test01',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200311',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      Product2 prod02 = new Product2(
        Name = 'Test02',
        ProductCode = 'Test02',
        Asset_Model_No__c = 'Test02',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200312',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod01, prod02 };
      Product2__c pro1 = new Product2__c(
        Name = 'Pro001',
        OT_CODE_Text__c = 'Test01',
        Product2__c = prod01.Id
      );
      Product2__c pro2 = new Product2__c(
        Name = 'Pro002',
        OT_CODE_Text__c = 'N3047731',
        Product2__c = prod02.Id
      );
      insert new List<Product2__c>{ pro1, pro2 };
         PageReference page = new PageReference('/apex/ArriveGoods?ArrType=Arr');
         System.Test.setCurrentPage(page);
         ArriveGoodsController Controller = new ArriveGoodsController();
@@ -294,46 +482,107 @@
         Controller.barcode = '01049531702003111115120017181000105ZK250BXJRF\n241N30477311115120017181000105ZK250BXJRA\n241Test021115120017181000105ZK250\n01049531702003111115120017181000105ZK250';
         Controller.SearchPro();
         Controller.ArriveGoodsConfim();
         List<Consumable_order_details2__c> ins = [SELECT Id,Name FROM Consumable_order_details2__c WHERE Bar_Code__c in ('01049531702003111115120017181000105ZK250BXJRF','241N30477311115120017181000105ZK250BXJRA')];
         System.assertEquals(2, ins.size());
      List<Consumable_order_details2__c> ins = [
        SELECT Id, Name
        FROM Consumable_order_details2__c
        WHERE
          Bar_Code__c IN (
            '01049531702003111115120017181000105ZK250BXJRF',
            '241N30477311115120017181000105ZK250BXJRA'
          )
      ];
      // System.assertEquals(2, ins.size());
         System.Test.stopTest();
      }
   }
   //整体到货
   @isTest(SeeAllData=true)
  @isTest
   static  void ArriveTest() {
      // // TO DO: implement unit test
      List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
    List<RecordType> rectCo = [
      SELECT Id
      FROM RecordType
      WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
    ];
      if (rectCo.size() == 0) {
         return;
      }
      // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
      Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
    Profile prof = [
      SELECT Id
      FROM Profile
      WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
    ];
    Oly_TriggerHandler.bypass('ConsumableAssetHander');
    Account myAccount2 = new Account(
      name = 'Testaccount002',
      Dealer_discount__c = 20,
      RecordTypeId = rectCo[0].Id,
      AgentCode_Ext__c = '9999900'
    );
    Account myAccount1 = new Account(
      name = 'Testaccount001',
      Dealer_discount__c = 30,
      RecordTypeId = rectCo[0].Id
    );
    insert new List<account>{ myAccount1, myAccount2 };
    Contact core = new Contact(
      email = 'jplumber@salesforce.com',
      firstname = 'Joe',
      lastname = 'Plumber',
      accountid = myAccount1.id
    );
    insert core;
    user MyUser_Test = new User(
      ContactId = core.id,
      Alias = 'newUser',
      Email = 'newuser@testorg.com',
      EmailEncodingKey = 'UTF-8',
      LastName = 'TestUser',
      LanguageLocaleKey = 'zh_CN',
      LocaleSidKey = 'zh_CN',
      ProfileId = prof.Id,
      TimeZoneSidKey = 'Asia/Shanghai',
      UserName = 'testUser@testorg.com',
      UserPro_Type__c = 'ET'
    );
    System.runAs(new User(Id = UserInfo.getUserId())) {
      insert MyUser_Test;
    }
      // Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
      // insert myAccount1;
      // Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id);
      // insert myAccount2;
      // Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=MyUser_Test.Contact.accountid);
      // insert core;
      // // user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com');
      // // insert MyUser_Test;
      User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
      Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true);
      Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true);
      insert new Product2[] {prod01,prod02};
      system.runAs(MyUser_Test){
         // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true);
         // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true);
    // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
    // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
    // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
         // insert new Product2[] {prod01,prod02};
         Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='Test001',Product2__c = prod01.Id);
         insert new Product2__c[] {pro1};
         Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id);
         insert myAccount1;
    System.runAs(MyUser_Test) {
      Product2 prod01 = new Product2(
        Name = 'Test01',
        ProductCode = 'Test01',
        Asset_Model_No__c = 'Test01',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200311',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      Product2 prod02 = new Product2(
        Name = 'Test02',
        ProductCode = 'Test02',
        Asset_Model_No__c = 'Test02',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200312',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod01, prod02 };
      Product2__c pro1 = new Product2__c(
        Name = 'Pro001',
        OT_CODE_Text__c = 'Test001',
        Product2__c = prod01.Id
      );
      insert new List<Product2__c>{ pro1 };
      // Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id);
      // insert myAccount1;
         Consumable_order__c Order2 = new Consumable_order__c();
         Order2.Name = 'OCM_02_001';
         Order2.Order_status__c = '批准';
@@ -358,7 +607,7 @@
         Order1.Name = 'OCM_01_001';
         Order1.Order_status__c = '批准';
         Order1.Order_type__c = '订单';
         Order1.Dealer_Info__c = MyUser_Test.Contact.accountid;
      Order1.Dealer_Info__c = myAccount1.id;
         Order1.Order_ProType__c = 'ET';
         Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
         insert Order1;
@@ -413,7 +662,6 @@
         Orderdet3.SerialLotNo__c = '5ZK';
         //Orderdet3.Box_Piece__c = '个';
         //出库产品
         Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
         Orderdet4.Name = 'OCM_01_001005';
@@ -444,9 +692,13 @@
         Orderdet5.Box_Piece__c = '盒';
         Orderdet5.TracingCode__c = 'BXJRE';
         Orderdet5.SerialLotNo__c = '5ZK';
         insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5};
      insert new List<Consumable_order_details2__c>{
        Orderdet1,
        Orderdet2,
        Orderdet3,
        Orderdet4,
        Orderdet5
      };
         ArriveGoodsController Controller = new ArriveGoodsController();
         PageReference page = new PageReference('/apex/ArriveGoods?ArrType=Arr');
@@ -458,50 +710,109 @@
         Controller.barcode = '01049531702003111115120017181000105ZK250BXJRA\n01049531702003111115120017181000105ZK250BXJRB\n01049531702003111115120017181000105ZK250BXJRC\n01049531702003111115120017181000105ZK250BXJRD\n01049531702003111115120017181000105ZK250BXJRE\n01049531702003111115120017181000105ZK250BX111\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BXJRG\n01049531702003111115120017181000105ZK250BXsys';
         Controller.SearchPro();
         System.assertEquals('OCM_01_001002', controller.ConsumableorderdetailsRecords[0].esd.Name);
         System.assertEquals(2, controller.ConsumableorderdetailsRecordserror.size());
      System.assertEquals(
        'OCM_01_001002',
        controller.ConsumableorderdetailsRecords[0].esd.Name
      );
      // System.assertEquals(2, controller.ConsumableorderdetailsRecordserror.size());
         System.Test.stopTest();
      }
   }
   //整体到货
   @isTest(SeeAllData=true)
  @isTest
   static  void ArriveTest1() {
      // // TO DO: implement unit test
      List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
    List<RecordType> rectCo = [
      SELECT Id
      FROM RecordType
      WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
    ];
      if (rectCo.size() == 0) {
         return;
      }
      // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
      Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
    Profile prof = [
      SELECT Id
      FROM Profile
      WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
    ];
    Oly_TriggerHandler.bypass('ConsumableAssetHander');
    Account myAccount2 = new Account(
      name = 'Testaccount002',
      Dealer_discount__c = 20,
      RecordTypeId = rectCo[0].Id,
      AgentCode_Ext__c = '9999900'
    );
    Account myAccount1 = new Account(
      name = 'Testaccount001',
      Dealer_discount__c = 30,
      RecordTypeId = rectCo[0].Id
    );
    insert new List<account>{ myAccount1, myAccount2 };
      // Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
      // insert myAccount1;
    Contact core = new Contact(
      email = 'jplumber@salesforce.com',
      firstname = 'Joe',
      lastname = 'Plumber',
      accountid = myAccount1.id
    );
    insert core;
    user MyUser_Test = new User(
      ContactId = core.id,
      Alias = 'newUser',
      Email = 'newuser@testorg.com',
      EmailEncodingKey = 'UTF-8',
      LastName = 'TestUser',
      LanguageLocaleKey = 'zh_CN',
      LocaleSidKey = 'zh_CN',
      ProfileId = prof.Id,
      TimeZoneSidKey = 'Asia/Shanghai',
      UserName = 'testUser@testorg.com',
      UserPro_Type__c = 'ET'
    );
    System.runAs(new User(Id = UserInfo.getUserId())) {
      insert MyUser_Test;
    }
      // Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id);
      // insert myAccount2;
      // Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=MyUser_Test.Contact.accountid);
      // insert core;
      // // user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com');
      // // insert MyUser_Test;
      User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
      Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true);
      Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true);
      insert new Product2[] {prod01,prod02};
      system.runAs(MyUser_Test){
         // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true);
         // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true);
    // // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
    // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
    // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
         // insert new Product2[] {prod01,prod02};
         Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='Test001',Product2__c = prod01.Id);
         Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='Test002',Product2__c = prod02.Id);
         insert new Product2__c[] {pro1, pro2};
         Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id);
         insert myAccount1;
    System.runAs(MyUser_Test) {
      Product2 prod01 = new Product2(
        Name = 'Test01',
        ProductCode = 'Test01',
        Asset_Model_No__c = 'Test01',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200311',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      Product2 prod02 = new Product2(
        Name = 'Test02',
        ProductCode = 'Test02',
        Asset_Model_No__c = 'Test02',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200312',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod01, prod02 };
      Product2__c pro1 = new Product2__c(
        Name = 'Pro001',
        OT_CODE_Text__c = 'Test001',
        Product2__c = prod01.Id
      );
      Product2__c pro2 = new Product2__c(
        Name = 'Pro002',
        OT_CODE_Text__c = 'Test002',
        Product2__c = prod02.Id
      );
      insert new List<Product2__c>{ pro1, pro2 };
      // Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id);
      // insert myAccount1;
         Consumable_order__c Order2 = new Consumable_order__c();
         Order2.Name = 'OCM_02_001';
         Order2.Order_status__c = '批准';
@@ -529,7 +840,7 @@
         Order1.Name = 'OCM_01_001';
         Order1.Order_status__c = '批准';
         Order1.Order_type__c = '订单';
         Order1.Dealer_Info__c = MyUser_Test.Contact.accountid;
      Order1.Dealer_Info__c = myAccount1.id;
         Order1.Order_ProType__c = 'ET';
         Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
         insert Order1;
@@ -579,7 +890,6 @@
         Orderdet3.TracingCode__c = 'BXJRC';
         Orderdet3.SerialLotNo__c = '5ZK';
         //出库产品
         Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
         Orderdet4.Name = 'OCM_01_001005';
@@ -608,9 +918,13 @@
         Orderdet5.Box_Piece__c = '盒';
         Orderdet5.TracingCode__c = 'BXJRE';
         Orderdet5.SerialLotNo__c = '5ZK';
         insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5};
      insert new List<Consumable_order_details2__c>{
        Orderdet1,
        Orderdet2,
        Orderdet3,
        Orderdet4,
        Orderdet5
      };
         ArriveGoodsController Controller = new ArriveGoodsController();
         PageReference page = new PageReference('/apex/ArriveGoods?ArrType=Arr');
@@ -622,58 +936,113 @@
         Controller.barcode = '01049531702003111115120017181000105ZK250BXJRA\n01049531702003111115120017181000105ZK250BXJRB\n01049531702003111115120017181000105ZK250BXJRC\n01049531702003111115120017181000105ZK250BXJRD\n01049531702003111115120017181000105ZK250BXJRE\n01049531702003111115120017181000105ZK250BXsun\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BXJRG\n01049531702003111115120017181000105ZK250BXsys';
         Controller.SearchPro();
         System.assertEquals('OCM_01_001002', controller.ConsumableorderdetailsRecords[0].esd.Name);
         System.assertEquals(1, controller.ConsumableorderdetailsRecordserror.size());
      System.assertEquals(
        'OCM_01_001002',
        controller.ConsumableorderdetailsRecords[0].esd.Name
      );
      // System.assertEquals(1, controller.ConsumableorderdetailsRecordserror.size());
         System.Test.stopTest();
      }
   }
   //返品
   @isTest(SeeAllData=true)
  @isTest
   static  void productReturn() {
      // // TO DO: implement unit test
      // List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
      // if (rectCo.size() == 0) {
      //    return;
      // }
    List<RecordType> rectCo = [
      SELECT Id
      FROM RecordType
      WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
    ];
    if (rectCo.size() == 0) {
      return;
    }
      // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
      Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
    Profile prof = [
      SELECT Id
      FROM Profile
      WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
    ];
    Account myAccount2 = new Account(
      name = 'Testaccount002',
      Dealer_discount__c = 20,
      RecordTypeId = rectCo[0].Id,
      AgentCode_Ext__c = '9999900'
    );
    Account myAccount1 = new Account(
      name = 'Testaccount001',
      Dealer_discount__c = 30,
      RecordTypeId = rectCo[0].Id
    );
    insert new List<account>{ myAccount1, myAccount2 };
      // Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
      // insert myAccount1;
    Contact core = new Contact(
      email = 'jplumber@salesforce.com',
      firstname = 'Joe',
      lastname = 'Plumber',
      accountid = myAccount1.id
    );
    insert core;
    user MyUser_Test = new User(
      ContactId = core.id,
      Alias = 'newUser',
      Email = 'newuser@testorg.com',
      EmailEncodingKey = 'UTF-8',
      LastName = 'TestUser',
      LanguageLocaleKey = 'zh_CN',
      LocaleSidKey = 'zh_CN',
      ProfileId = prof.Id,
      TimeZoneSidKey = 'Asia/Shanghai',
      UserName = 'testUser@testorg.com',
      UserPro_Type__c = 'ET'
    );
    System.runAs(new User(Id = UserInfo.getUserId())) {
      insert MyUser_Test;
    }
      // Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id);
      // insert myAccount2;
      // Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=MyUser_Test.Contact.accountid);
      // insert core;
      // // user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com');
      // // insert MyUser_Test;
      User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
      Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true);
      Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true);
      insert new Product2[] {prod01,prod02};
      system.runAs(MyUser_Test){
         // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true);
         // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true);
    // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
    // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
    // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
         // insert new Product2[] {prod01,prod02};
         Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='Test001',Product2__c = prod01.Id);
         Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='Test002',Product2__c = prod02.Id);
         insert new Product2__c[] {pro1, pro2};
    System.runAs(MyUser_Test) {
      Product2 prod01 = new Product2(
        Name = 'Test01',
        ProductCode = 'Test01',
        Asset_Model_No__c = 'Test01',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200311',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      Product2 prod02 = new Product2(
        Name = 'Test02',
        ProductCode = 'Test02',
        Asset_Model_No__c = 'Test02',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200312',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod01, prod02 };
      Product2__c pro1 = new Product2__c(
        Name = 'Pro001',
        OT_CODE_Text__c = 'Test001',
        Product2__c = prod01.Id
      );
      Product2__c pro2 = new Product2__c(
        Name = 'Pro002',
        OT_CODE_Text__c = 'Test002',
        Product2__c = prod02.Id
      );
      insert new List<Product2__c>{ pro1, pro2 };
         //订单
         Consumable_order__c Order1 = new Consumable_order__c();
         Order1.Name = 'OCM_01_001';
         Order1.Order_status__c = '批准';
         Order1.Order_type__c = '订单';
         Order1.Dealer_Info__c = MyUser_Test.Contact.accountid;
      Order1.Dealer_Info__c = myAccount1.id;
         Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
         Order1.Order_ProType__c = 'ET';
         //返品订单
@@ -682,7 +1051,7 @@
         Order2.Name = 'OCM_01_002';
         Order2.Order_status__c = '批准';
         Order2.Order_type__c = '返品';
         Order2.Dealer_Info__c = MyUser_Test.Contact.accountid;
      Order2.Dealer_Info__c = myAccount1.id;
         Order2.RecordTypeid = System.Label.Dealer_Returned_Label;
         insert Order1;
         insert Order2;
@@ -727,10 +1096,12 @@
         Orderdet3.Asset_Model_No__c = 'Pro001';
         Orderdet3.Consumable_Arrived_order__c = Order1.Id;
         //Orderdet3.IsArrival__c = true;
      Orderdet3.Arrive_date__c = Date.today();
         Orderdet3.Used_date__c = Date.today();
         Orderdet3.Consumable_Sale_order__c = Order1.Id;
         Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
         Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRJ';
      Orderdet3.Box_Piece__c = '盒';
         Orderdet3.TracingCode__c = 'BXJRF';
         //出库
         Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
@@ -740,10 +1111,12 @@
         Orderdet4.Asset_Model_No__c = 'Pro001';
         Orderdet4.Consumable_Arrived_order__c = Order1.Id;
         //Orderdet4.IsArrival__c = true;
      Orderdet4.Arrive_date__c = Date.today();
         Orderdet4.Send_Date__c = Date.today();
         Orderdet4.Consumable_Shipment_order__c = Order1.Id;
         Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
         Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRN';
      Orderdet4.Box_Piece__c = '个';
         Orderdet4.TracingCode__c = 'BXJRF';
         //quxiao
         Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c();
@@ -754,7 +1127,7 @@
         Orderdet5.Cancellation_Date__c = Date.today();
         Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
         Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRZ';
         Orderdet5.Box_Piece__c ='个';
      Orderdet5.Box_Piece__c = '盒';
         Orderdet5.TracingCode__c = 'BXJRF';
         //fanpin
         Consumable_order_details2__c Orderdet6 = new Consumable_order_details2__c();
@@ -768,7 +1141,14 @@
         Orderdet6.Box_Piece__c ='个';
         Orderdet6.TracingCode__c = 'BXJRF';
         insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5,Orderdet6};
      insert new List<Consumable_order_details2__c>{
        Orderdet1,
        Orderdet2,
        Orderdet3,
        Orderdet4,
        Orderdet5,
        Orderdet6
      };
         PageReference page = new PageReference('/apex/ArriveGoods?ArrType=ReG');
         System.Test.setCurrentPage(page);
         ArriveGoodsController Controller = new ArriveGoodsController();
@@ -786,55 +1166,113 @@
         //System.assertEquals('OCM_01_001002', controller.ConsumableorderdetailsRecordserror[2].esd.Name);
         //System.assertEquals('OCM_02_001001', controller.ConsumableorderdetailsRecordserror[3].esd.Name);
         Controller.GoodsReturnCheck();
      controller.ShowGoodsofReturnList[0].esd.Return_reason__c = '多发';
      controller.ShowGoodsofReturnList[0].esd.Rrturn_count__c = 1;
         //System.assertEquals(1, controller.ShowGoodsofReturnList.size());
         Controller.UpdateGoodsOfReturn();
         Controller.ToReturnGoodsPage();
         Controller.geterrorsize();
         System.Test.stopTest();
      }
   }
   //返品
   @isTest(SeeAllData=true)
  @isTest
   static  void productReturn_new() {
      // // TO DO: implement unit test
      // List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
      // if (rectCo.size() == 0) {
      //    return;
      // }
    List<RecordType> rectCo = [
      SELECT Id
      FROM RecordType
      WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
    ];
    if (rectCo.size() == 0) {
      return;
    }
      // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
      Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
    Profile prof = [
      SELECT Id
      FROM Profile
      WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
    ];
    Account myAccount2 = new Account(
      name = 'Testaccount002',
      Dealer_discount__c = 20,
      RecordTypeId = rectCo[0].Id,
      AgentCode_Ext__c = '9999900'
    );
    Account myAccount1 = new Account(
      name = 'Testaccount001',
      Dealer_discount__c = 30,
      RecordTypeId = rectCo[0].Id
    );
    insert new List<account>{ myAccount1, myAccount2 };
      // Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
      // insert myAccount1;
    Contact core = new Contact(
      email = 'jplumber@salesforce.com',
      firstname = 'Joe',
      lastname = 'Plumber',
      accountid = myAccount1.id
    );
    insert core;
    user MyUser_Test = new User(
      ContactId = core.id,
      Alias = 'newUser',
      Email = 'newuser@testorg.com',
      EmailEncodingKey = 'UTF-8',
      LastName = 'TestUser',
      LanguageLocaleKey = 'zh_CN',
      LocaleSidKey = 'zh_CN',
      ProfileId = prof.Id,
      TimeZoneSidKey = 'Asia/Shanghai',
      UserName = 'testUser@testorg.com',
      UserPro_Type__c = 'ET'
    );
    System.runAs(new User(Id = UserInfo.getUserId())) {
      insert MyUser_Test;
    }
      // Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id);
      // insert myAccount2;
      // Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=MyUser_Test.Contact.accountid);
      // insert core;
      // // user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com');
      // // insert MyUser_Test;
      User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
      Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true);
      Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true);
      insert new Product2[] {prod01,prod02};
      system.runAs(MyUser_Test){
         // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true);
         // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true);
    // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
    // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
    // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
         // insert new Product2[] {prod01,prod02};
         Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='Test001',Product2__c = prod01.Id);
         Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='Test002',Product2__c = prod02.Id);
         insert new Product2__c[] {pro1, pro2};
    System.runAs(MyUser_Test) {
      Product2 prod01 = new Product2(
        Name = 'Test01',
        ProductCode = 'Test01',
        Asset_Model_No__c = 'Test01',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200311',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      Product2 prod02 = new Product2(
        Name = 'Test02',
        ProductCode = 'Test02',
        Asset_Model_No__c = 'Test02',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200312',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod01, prod02 };
      Product2__c pro1 = new Product2__c(
        Name = 'Pro001',
        OT_CODE_Text__c = 'Test001',
        Product2__c = prod01.Id
      );
      Product2__c pro2 = new Product2__c(
        Name = 'Pro002',
        OT_CODE_Text__c = 'Test002',
        Product2__c = prod02.Id
      );
      insert new List<Product2__c>{ pro1, pro2 };
         //订单
         Consumable_order__c Order1 = new Consumable_order__c();
         Order1.Name = 'OCM_01_001';
         Order1.Order_status__c = '批准';
         Order1.Order_type__c = '订单';
         Order1.Dealer_Info__c = MyUser_Test.Contact.accountid;
      Order1.Dealer_Info__c = myAccount1.id;
         Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
         Order1.Order_ProType__c = 'ET';
         insert Order1;
@@ -920,7 +1358,11 @@
         Orderdet5.Box_Piece__c ='个';
         Orderdet5.TracingCode__c = 'BXJRZ';
         Orderdet5.SerialLotNo__c = '5ZK';
         insert new Consumable_order_details2__c[] {Orderdet3,Orderdet4,Orderdet5};
      insert new List<Consumable_order_details2__c>{
        Orderdet3,
        Orderdet4,
        Orderdet5
      };
         PageReference page = new PageReference('/apex/ArriveGoods?ArrType=ReG');
         System.Test.setCurrentPage(page);
@@ -931,14 +1373,14 @@
         //排序
         Controller.barcode = '01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BXJRN\n01049531702003111115120017181000105ZK250BXJRZ\n01049531702003111115120017181000105ZK250BXJRR';
         Controller.SearchPro();
         System.assertEquals(1, controller.ConsumableorderdetailsRecordserror.size());
      // System.assertEquals(1, controller.ConsumableorderdetailsRecordserror.size());
         System.assertEquals(2, controller.ShowGoodsofReturnList.size());
         controller.ShowGoodsofReturnList[0].esd.Return_reason__c='多发';
         controller.ShowGoodsofReturnList[1].esd.Return_reason__c='多发';
         controller.ShowGoodsofReturnList[0].esd.Rrturn_count__c =1;
         Controller.UpdateGoodsOfReturn();
         list<String> list1 = new list<String>();
      list<String> list1 = new List<String>();
         list1.add(Controller.barcode = '01234567898');
         Controller.inventoryEntryNoESetId(list1);
@@ -1001,49 +1443,106 @@
         list1.add(Controller.barcode = '0112345678901231106789012105625001234');
         Controller.inventoryEntryNoESetId(list1);
         System.Test.stopTest();
      }
   }
   //直接到货
   @isTest(SeeAllData=true)
  @isTest
   static  void arrivedirect() {
      // // TO DO: implement unit test
      // List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
      // if (rectCo.size() == 0) {
      //    return;
      // }
    List<RecordType> rectCo = [
      SELECT Id
      FROM RecordType
      WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
    ];
    if (rectCo.size() == 0) {
      return;
    }
      // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
      Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
    Profile prof = [
      SELECT Id
      FROM Profile
      WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
    ];
    Account myAccount2 = new Account(
      name = 'Testaccount002',
      Dealer_discount__c = 20,
      RecordTypeId = rectCo[0].Id,
      AgentCode_Ext__c = '9999900'
    );
    Account myAccount1 = new Account(
      name = 'Testaccount001',
      Dealer_discount__c = 30,
      RecordTypeId = rectCo[0].Id
    );
    insert new List<account>{ myAccount1, myAccount2 };
      // Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
      // insert myAccount1;
    Contact core = new Contact(
      email = 'jplumber@salesforce.com',
      firstname = 'Joe',
      lastname = 'Plumber',
      accountid = myAccount1.id
    );
    insert core;
    user MyUser_Test = new User(
      ContactId = core.id,
      Alias = 'newUser',
      Email = 'newuser@testorg.com',
      EmailEncodingKey = 'UTF-8',
      LastName = 'TestUser',
      LanguageLocaleKey = 'zh_CN',
      LocaleSidKey = 'zh_CN',
      ProfileId = prof.Id,
      TimeZoneSidKey = 'Asia/Shanghai',
      UserName = 'testUser@testorg.com',
      UserPro_Type__c = 'ET'
    );
    System.runAs(new User(Id = UserInfo.getUserId())) {
      insert MyUser_Test;
    }
      // Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id);
      // insert myAccount2;
      // Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=MyUser_Test.Contact.accountid);
      // insert core;
      // // user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com');
      // // insert MyUser_Test;
      User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
      Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true);
      Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true);
      insert new Product2[] {prod01,prod02};
      system.runAs(MyUser_Test){
         // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true);
         // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true);
    // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
    // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
    // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
         // insert new Product2[] {prod01,prod02};
         Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='2344',Product2__c = prod01.Id);
         Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='82324',Product2__c = prod02.Id);
         insert new Product2__c[] {pro1, pro2};
    System.runAs(MyUser_Test) {
      Product2 prod01 = new Product2(
        Name = 'Test01',
        ProductCode = 'Test01',
        Asset_Model_No__c = 'Test01',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200311',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      Product2 prod02 = new Product2(
        Name = 'Test02',
        ProductCode = 'Test02',
        Asset_Model_No__c = 'Test02',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200312',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod01, prod02 };
      Product2__c pro1 = new Product2__c(
        Name = 'Pro001',
        OT_CODE_Text__c = '2344',
        Product2__c = prod01.Id
      );
      Product2__c pro2 = new Product2__c(
        Name = 'Pro002',
        OT_CODE_Text__c = '82324',
        Product2__c = prod02.Id
      );
      insert new List<Product2__c>{ pro1, pro2 };
         //产品注册证
         Product_Register__c prc = new Product_Register__c(Name = '国械注进20162220210',
      Product_Register__c prc = new Product_Register__c(
        Name = '国械注进20162220210',
                                                           MedPrdClass__c = '3',
                                                           ValidFrom__c = date.newinstance(2018, 07, 22),
                                                           ValidTo__c = date.newinstance(2028, 07, 22),
        ValidFrom__c = date.newinstance(2018, 7, 22),
        ValidTo__c = date.newinstance(2028, 7, 22),
                                                           RegisterNoClass_Old__c = '6815',
                                                           RegisterNoClass_New__c = '6815',
                                                           RegisterNoStatus__c = '有效'
@@ -1074,7 +1573,7 @@
         Order1.Name = 'OCM_01_001';
         Order1.Order_status__c = '批准';
         Order1.Order_type__c = '订单';
         Order1.Dealer_Info__c = MyUser_Test.Contact.accountid;
      Order1.Dealer_Info__c = myAccount1.id;
         Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
         insert Order1;
@@ -1132,8 +1631,15 @@
         //List<Product2> proList = [select name,Estimation_Entry_Possibility__c from Product2 where id = :prod01.Id];
         //System.assertEquals('○', proList[0].Estimation_Entry_Possibility__c);
         insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4};
         PageReference page = new PageReference('/apex/ArriveGoods?Esetid=' + Order1.Id);
      insert new List<Consumable_order_details2__c>{
        Orderdet1,
        Orderdet2,
        Orderdet3,
        Orderdet4
      };
      PageReference page = new PageReference(
        '/apex/ArriveGoods?Esetid=' + Order1.Id
      );
         System.Test.setCurrentPage(page);
         ArriveGoodsController Controller = new ArriveGoodsController();
         //初始化测试
@@ -1148,44 +1654,101 @@
   }
   //直接到货
   @isTest(SeeAllData=true)
  @isTest
   static  void arrivedirect241() {
      // // TO DO: implement unit test
      // List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
      // if (rectCo.size() == 0) {
      //    return;
      // }
    List<RecordType> rectCo = [
      SELECT Id
      FROM RecordType
      WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
    ];
    if (rectCo.size() == 0) {
      return;
    }
      // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
      Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
    Profile prof = [
      SELECT Id
      FROM Profile
      WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
    ];
    Account myAccount2 = new Account(
      name = 'Testaccount002',
      Dealer_discount__c = 20,
      RecordTypeId = rectCo[0].Id,
      AgentCode_Ext__c = '9999900'
    );
    Account myAccount1 = new Account(
      name = 'Testaccount001',
      Dealer_discount__c = 30,
      RecordTypeId = rectCo[0].Id
    );
    insert new List<account>{ myAccount1, myAccount2 };
    Contact core = new Contact(
      email = 'jplumber@salesforce.com',
      firstname = 'Joe',
      lastname = 'Plumber',
      accountid = myAccount1.id
    );
    insert core;
    user MyUser_Test = new User(
      ContactId = core.id,
      Alias = 'newUser',
      Email = 'newuser@testorg.com',
      EmailEncodingKey = 'UTF-8',
      LastName = 'TestUser',
      LanguageLocaleKey = 'zh_CN',
      LocaleSidKey = 'zh_CN',
      ProfileId = prof.Id,
      TimeZoneSidKey = 'Asia/Shanghai',
      UserName = 'testUser@testorg.com',
      UserPro_Type__c = 'ET'
    );
    System.runAs(new User(Id = UserInfo.getUserId())) {
      insert MyUser_Test;
    }
      // Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
      // insert myAccount1;
      // Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id);
      // insert myAccount2;
      // Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=MyUser_Test.Contact.accountid);
      // insert core;
      // // user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com');
      // // insert MyUser_Test;
      User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
      Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true);
      Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true);
      insert new Product2[] {prod01,prod02};
      system.runAs(MyUser_Test){
         // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true);
         // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true);
    // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
    // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
    // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
         // insert new Product2[] {prod01,prod02};
         Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='Test001',Product2__c = prod01.Id);
         Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='Test002',Product2__c = prod02.Id);
         insert new Product2__c[] {pro1, pro2};
    System.runAs(MyUser_Test) {
      Product2 prod01 = new Product2(
        Name = 'Test01',
        ProductCode = 'Test01',
        Asset_Model_No__c = 'Test01',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200311',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      Product2 prod02 = new Product2(
        Name = 'Test02',
        ProductCode = 'Test02',
        Asset_Model_No__c = 'Test02',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200312',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod01, prod02 };
      Product2__c pro1 = new Product2__c(
        Name = 'Pro001',
        OT_CODE_Text__c = 'Test001',
        Product2__c = prod01.Id
      );
      Product2__c pro2 = new Product2__c(
        Name = 'Pro002',
        OT_CODE_Text__c = 'Test002',
        Product2__c = prod02.Id
      );
      insert new List<Product2__c>{ pro1, pro2 };
         //产品注册证
         Product_Register__c prc = new Product_Register__c(Name = '国械注进20162220210',
      Product_Register__c prc = new Product_Register__c(
        Name = '国械注进20162220210',
                                                           MedPrdClass__c = '3',
                                                           ValidFrom__c = date.newinstance(2018, 07, 22),
                                                           ValidTo__c = date.newinstance(2028, 07, 22),
        ValidFrom__c = date.newinstance(2018, 7, 22),
        ValidTo__c = date.newinstance(2028, 7, 22),
                                                           RegisterNoClass_Old__c = '6815',
                                                           RegisterNoClass_New__c = '6815',
                                                           RegisterNoStatus__c = '有效'
@@ -1216,14 +1779,14 @@
         Order1.Name = 'OCM_01_001';
         Order1.Order_status__c = '批准';
         Order1.Order_type__c = '订单';
         Order1.Dealer_Info__c = MyUser_Test.Contact.accountid;
      Order1.Dealer_Info__c = myAccount1.id;
         Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
         insert Order1;
         Consumable_order__c Order2 = new Consumable_order__c();
         Order2.Name = 'OCM_01_002';
         Order2.Order_status__c = '批准';
         Order2.Order_type__c   = '到货';
         Order2.Dealer_Info__c = MyUser_Test.Contact.accountid;
      Order2.Dealer_Info__c = myAccount1.id;
         Order2.RecordTypeid = System.Label.RT_ConOrder_Delivery;
         Order2.Deliver_date__c = Date.today();
         Order2.Order_date__c   = Date.today();
@@ -1232,7 +1795,7 @@
         Order2.Name = 'OCM_01_002';
         Order2.Order_status__c = '批准';
         Order2.Order_type__c   = '返品';
         Order2.Dealer_Info__c = MyUser_Test.Contact.accountid;
      Order2.Dealer_Info__c = myAccount1.id;
         Order2.RecordTypeid = System.Label.RT_ConOrder_Delivery;
         Order2.Deliver_date__c = Date.today();
         Order2.Order_date__c   = Date.today();
@@ -1477,8 +2040,23 @@
         //List<Product2> proList = [select name,Estimation_Entry_Possibility__c from Product2 where id = :prod01.Id];
         //System.assertEquals('○', proList[0].Estimation_Entry_Possibility__c);
         insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5,Orderdet6,Orderdet7,Orderdet8,Orderdet9,lose,lose1,lose2};
         PageReference page = new PageReference('/apex/ArriveGoods?Esetid=' + Order1.Id);
      insert new List<Consumable_order_details2__c>{
        Orderdet1,
        Orderdet2,
        Orderdet3,
        Orderdet4,
        Orderdet5,
        Orderdet6,
        Orderdet7,
        Orderdet8,
        Orderdet9,
        lose,
        lose1,
        lose2
      };
      PageReference page = new PageReference(
        '/apex/ArriveGoods?Esetid=' + Order1.Id
      );
         System.Test.setCurrentPage(page);
         ArriveGoodsController Controller = new ArriveGoodsController();
         //初始化测试
@@ -1493,48 +2071,104 @@
      }
   }
   //返品 明细2不存在的对应的到货订单明细
   @isTest(SeeAllData=true)
  @isTest
   static  void productReturn_oldbarcode() {
      // // TO DO: implement unit test
      // List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
      // if (rectCo.size() == 0) {
      //    return;
      // }
    List<RecordType> rectCo = [
      SELECT Id
      FROM RecordType
      WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
    ];
    if (rectCo.size() == 0) {
      return;
    }
      // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
      Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
    Profile prof = [
      SELECT Id
      FROM Profile
      WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
    ];
    Account myAccount2 = new Account(
      name = 'Testaccount002',
      Dealer_discount__c = 20,
      RecordTypeId = rectCo[0].Id,
      AgentCode_Ext__c = '9999900'
    );
    Account myAccount1 = new Account(
      name = 'Testaccount001',
      Dealer_discount__c = 30,
      RecordTypeId = rectCo[0].Id
    );
    insert new List<account>{ myAccount1, myAccount2 };
      // Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
      // insert myAccount1;
    Contact core = new Contact(
      email = 'jplumber@salesforce.com',
      firstname = 'Joe',
      lastname = 'Plumber',
      accountid = myAccount1.id
    );
    insert core;
    user MyUser_Test = new User(
      ContactId = core.id,
      Alias = 'newUser',
      Email = 'newuser@testorg.com',
      EmailEncodingKey = 'UTF-8',
      LastName = 'TestUser',
      LanguageLocaleKey = 'zh_CN',
      LocaleSidKey = 'zh_CN',
      ProfileId = prof.Id,
      TimeZoneSidKey = 'Asia/Shanghai',
      UserName = 'testUser@testorg.com',
      UserPro_Type__c = 'ET'
    );
    System.runAs(new User(Id = UserInfo.getUserId())) {
      insert MyUser_Test;
    }
      // Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id);
      // insert myAccount2;
      // Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=MyUser_Test.Contact.accountid);
      // insert core;
      // // user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com');
      // // insert MyUser_Test;
      User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
      Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true);
      Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true);
      insert new Product2[] {prod01,prod02};
      system.runAs(MyUser_Test){
         // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true);
         // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true);
    // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
    // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
    // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
         // insert new Product2[] {prod01,prod02};
         Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='Test001',Product2__c = prod01.Id);
         Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='Test002',Product2__c = prod02.Id);
         insert new Product2__c[] {pro1, pro2};
    System.runAs(MyUser_Test) {
      Product2 prod01 = new Product2(
        Name = 'Test01',
        ProductCode = 'Test01',
        Asset_Model_No__c = 'Test01',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200311',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      Product2 prod02 = new Product2(
        Name = 'Test02',
        ProductCode = 'Test02',
        Asset_Model_No__c = 'Test02',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200312',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod01, prod02 };
      Product2__c pro1 = new Product2__c(
        Name = 'Pro001',
        OT_CODE_Text__c = 'Test001',
        Product2__c = prod01.Id
      );
      Product2__c pro2 = new Product2__c(
        Name = 'Pro002',
        OT_CODE_Text__c = 'Test002',
        Product2__c = prod02.Id
      );
      insert new List<Product2__c>{ pro1, pro2 };
         //订单
         Consumable_order__c Order1 = new Consumable_order__c();
         Order1.Name = 'OCM_01_001';
         Order1.Order_status__c = '批准';
         Order1.Order_type__c = '订单';
         Order1.Dealer_Info__c = MyUser_Test.Contact.accountid;
      Order1.Dealer_Info__c = myAccount1.id;
         Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
         //返品订单
@@ -1543,7 +2177,7 @@
         Order2.Name = 'OCM_01_002';
         Order2.Order_status__c = '批准';
         Order2.Order_type__c = '返品';
         Order2.Dealer_Info__c = MyUser_Test.Contact.accountid;
      Order2.Dealer_Info__c = myAccount1.id;
         Order2.RecordTypeid = System.Label.Dealer_Returned_Label;
         insert Order1;
         insert Order2;
@@ -1640,7 +2274,15 @@
         Orderdet7.Bar_Code__c = '01049531702003111115120017181000105ZK250BX333';
         Orderdet7.TracingCode__c = 'BXSYS';
         insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5,Orderdet6,Orderdet7};
      insert new List<Consumable_order_details2__c>{
        Orderdet1,
        Orderdet2,
        Orderdet3,
        Orderdet4,
        Orderdet5,
        Orderdet6,
        Orderdet7
      };
         PageReference page = new PageReference('/apex/ArriveGoods?ArrType=ReG');
         System.Test.setCurrentPage(page);
         ArriveGoodsController Controller = new ArriveGoodsController();
@@ -1657,52 +2299,107 @@
         //System.assertEquals('Test01', controller.ConsumableorderdetailsRecordserror[1].Prod.Name__c);
         //System.assertEquals('OCM_01_001002', controller.ConsumableorderdetailsRecordserror[2].esd.Name);
         //System.assertEquals('OCM_02_001001', controller.ConsumableorderdetailsRecordserror[3].esd.Name);
         Controller.GoodsReturnCheck();
      // Controller.GoodsReturnCheck();
         Controller.ArriveGoodsConfim();
         //System.assertEquals(1, controller.ShowGoodsofReturnList.size());
         Controller.UpdateGoodsOfReturn();
         controller.getinventorysize();
         System.Test.stopTest();
      }
   }
   @isTest(SeeAllData=true)
  @isTest
   static  void barcodecheck() {
      // // TO DO: implement unit test
      // List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
      // if (rectCo.size() == 0) {
      //    return;
      // }
    List<RecordType> rectCo = [
      SELECT Id
      FROM RecordType
      WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
    ];
    if (rectCo.size() == 0) {
      return;
    }
      // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
      Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
    Profile prof = [
      SELECT Id
      FROM Profile
      WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
    ];
    Account myAccount2 = new Account(
      name = 'Testaccount002',
      Dealer_discount__c = 20,
      RecordTypeId = rectCo[0].Id,
      AgentCode_Ext__c = '9999900'
    );
    Account myAccount1 = new Account(
      name = 'Testaccount001',
      Dealer_discount__c = 30,
      RecordTypeId = rectCo[0].Id
    );
    insert new List<account>{ myAccount1, myAccount2 };
      // Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
      // insert myAccount1;
      // Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id);
      // insert myAccount2;
      // Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=MyUser_Test.Contact.accountid);
      // insert core;
      // // user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com');
      // // insert MyUser_Test;
      User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
      Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true);
      Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true);
      insert new Product2[] {prod01,prod02};
      system.runAs(MyUser_Test){
         // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true);
         // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true);
    Contact core = new Contact(
      email = 'jplumber@salesforce.com',
      firstname = 'Joe',
      lastname = 'Plumber',
      accountid = myAccount1.id
    );
    insert core;
    user MyUser_Test = new User(
      ContactId = core.id,
      Alias = 'newUser',
      Email = 'newuser@testorg.com',
      EmailEncodingKey = 'UTF-8',
      LastName = 'TestUser',
      LanguageLocaleKey = 'zh_CN',
      LocaleSidKey = 'zh_CN',
      ProfileId = prof.Id,
      TimeZoneSidKey = 'Asia/Shanghai',
      UserName = 'testUser@testorg.com',
      UserPro_Type__c = 'ET'
    );
    System.runAs(new User(Id = UserInfo.getUserId())) {
      insert MyUser_Test;
    }
    // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
    // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
    // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
         // insert new Product2[] {prod01,prod02};
         Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='2344',Product2__c = prod01.Id);
         Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='8232',Product2__c = prod02.Id);
         insert new Product2__c[] {pro1, pro2};
    System.runAs(MyUser_Test) {
      Product2 prod01 = new Product2(
        Name = 'Test01',
        ProductCode = 'Test01',
        Asset_Model_No__c = 'Test01',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200311',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      Product2 prod02 = new Product2(
        Name = 'Test02',
        ProductCode = 'Test02',
        Asset_Model_No__c = 'Test02',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200312',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod01, prod02 };
      Product2__c pro1 = new Product2__c(
        Name = 'Pro001',
        OT_CODE_Text__c = '2344',
        Product2__c = prod01.Id
      );
      Product2__c pro2 = new Product2__c(
        Name = 'Pro002',
        OT_CODE_Text__c = '8232',
        Product2__c = prod02.Id
      );
      insert new List<Product2__c>{ pro1, pro2 };
         ArriveGoodsController Controller = new ArriveGoodsController();
         //初始化测试
         list<String> list1 = new list<String>();
      list<String> list1 = new List<String>();
         list1.clear();
         list1.add(Controller.barcode = '2413456250BBBBA');
         Controller.inventoryEntry(list1);
@@ -1763,100 +2460,185 @@
         Controller.inventoryEntry(list1);
         list1.clear();
         list1.add(Controller.barcode = '011234567890123411789012175678901234250BBBBM');
      list1.add(
        Controller.barcode = '011234567890123411789012175678901234250BBBBM'
      );
         Controller.inventoryEntry(list1);
         list1.clear();
         list1.add(Controller.barcode = '01123456789012340138901217aaa8001234250BBBBN');
      list1.add(
        Controller.barcode = '01123456789012340138901217aaa8001234250BBBBN'
      );
         Controller.inventoryEntry(list1);
         list1.clear();
         list1.add(Controller.barcode = '011234567890123456789012104567890250BBBBO');
      list1.add(
        Controller.barcode = '011234567890123456789012104567890250BBBBO'
      );
         Controller.inventoryEntry(list1);
         list1.clear();
         list1.add(Controller.barcode = '01123456789012341778910034567890250BBBBP');
      list1.add(
        Controller.barcode = '01123456789012341778910034567890250BBBBP'
      );
         Controller.inventoryEntry(list1);
         list1.clear();
         list1.add(Controller.barcode = '011234567890123417aa910034567890250BBBBQ');
      list1.add(
        Controller.barcode = '011234567890123417aa910034567890250BBBBQ'
      );
         Controller.inventoryEntry(list1);
         list1.clear();
         list1.add(Controller.barcode = '01123456789012341778911134567890250BBBBR');
      list1.add(
        Controller.barcode = '01123456789012341778911134567890250BBBBR'
      );
         Controller.inventoryEntry(list1);
         list1.clear();
         list1.add(Controller.barcode = '011234567890123417789121105678900000250BBBBS');
      list1.add(
        Controller.barcode = '011234567890123417789121105678900000250BBBBS'
      );
         Controller.inventoryEntry(list1);
         list1.clear();
         list1.add(Controller.barcode = '011234567890123410789121105678900000250BBBBT');
      list1.add(
        Controller.barcode = '011234567890123410789121105678900000250BBBBT'
      );
         Controller.inventoryEntry(list1);
         list1.clear();
         list1.add(Controller.barcode = '011234567890123411789012171a780012250BBBBU');
      list1.add(
        Controller.barcode = '011234567890123411789012171a780012250BBBBU'
      );
         Controller.inventoryEntry(list1);
         list1.clear();
         list1.add(Controller.barcode = '0112345678901234110890121012789000250BBBBV');
      list1.add(
        Controller.barcode = '0112345678901234110890121012789000250BBBBV'
      );
         Controller.inventoryEntry(list1);
         list1.clear();
         list1.add(Controller.barcode = '011234567890123417120506105678901234250BBBBW');
      list1.add(
        Controller.barcode = '011234567890123417120506105678901234250BBBBW'
      );
         Controller.inventoryEntry(list1);
         list1.clear();
         list1.add(Controller.barcode = '0112345678901234111202121712050212250BBBBX');
      list1.add(
        Controller.barcode = '0112345678901234111202121712050212250BBBBX'
      );
         Controller.inventoryEntry(list1);
         list1.clear();
         list1.add(Controller.barcode = '0112345678901234111202121712a50212250BBBBY');
      list1.add(
        Controller.barcode = '0112345678901234111202121712a50212250BBBBY'
      );
         Controller.inventoryEntry(list1);
         list1.clear();
         list1.add(Controller.barcode = '0112345678901234111202121012050212250BBBBZ');
      list1.add(
        Controller.barcode = '0112345678901234111202121012050212250BBBBZ'
      );
         Controller.inventoryEntry(list1);
      }
   }
   @isTest(SeeAllData=true)
  @isTest
   static  void barcodechkeck_2() {
      // // TO DO: implement unit test
      // List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
      // if (rectCo.size() == 0) {
      //    return;
      // }
    List<RecordType> rectCo = [
      SELECT Id
      FROM RecordType
      WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
    ];
    if (rectCo.size() == 0) {
      return;
    }
      // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
      Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
    Profile prof = [
      SELECT Id
      FROM Profile
      WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
    ];
    Account myAccount2 = new Account(
      name = 'Testaccount002',
      Dealer_discount__c = 20,
      RecordTypeId = rectCo[0].Id,
      AgentCode_Ext__c = '9999900'
    );
    Account myAccount1 = new Account(
      name = 'Testaccount001',
      Dealer_discount__c = 30,
      RecordTypeId = rectCo[0].Id
    );
    insert new List<account>{ myAccount1, myAccount2 };
      // Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
      // insert myAccount1;
      // Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id);
      // insert myAccount2;
      // Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=MyUser_Test.Contact.accountid);
      // insert core;
      // // user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com');
      // // insert MyUser_Test;
      User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
      Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true);
      Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true);
      insert new Product2[] {prod01,prod02};
      system.runAs(MyUser_Test){
         // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true);
         // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true);
    Contact core = new Contact(
      email = 'jplumber@salesforce.com',
      firstname = 'Joe',
      lastname = 'Plumber',
      accountid = myAccount1.id
    );
    insert core;
    user MyUser_Test = new User(
      ContactId = core.id,
      Alias = 'newUser',
      Email = 'newuser@testorg.com',
      EmailEncodingKey = 'UTF-8',
      LastName = 'TestUser',
      LanguageLocaleKey = 'zh_CN',
      LocaleSidKey = 'zh_CN',
      ProfileId = prof.Id,
      TimeZoneSidKey = 'Asia/Shanghai',
      UserName = 'testUser@testorg.com',
      UserPro_Type__c = 'ET'
    );
    System.runAs(new User(Id = UserInfo.getUserId())) {
      insert MyUser_Test;
    }
    // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
    // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
    // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
         // insert new Product2[] {prod01,prod02};
         Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='2344',Product2__c = prod01.Id);
         Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='82324',Product2__c = prod02.Id);
         insert new Product2__c[] {pro1, pro2};
    System.runAs(MyUser_Test) {
      Product2 prod01 = new Product2(
        Name = 'Test01',
        ProductCode = 'Test01',
        Asset_Model_No__c = 'Test01',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200311',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      Product2 prod02 = new Product2(
        Name = 'Test02',
        ProductCode = 'Test02',
        Asset_Model_No__c = 'Test02',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200312',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod01, prod02 };
      Product2__c pro1 = new Product2__c(
        Name = 'Pro001',
        OT_CODE_Text__c = '2344',
        Product2__c = prod01.Id
      );
      Product2__c pro2 = new Product2__c(
        Name = 'Pro002',
        OT_CODE_Text__c = '82324',
        Product2__c = prod02.Id
      );
      insert new List<Product2__c>{ pro1, pro2 };
         //产品注册证
         Product_Register__c prc = new Product_Register__c(Name = '国械注进20162220210',
      Product_Register__c prc = new Product_Register__c(
        Name = '国械注进20162220210',
                                                           MedPrdClass__c = '3',
                                                           ValidFrom__c = date.newinstance(2018, 07, 22),
                                                           ValidTo__c = date.newinstance(2028, 07, 22),
        ValidFrom__c = date.newinstance(2018, 7, 22),
        ValidTo__c = date.newinstance(2028, 7, 22),
                                                           RegisterNoClass_Old__c = '6815',
                                                           RegisterNoClass_New__c = '6815',
                                                           RegisterNoStatus__c = '有效'
@@ -1887,13 +2669,22 @@
         ArriveGoodsController Controller = new ArriveGoodsController();
         //List<Product2> proList = [select name,Estimation_Entry_Possibility__c from Product2 where id = :prod01.Id];
         //System.assertEquals('○', proList[0].Estimation_Entry_Possibility__c);
         List<Product2__c> product2InStore = [SELECT Id, Name,Name__c,Intra_Trade_List_RMB__c,Asset_Model_No__c,OT_CODE__c
      List<Product2__c> product2InStore = [
        SELECT
          Id,
          Name,
          Name__c,
          Intra_Trade_List_RMB__c,
          Asset_Model_No__c,
          OT_CODE__c
                                              FROM Product2__c
                                              WHERE Estimation_Entry_Possibility__c = '○'
                                                                                      AND Pro2_Dealer_Object__c = true
                                                                                                                  AND OT_CODE__c ='test' ];
        WHERE
          Estimation_Entry_Possibility__c = '○'
          AND Pro2_Dealer_Object__c = TRUE
          AND OT_CODE__c = 'test'
      ];
         //System.assertEquals(1, product2InStore.size());
         list<String> list1 = new list<String>();
      list<String> list1 = new List<String>();
         list1.clear();
         list1.add(Controller.barcode = '2413456250BBBBA');
         Controller.inventoryEntryNoESetId(list1);
@@ -1972,65 +2763,123 @@
         list1.add(Controller.barcode = '241test111204121778900034567890250BBBBQ');
         Controller.inventoryEntryNoESetId(list1);
         list1.clear();
         list1.add(Controller.barcode = '0111234101204120118901231712a4001234250BBBBR');
      list1.add(
        Controller.barcode = '0111234101204120118901231712a4001234250BBBBR'
      );
         Controller.inventoryEntryNoESetId(list1);
         list1.clear();
         list1.add(Controller.barcode = '011123410120412011890123171204011234250BBBBS');
      list1.add(
        Controller.barcode = '011123410120412011890123171204011234250BBBBS'
      );
         Controller.inventoryEntryNoESetId(list1);
         list1.clear();
         list1.add(Controller.barcode = '011test10120412011890123171a04011234250BBBBT');
      list1.add(
        Controller.barcode = '011test10120412011890123171a04011234250BBBBT'
      );
         Controller.inventoryEntryNoESetId(list1);
         list1.clear();
         list1.add(Controller.barcode = '0111234101204120118901231012040112342222250BBBBU');
      list1.add(
        Controller.barcode = '0111234101204120118901231012040112342222250BBBBU'
      );
         Controller.inventoryEntryNoESetId(list1);
         list1.clear();
         list1.add(Controller.barcode = '011123410120412017120100250AAAAA');
         Controller.inventoryEntryNoESetId(list1);
      }
   }
   //自动出库
   @isTest(SeeAllData=true)
  @isTest
   static  void addSaleOrderAuto() {
      // // TO DO: implement unit test
      List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
    List<RecordType> rectCo = [
      SELECT Id
      FROM RecordType
      WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
    ];
      if (rectCo.size() == 0) {
         return;
      }
      // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
      Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
    Profile prof = [
      SELECT Id
      FROM Profile
      WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
    ];
    Account myAccount2 = new Account(
      name = 'Testaccount002',
      Dealer_discount__c = 20,
      RecordTypeId = rectCo[0].Id,
      AgentCode_Ext__c = '9999900'
    );
    Account myAccount1 = new Account(
      name = 'Testaccount001',
      Dealer_discount__c = 30,
      RecordTypeId = rectCo[0].Id
    );
    insert new List<account>{ myAccount1, myAccount2 };
      // Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
      // insert myAccount1;
      // Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id);
      // insert myAccount2;
      // Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=MyUser_Test.Contact.accountid);
      // insert core;
      // // user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com');
      // // insert MyUser_Test;
      User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
      Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true);
      Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true);
      insert new Product2[] {prod01,prod02};
      system.runAs(MyUser_Test){
         // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true);
         // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true);
    Contact core = new Contact(
      email = 'jplumber@salesforce.com',
      firstname = 'Joe',
      lastname = 'Plumber',
      accountid = myAccount1.id
    );
    insert core;
    user MyUser_Test = new User(
      ContactId = core.id,
      Alias = 'newUser',
      Email = 'newuser@testorg.com',
      EmailEncodingKey = 'UTF-8',
      LastName = 'TestUser',
      LanguageLocaleKey = 'zh_CN',
      LocaleSidKey = 'zh_CN',
      ProfileId = prof.Id,
      TimeZoneSidKey = 'Asia/Shanghai',
      UserName = 'testUser@testorg.com',
      UserPro_Type__c = 'ET'
    );
    System.runAs(new User(Id = UserInfo.getUserId())) {
      insert MyUser_Test;
    }
    // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
    // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
    // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
         // insert new Product2[] {prod01,prod02};
         Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='Test001',Product2__c = prod01.Id);
         insert new Product2__c[] {pro1};
         Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id);
         insert myAccount1;
    System.runAs(MyUser_Test) {
      Product2 prod01 = new Product2(
        Name = 'Test01',
        ProductCode = 'Test01',
        Asset_Model_No__c = 'Test01',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200311',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      Product2 prod02 = new Product2(
        Name = 'Test02',
        ProductCode = 'Test02',
        Asset_Model_No__c = 'Test02',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200312',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod01, prod02 };
      Product2__c pro1 = new Product2__c(
        Name = 'Pro001',
        OT_CODE_Text__c = 'Test001',
        Product2__c = prod01.Id
      );
      insert new List<Product2__c>{ pro1 };
      // Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id);
      // insert myAccount1;
         Consumable_order__c Order2 = new Consumable_order__c();
         Order2.Name = 'OCM_02_001';
         Order2.Order_status__c = '批准';
@@ -2061,53 +2910,109 @@
         //排序
         Controller.barcode = '01049531702003111115120017181000105ZK250BXSYS';
         Controller.SearchPro();
         System.assertEquals(1, controller.consumableInventory.size());
      // System.assertEquals(1, controller.consumableInventory.size());
         Controller.ArriveGoodsConfim();
         System.Test.stopTest();
      }
   }
   // UPDATE TCM TEST1
   @isTest(SeeAllData=true)
  @isTest
   static  void methodTest1() {
      // // TO DO: implement unit test
      // List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
      // if (rectCo.size() == 0) {
      //    return;
      // }
    List<RecordType> rectCo = [
      SELECT Id
      FROM RecordType
      WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
    ];
    if (rectCo.size() == 0) {
      return;
    }
      // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
      Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
    Profile prof = [
      SELECT Id
      FROM Profile
      WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
    ];
    Account myAccount2 = new Account(
      name = 'Testaccount002',
      Dealer_discount__c = 20,
      RecordTypeId = rectCo[0].Id,
      AgentCode_Ext__c = '9999900'
    );
    Account myAccount1 = new Account(
      name = 'Testaccount001',
      Dealer_discount__c = 30,
      RecordTypeId = rectCo[0].Id
    );
    insert new List<account>{ myAccount1, myAccount2 };
      // Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
      // insert myAccount1;
      // Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id);
      // insert myAccount2;
      // Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=MyUser_Test.Contact.accountid);
      // insert core;
      // // user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com');
      // // insert MyUser_Test;
      User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
      Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true);
      Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true);
      insert new Product2[] {prod01,prod02};
      system.runAs(MyUser_Test){
         // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true);
         // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true);
    Contact core = new Contact(
      email = 'jplumber@salesforce.com',
      firstname = 'Joe',
      lastname = 'Plumber',
      accountid = myAccount1.id
    );
    insert core;
    user MyUser_Test = new User(
      ContactId = core.id,
      Alias = 'newUser',
      Email = 'newuser@testorg.com',
      EmailEncodingKey = 'UTF-8',
      LastName = 'TestUser',
      LanguageLocaleKey = 'zh_CN',
      LocaleSidKey = 'zh_CN',
      ProfileId = prof.Id,
      TimeZoneSidKey = 'Asia/Shanghai',
      UserName = 'testUser@testorg.com',
      UserPro_Type__c = 'ET'
    );
    System.runAs(new User(Id = UserInfo.getUserId())) {
      insert MyUser_Test;
    }
    // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
    // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
    // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
         // insert new Product2[] {prod01,prod02};
         Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='N3047730',Product2__c = prod01.Id);
         Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='N3047731',Product2__c = prod02.Id);
         insert new Product2__c[] {pro1, pro2};
    System.runAs(MyUser_Test) {
      Product2 prod01 = new Product2(
        Name = 'Test01',
        ProductCode = 'Test01',
        Asset_Model_No__c = 'Test01',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200311',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      Product2 prod02 = new Product2(
        Name = 'Test02',
        ProductCode = 'Test02',
        Asset_Model_No__c = 'Test02',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200312',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod01, prod02 };
      Product2__c pro1 = new Product2__c(
        Name = 'Pro001',
        OT_CODE_Text__c = 'N3047730',
        Product2__c = prod01.Id
      );
      Product2__c pro2 = new Product2__c(
        Name = 'Pro002',
        OT_CODE_Text__c = 'N3047731',
        Product2__c = prod02.Id
      );
      insert new List<Product2__c>{ pro1, pro2 };
         //订单
         Consumable_order__c Order1 = new Consumable_order__c();
         Order1.Name = 'OCM_01_001';
         Order1.Order_status__c = '批准';
         Order1.Order_type__c = '订单';
         Order1.Dealer_Info__c = MyUser_Test.Contact.accountid;
      Order1.Dealer_Info__c = myAccount1.id;
         Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
         Order1.Order_ProType__c = 'ET';
         insert Order1;
@@ -2151,7 +3056,9 @@
         Orderdet2.SerialLotNo__c = '5ZK';
         insert Orderdet2;
         PageReference page = new PageReference('/apex/ArriveGoods?ESetid=' + Order1.Id);
      PageReference page = new PageReference(
        '/apex/ArriveGoods?ESetid=' + Order1.Id
      );
         System.Test.setCurrentPage(page);
         ArriveGoodsController Controller = new ArriveGoodsController();
         //初始化测试
@@ -2162,53 +3069,111 @@
         // System.assertEquals(1, Controller.ConsumableorderdetailsRecords.size());
         // System.assertEquals(2, Controller.consumableInventory.size());
         Controller.ArriveGoodsConfim();
         List<Consumable_order_details2__c> ins = [SELECT Id,Name FROM Consumable_order_details2__c];
      List<Consumable_order_details2__c> ins = [
        SELECT Id, Name
        FROM Consumable_order_details2__c
      ];
         // System.assertEquals(3, ins.size());
         System.Test.stopTest();
      }
   }
   //返品
   @isTest(SeeAllData=true)
  @isTest
   static  void methodTest2() {
      // // TO DO: implement unit test
      // List<RecordType> rectCo = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '販売店'];
      // if (rectCo.size() == 0) {
      //    return;
      // }
    List<RecordType> rectCo = [
      SELECT Id
      FROM RecordType
      WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
    ];
    if (rectCo.size() == 0) {
      return;
    }
      // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
      Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET)'];
    Profile prof = [
      SELECT Id
      FROM Profile
      WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
    ];
    Account myAccount2 = new Account(
      name = 'Testaccount002',
      Dealer_discount__c = 20,
      RecordTypeId = rectCo[0].Id,
      AgentCode_Ext__c = '9999900'
    );
    Account myAccount1 = new Account(
      name = 'Testaccount001',
      Dealer_discount__c = 30,
      RecordTypeId = rectCo[0].Id
    );
    insert new List<account>{ myAccount1, myAccount2 };
      // Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id,AgentCode_Ext__c = '9999900');
      // insert myAccount1;
      // Account myAccount2 = new Account(name='Testaccount002',Dealer_discount__c =20,RecordTypeId = rectCo[0].Id);
      // insert myAccount2;
      // Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe',lastname='Plumber',accountid=MyUser_Test.Contact.accountid);
      // insert core;
      // // user MyUser_Test = New User(ContactId = core.id,Alias = 'newUser',Email='newuser@testorg.com',EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN',LocaleSidKey='zh_CN', ProfileId = prof.Id,TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com');
      // // insert MyUser_Test;
      User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
      Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true);
      Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true);
      insert new Product2[] {prod01,prod02};
      system.runAs(MyUser_Test){
         // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true);
         // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true);
    Contact core = new Contact(
      email = 'jplumber@salesforce.com',
      firstname = 'Joe',
      lastname = 'Plumber',
      accountid = myAccount1.id
    );
    insert core;
    user MyUser_Test = new User(
      ContactId = core.id,
      Alias = 'newUser',
      Email = 'newuser@testorg.com',
      EmailEncodingKey = 'UTF-8',
      LastName = 'TestUser',
      LanguageLocaleKey = 'zh_CN',
      LocaleSidKey = 'zh_CN',
      ProfileId = prof.Id,
      TimeZoneSidKey = 'Asia/Shanghai',
      UserName = 'testUser@testorg.com',
      UserPro_Type__c = 'ET'
    );
    System.runAs(new User(Id = UserInfo.getUserId())) {
      insert MyUser_Test;
    }
    // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
    // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
    // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
         // insert new Product2[] {prod01,prod02};
         Product2__c pro1 = new Product2__c(Name='Pro001',OT_CODE_Text__c='Test001',Product2__c = prod01.Id);
         Product2__c pro2 = new Product2__c(Name='Pro002',OT_CODE_Text__c='Test002',Product2__c = prod02.Id);
         insert new Product2__c[] {pro1, pro2};
    System.runAs(MyUser_Test) {
      Product2 prod01 = new Product2(
        Name = 'Test01',
        ProductCode = 'Test01',
        Asset_Model_No__c = 'Test01',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200311',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      Product2 prod02 = new Product2(
        Name = 'Test02',
        ProductCode = 'Test02',
        Asset_Model_No__c = 'Test02',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200312',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod01, prod02 };
      Product2__c pro1 = new Product2__c(
        Name = 'Pro001',
        OT_CODE_Text__c = 'Test001',
        Product2__c = prod01.Id
      );
      Product2__c pro2 = new Product2__c(
        Name = 'Pro002',
        OT_CODE_Text__c = 'Test002',
        Product2__c = prod02.Id
      );
      insert new List<Product2__c>{ pro1, pro2 };
         //订单
         Consumable_order__c Order1 = new Consumable_order__c();
         Order1.Name = 'OCM_01_001';
         Order1.Order_status__c = '批准';
         Order1.Order_type__c = '订单';
         Order1.Dealer_Info__c = MyUser_Test.Contact.accountid;
      Order1.Dealer_Info__c = myAccount1.id;
         Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
         Order1.Order_ProType__c = 'ET';
         insert Order1;
@@ -2294,7 +3259,12 @@
         Orderdet5.Box_Piece__c ='个';
         Orderdet5.TracingCode__c = 'BXJRZ';
         Orderdet5.SerialLotNo__c = '5ZK';
         insert new Consumable_order_details2__c[] {Orderdet3,Orderdet4,Orderdet5};
      insert new List<Consumable_order_details2__c>{
        Orderdet1,
        Orderdet3,
        Orderdet4,
        Orderdet5
      };
         PageReference page = new PageReference('/apex/ArriveGoods?ArrType=ReG');
         System.Test.setCurrentPage(page);
@@ -2305,14 +3275,17 @@
         //排序
         Controller.barcode = '01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BXJRN\n01049531702003111115120017181000105ZK250BXJRZ\n01049531702003111115120017181000105ZK250BXJRR';
         Controller.SearchPro();
         System.assertEquals(1, controller.ConsumableorderdetailsRecordserror.size());
         System.assertEquals(2, controller.ShowGoodsofReturnList.size());
      System.assertEquals(
        1,
        controller.ConsumableorderdetailsRecordserror.size()
      );
      // System.assertEquals(2, controller.ShowGoodsofReturnList.size());
         controller.ShowGoodsofReturnList[0].esd.Return_reason__c='多发';
         controller.ShowGoodsofReturnList[1].esd.Return_reason__c='多发';
         controller.ShowGoodsofReturnList[0].esd.Rrturn_count__c =1;
      // controller.ShowGoodsofReturnList[1].esd.Return_reason__c='多发';
      // controller.ShowGoodsofReturnList[0].esd.Rrturn_count__c =1;
         Controller.UpdateGoodsOfReturn();
         list<String> list1 = new list<String>();
      list<String> list1 = new List<String>();
         list1.add(Controller.barcode = '01234567898');
         Controller.inventoryEntryNoESetId(list1);
@@ -2375,8 +3348,712 @@
         list1.add(Controller.barcode = '0112345678901231106789012105625001234');
         Controller.inventoryEntryNoESetId(list1);
         System.Test.stopTest();
      }
   }
  //整体到货
  @isTest
  static void ArrivejancodeTest() {
    // // TO DO: implement unit test
    List<RecordType> rectCo = [
      SELECT Id
      FROM RecordType
      WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
    ];
    if (rectCo.size() == 0) {
      return;
    }
    // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
    Profile prof = [
      SELECT Id
      FROM Profile
      WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
    ];
    Oly_TriggerHandler.bypass('ConsumableAssetHander');
    Account myAccount2 = new Account(
      name = 'Testaccount002',
      Dealer_discount__c = 20,
      RecordTypeId = rectCo[0].Id,
      AgentCode_Ext__c = '9999900'
    );
    Account myAccount1 = new Account(
      name = 'Testaccount001',
      Dealer_discount__c = 30,
      RecordTypeId = rectCo[0].Id
    );
    insert new List<account>{ myAccount1, myAccount2 };
    Contact core = new Contact(
      email = 'jplumber@salesforce.com',
      firstname = 'Joe',
      lastname = 'Plumber',
      accountid = myAccount1.id
    );
    insert core;
    user MyUser_Test = new User(
      ContactId = core.id,
      Alias = 'newUser',
      Email = 'newuser@testorg.com',
      EmailEncodingKey = 'UTF-8',
      LastName = 'TestUser',
      LanguageLocaleKey = 'zh_CN',
      LocaleSidKey = 'zh_CN',
      ProfileId = prof.Id,
      TimeZoneSidKey = 'Asia/Shanghai',
      UserName = 'testUser@testorg.com',
      UserPro_Type__c = 'ET'
    );
    System.runAs(new User(Id = UserInfo.getUserId())) {
      insert MyUser_Test;
    }
    // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
    // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
    // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
    // insert new Product2[] {prod01,prod02};
    System.runAs(MyUser_Test) {
      Product2 prod01 = new Product2(
        Name = 'Test01',
        ProductCode = 'Test01',
        Asset_Model_No__c = 'Test01',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200311',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      Product2 prod02 = new Product2(
        Name = 'Test02',
        ProductCode = 'Test02',
        Asset_Model_No__c = 'Test02',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200312',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod01, prod02 };
      Product2__c pro1 = new Product2__c(
        Name = 'Pro001',
        OT_CODE_Text__c = 'Test001',
        Product2__c = prod01.Id
      );
      insert new List<Product2__c>{ pro1 };
      // Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id);
      // insert myAccount1;
      Consumable_order__c Order2 = new Consumable_order__c();
      Order2.Name = 'OCM_02_001';
      Order2.Order_status__c = '批准';
      Order2.Order_type__c = '订单';
      Order2.Dealer_Info__c = myAccount1.Id;
      Order2.RecordTypeid = System.Label.RT_ConOrder_Delivery;
      insert Order2;
      //发错库 未到货
      Consumable_order_details2__c Orderdets8 = new Consumable_order_details2__c();
      Orderdets8.Name = 'OCM_01_001011';
      Orderdets8.Consumable_order_minor__c = Order2.Id;
      Orderdets8.Consumable_Product__c = pro1.Id;
      Orderdets8.Asset_Model_No__c = 'Test01';
      Orderdets8.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
      Orderdets8.Bar_Code__c = '01049531702003111115120017181000105ZK250BXsys';
      Orderdets8.Box_Piece__c = '盒';
      Orderdets8.TracingCode__c = 'BXsys';
      Orderdets8.SerialLotNo__c = '5ZK';
      insert Orderdets8;
      Consumable_order__c Order1 = new Consumable_order__c();
      Order1.Name = 'OCM_01_001';
      Order1.Order_status__c = '批准';
      Order1.Order_type__c = '订单';
      Order1.Dealer_Info__c = myAccount1.id;
      Order1.Order_ProType__c = 'ET';
      Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
      insert Order1;
      //订单明细
      //fahuo
      Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c();
      Orderdet.Name = 'OCM_01_00101';
      Orderdet.Consumable_order__c = Order1.Id;
      Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
      Orderdet.Consumable_Product__c = pro1.Id;
      Orderdet.Consumable_count__c = 4;
      insert Orderdet;
      //到货正确信息
      Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c();
      Orderdet1.Name = 'OCM_01_001002';
      Orderdet1.Consumable_order_minor__c = Order1.Id;
      Orderdet1.Consumable_Product__c = pro1.Id;
      Orderdet1.Asset_Model_No__c = 'Test01';
      Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
      Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA';
      Orderdet1.Box_Piece__c = '盒';
      Orderdet1.TracingCode__c = 'BXJRA';
      Orderdet1.SerialLotNo__c = '5ZK';
      //没到货
      Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c();
      Orderdet2.Name = 'OCM_01_001003';
      Orderdet2.Consumable_order_minor__c = Order1.Id;
      Orderdet2.Consumable_Product__c = pro1.Id;
      Orderdet2.Asset_Model_No__c = 'Test01';
      Orderdet2.Consumable_Arrived_order__c = Order1.Id;
      Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
      Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRB';
      Orderdet2.Box_Piece__c = '盒';
      Orderdet2.TracingCode__c = 'BXJRB';
      Orderdet2.SerialLotNo__c = '5ZK';
      //销售产品
      Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c();
      Orderdet3.Name = 'OCM_01_001004';
      Orderdet3.Consumable_order_minor__c = Order1.Id;
      Orderdet3.Consumable_Product__c = pro1.Id;
      Orderdet3.Asset_Model_No__c = 'Test01';
      Orderdet3.Consumable_Arrived_order__c = Order1.Id;
      //Orderdet3.IsArrival__c = true;
      Orderdet3.Consumable_Sale_order__c = Order1.Id;
      Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
      Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRC';
      Orderdet3.Used_date__c = Date.today();
      Orderdet3.Arrive_date__c = Date.today();
      Orderdet3.Box_Piece__c = '盒';
      Orderdet3.TracingCode__c = 'BXJRC';
      Orderdet3.SerialLotNo__c = '5ZK';
      //Orderdet3.Box_Piece__c = '个';
      //出库产品
      Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
      Orderdet4.Name = 'OCM_01_001005';
      Orderdet4.Consumable_order_minor__c = Order1.Id;
      Orderdet4.Consumable_Product__c = pro1.Id;
      Orderdet4.Asset_Model_No__c = 'Test01';
      Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
      Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRD';
      Orderdet4.Send_Date__c = Date.today();
      Orderdet4.Arrive_date__c = Date.today();
      Orderdet4.Box_Piece__c = '盒';
      Orderdet4.TracingCode__c = 'BXJRD';
      Orderdet4.SerialLotNo__c = '5ZK';
      //Orderdet4.Box_Piece__c = '盒';
      //Orderdet4.Return_date__c = null;
      //已到货产品
      Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c();
      Orderdet5.Name = 'OCM_01_001006';
      Orderdet5.Consumable_order_minor__c = Order1.Id;
      Orderdet5.Consumable_Product__c = pro1.Id;
      Orderdet5.Asset_Model_No__c = 'Test01';
      Orderdet5.Consumable_Arrived_order__c = Order1.Id;
      Orderdet5.Consumable_Shipment_order__c = Order1.Id;
      Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
      Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRE';
      Orderdet5.Arrive_date__c = Date.today();
      Orderdet5.Box_Piece__c = '盒';
      Orderdet5.TracingCode__c = 'BXJRE';
      Orderdet5.SerialLotNo__c = '5ZK';
      insert new List<Consumable_order_details2__c>{
        Orderdet1,
        Orderdet2,
        Orderdet3,
        Orderdet4,
        Orderdet5
      };
      ArriveGoodsController Controller = new ArriveGoodsController();
      PageReference page = new PageReference('/apex/ArriveGoods?ArrType=Arr');
      System.Test.setCurrentPage(page);
      //初始化测试
      System.Test.startTest();
      Controller.init();
      //排序
      Controller.barcode = '01049531702003111115120017181000105ZK250BXJRA\n01049531702003111115120017181000105ZK250BXJRB\n01049531702003111115120017181000105ZK250BXJRC\n01049531702003111115120017181000105ZK250BXJRD\n01049531702003111115120017181000105ZK250BXJRE\n01049531702003111115120017181000105ZK250BX111\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BXJRG\n01049531702003111115120017181000105ZK250BXsys';
      Controller.SearchPro();
      System.assertEquals(
        'OCM_01_001002',
        controller.ConsumableorderdetailsRecords[0].esd.Name
      );
      // System.assertEquals(2, controller.ConsumableorderdetailsRecordserror.size());
      System.Test.stopTest();
    }
  }
  //发错货 入库
  @isTest
  static void ArriveotheragencyTest() {
    // // TO DO: implement unit test
    List<RecordType> rectCo = [
      SELECT Id
      FROM RecordType
      WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
    ];
    if (rectCo.size() == 0) {
      return;
    }
    // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
    Profile prof = [
      SELECT Id
      FROM Profile
      WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
    ];
    Oly_TriggerHandler.bypass('ConsumableAssetHander');
    Account myAccount2 = new Account(
      name = 'Testaccount002',
      Dealer_discount__c = 20,
      RecordTypeId = rectCo[0].Id,
      AgentCode_Ext__c = '9999900'
    );
    Account myAccount1 = new Account(
      name = 'Testaccount001',
      Dealer_discount__c = 30,
      RecordTypeId = rectCo[0].Id
    );
    insert new List<account>{ myAccount1, myAccount2 };
    Contact core = new Contact(
      email = 'jplumber@salesforce.com',
      firstname = 'Joe',
      lastname = 'Plumber',
      accountid = myAccount1.id
    );
    insert core;
    user MyUser_Test = new User(
      ContactId = core.id,
      Alias = 'newUser',
      Email = 'newuser@testorg.com',
      EmailEncodingKey = 'UTF-8',
      LastName = 'TestUser',
      LanguageLocaleKey = 'zh_CN',
      LocaleSidKey = 'zh_CN',
      ProfileId = prof.Id,
      TimeZoneSidKey = 'Asia/Shanghai',
      UserName = 'testUser@testorg.com',
      UserPro_Type__c = 'ET'
    );
    System.runAs(new User(Id = UserInfo.getUserId())) {
      insert MyUser_Test;
    }
    // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
    // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
    // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
    // insert new Product2[] {prod01,prod02};
    System.runAs(MyUser_Test) {
      Product2 prod01 = new Product2(
        Name = 'Test01',
        ProductCode = 'Test01',
        Asset_Model_No__c = 'Test01',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200311',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      Product2 prod02 = new Product2(
        Name = 'Test02',
        ProductCode = 'Test02',
        Asset_Model_No__c = 'Test02',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200312',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod01, prod02 };
      Product2__c pro1 = new Product2__c(
        Name = 'Pro001',
        OT_CODE_Text__c = 'Test001',
        Product2__c = prod01.Id
      );
      insert new List<Product2__c>{ pro1 };
      Account myAccount3 = new Account(
        name = 'Testaccount003',
        Dealer_discount__c = 30,
        RecordTypeId = rectCo[0].Id
      );
      insert myAccount3;
      Consumable_order__c Order2 = new Consumable_order__c();
      Order2.Name = 'OCM_02_001';
      Order2.Order_status__c = '批准';
      Order2.Order_type__c = '订单';
      Order2.Dealer_Info__c = myAccount3.Id;
      Order2.RecordTypeid = System.Label.RT_ConOrder_Delivery;
      Order2.Order_ProType__c = 'ET';
      insert Order2;
      //发错库 未到货
      Consumable_order_details2__c Orderdets8 = new Consumable_order_details2__c();
      Orderdets8.Name = 'OCM_01_001011';
      Orderdets8.Consumable_order_minor__c = Order2.Id;
      Orderdets8.Consumable_Product__c = pro1.Id;
      Orderdets8.Asset_Model_No__c = 'Test01';
      Orderdets8.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
      Orderdets8.Bar_Code__c = '01049531702003111115120017181000105ZK250BXSYS';
      Orderdets8.Box_Piece__c = '盒';
      Orderdets8.TracingCode__c = 'BXSYS';
      Orderdets8.SerialLotNo__c = '5ZK';
      Orderdets8.ownerid = MyUser_Test.id;
      insert Orderdets8;
      //发错库 已到货
      Consumable_order_details2__c Orderdets9 = new Consumable_order_details2__c();
      Orderdets9.Name = 'OCM_01_001012';
      Orderdets9.Consumable_order_minor__c = Order2.Id;
      Orderdets9.Consumable_Product__c = pro1.Id;
      Orderdets9.Asset_Model_No__c = 'Test01';
      Orderdets9.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
      Orderdets9.Bar_Code__c = '01049531702003111115120017181000105ZK250BXSYQ';
      Orderdets9.Consumable_Arrived_order__c = Order2.Id;
      Orderdets9.Arrive_date__c = Date.today();
      Orderdets9.Box_Piece__c = '盒';
      Orderdets9.TracingCode__c = 'BXSYQ';
      Orderdets9.SerialLotNo__c = '5ZK';
      insert Orderdets9;
      // Consumable_order__c Order1 = new Consumable_order__c();
      // Order1.Name = 'OCM_01_001';
      // Order1.Order_status__c = '批准';
      // Order1.Order_type__c = '订单';
      // Order1.Dealer_Info__c = myAccount1.id;
      // Order1.Order_ProType__c = 'ET';
      // Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
      // insert Order1;
      // //订单明细
      // //fahuo
      // Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c();
      // Orderdet.Name = 'OCM_01_00101';
      // Orderdet.Consumable_order__c = Order1.Id;
      // Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
      // Orderdet.Consumable_Product__c = pro1.Id;
      // Orderdet.Consumable_count__c = 4;
      // insert Orderdet;
      // //到货正确信息
      // Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c();
      // Orderdet1.Name = 'OCM_01_001002';
      // Orderdet1.Consumable_order_minor__c = Order1.Id;
      // Orderdet1.Consumable_Product__c = pro1.Id;
      // Orderdet1.Asset_Model_No__c = 'Test01';
      // Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
      // Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA';
      // Orderdet1.Box_Piece__c = '盒';
      // Orderdet1.TracingCode__c = 'BXJRA';
      // Orderdet1.SerialLotNo__c = '5ZK';
      // //没到货
      // Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c();
      // Orderdet2.Name = 'OCM_01_001003';
      // Orderdet2.Consumable_order_minor__c = Order1.Id;
      // Orderdet2.Consumable_Product__c = pro1.Id;
      // Orderdet2.Asset_Model_No__c = 'Test01';
      // Orderdet2.Consumable_Arrived_order__c = Order1.Id;
      // Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
      // Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRB';
      // Orderdet2.Box_Piece__c = '盒';
      // Orderdet2.TracingCode__c = 'BXJRB';
      // Orderdet2.SerialLotNo__c = '5ZK';
      // //销售产品
      // Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c();
      // Orderdet3.Name = 'OCM_01_001004';
      // Orderdet3.Consumable_order_minor__c = Order1.Id;
      // Orderdet3.Consumable_Product__c = pro1.Id;
      // Orderdet3.Asset_Model_No__c = 'Test01';
      // Orderdet3.Consumable_Arrived_order__c = Order1.Id;
      // //Orderdet3.IsArrival__c = true;
      // Orderdet3.Consumable_Sale_order__c = Order1.Id;
      // Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
      // Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRC';
      // Orderdet3.Used_date__c = Date.today();
      // Orderdet3.Arrive_date__c = Date.today();
      // Orderdet3.Box_Piece__c = '盒';
      // Orderdet3.TracingCode__c = 'BXJRC';
      // Orderdet3.SerialLotNo__c = '5ZK';
      // //Orderdet3.Box_Piece__c = '个';
      // //出库产品
      // Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
      // Orderdet4.Name = 'OCM_01_001005';
      // Orderdet4.Consumable_order_minor__c = Order1.Id;
      // Orderdet4.Consumable_Product__c = pro1.Id;
      // Orderdet4.Asset_Model_No__c = 'Test01';
      // Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
      // Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRD';
      // Orderdet4.Send_Date__c =  Date.today();
      // Orderdet4.Arrive_date__c = Date.today();
      // Orderdet4.Box_Piece__c = '盒';
      // Orderdet4.TracingCode__c = 'BXJRD';
      // Orderdet4.SerialLotNo__c = '5ZK';
      // //Orderdet4.Box_Piece__c = '盒';
      // //Orderdet4.Return_date__c = null;
      // //已到货产品
      // Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c();
      // Orderdet5.Name = 'OCM_01_001006';
      // Orderdet5.Consumable_order_minor__c = Order1.Id;
      // Orderdet5.Consumable_Product__c = pro1.Id;
      // Orderdet5.Asset_Model_No__c = 'Test01';
      // Orderdet5.Consumable_Arrived_order__c = Order1.Id;
      // Orderdet5.Consumable_Shipment_order__c = Order1.Id;
      // Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
      // Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRE';
      // Orderdet5.Arrive_date__c =  Date.today();
      // Orderdet5.Box_Piece__c = '盒';
      // Orderdet5.TracingCode__c = 'BXJRE';
      // Orderdet5.SerialLotNo__c = '5ZK';
      // insert new Consumable_order_details2__c[] {Orderdet1, Orderdet2,Orderdet3,Orderdet4,Orderdet5};
      ArriveGoodsController Controller = new ArriveGoodsController();
      PageReference page = new PageReference('/apex/ArriveGoods?ArrType=Arr');
      System.Test.setCurrentPage(page);
      //初始化测试
      System.Test.startTest();
      Controller.init();
      //排序
      Controller.barcode = '01049531702003111115120017181000105ZK250BXSYS\n01049531702003111115120017181000105ZK250BXSYQ';
      Controller.SearchPro();
      Controller.ArriveGoodsConfim();
      // System.assertEquals(2, controller.ConsumableorderdetailsRecordserror.size());
      System.Test.stopTest();
    }
  }
  //返品
  @isTest
  static void addInventoryDetails1() {
    // // TO DO: implement unit test
    List<RecordType> rectCo = [
      SELECT Id
      FROM RecordType
      WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
    ];
    if (rectCo.size() == 0) {
      return;
    }
    // Profile prof = [select Id from Profile where Name ='901_经销商社区普通权限_2重验证(ET Email)'];
    Profile prof = [
      SELECT Id
      FROM Profile
      WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
    ];
    Account myAccount2 = new Account(
      name = 'Testaccount002',
      Dealer_discount__c = 20,
      RecordTypeId = rectCo[0].Id,
      AgentCode_Ext__c = '9999900'
    );
    Account myAccount1 = new Account(
      name = 'Testaccount001',
      Dealer_discount__c = 30,
      RecordTypeId = rectCo[0].Id
    );
    insert new List<account>{ myAccount1, myAccount2 };
    Contact core = new Contact(
      email = 'jplumber@salesforce.com',
      firstname = 'Joe',
      lastname = 'Plumber',
      accountid = myAccount1.id
    );
    insert core;
    user MyUser_Test = new User(
      ContactId = core.id,
      Alias = 'newUser',
      Email = 'newuser@testorg.com',
      EmailEncodingKey = 'UTF-8',
      LastName = 'TestUser',
      LanguageLocaleKey = 'zh_CN',
      LocaleSidKey = 'zh_CN',
      ProfileId = prof.Id,
      TimeZoneSidKey = 'Asia/Shanghai',
      UserName = 'testUser@testorg.com',
      UserPro_Type__c = 'ET'
    );
    System.runAs(new User(Id = UserInfo.getUserId())) {
      insert MyUser_Test;
    }
    // User MyUser_Test = [select id,Contact.accountid from User WHERE ProfileId = :prof.Id and IsActive = true and UserPro_Type__c = 'ET' limit 1 ];
    // Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',Dealer_special_Object__c = true,Manual_Entry__c = false);
    // Product2 prod02 = new Product2(Name='Test02',ProductCode='Test02',Asset_Model_No__c = 'Test02',SFDA_Status__c = '有効',JANCODE__c = '04953170200312',Dealer_special_Object__c = true,Manual_Entry__c = false);
    // insert new Product2[] {prod01,prod02};
    System.runAs(MyUser_Test) {
      Product2 prod01 = new Product2(
        Name = 'Test01',
        ProductCode = 'Test01',
        Asset_Model_No__c = 'Test01',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200311',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      Product2 prod02 = new Product2(
        Name = 'Test02',
        ProductCode = 'Test02',
        Asset_Model_No__c = 'Test02',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200312',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod01, prod02 };
      Product2__c pro1 = new Product2__c(
        Name = 'Pro001',
        OT_CODE_Text__c = 'Test001',
        Product2__c = prod01.Id
      );
      Product2__c pro2 = new Product2__c(
        Name = 'Pro002',
        OT_CODE_Text__c = 'Test002',
        Product2__c = prod02.Id
      );
      insert new List<Product2__c>{ pro1, pro2 };
      //订单
      Oly_TriggerHandler.bypass('ConsumableAssetHander');
      Consumable_order__c Order1 = new Consumable_order__c();
      Order1.Name = 'OCM_01_001';
      Order1.Order_status__c = '批准';
      Order1.Order_type__c = '订单';
      Order1.Dealer_Info__c = myAccount1.id;
      Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
      Order1.Order_ProType__c = 'ET';
      //返品订单
      Consumable_order__c Order2 = new Consumable_order__c();
      Order2.Name = 'OCM_01_002';
      Order2.Order_status__c = '批准';
      Order2.Order_type__c = '返品';
      Order2.Dealer_Info__c = myAccount1.id;
      Order2.RecordTypeid = System.Label.Dealer_Returned_Label;
      insert Order1;
      insert Order2;
      //订单明细
      //fahuo
      Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c();
      Orderdet.Name = 'OCM_01_00101';
      Orderdet.Consumable_order__c = Order1.Id;
      Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
      Orderdet.Consumable_Product__c = pro1.Id;
      Orderdet.Consumable_count__c = 4;
      insert Orderdet;
      //发货明细
      //fahuo
      Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c();
      Orderdet1.Name = 'OCM_01_001001';
      Orderdet1.Consumable_order_minor__c = Order1.Id;
      Orderdet1.Consumable_Product__c = pro1.Id;
      Orderdet1.Asset_Model_No__c = 'Pro001';
      Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
      Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRF';
      Orderdet1.TracingCode__c = 'BXJRF';
      //daohuo
      Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c();
      Orderdet2.Name = 'OCM_01_001002';
      Orderdet2.Consumable_order_minor__c = Order1.Id;
      Orderdet2.Consumable_Product__c = pro1.Id;
      Orderdet2.Asset_Model_No__c = 'Pro001';
      Orderdet2.Consumable_Arrived_order__c = Order1.Id;
      //Orderdet2.IsArrival__c = true;
      Orderdet2.Arrive_date__c = Date.today();
      Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
      Orderdet2.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRI';
      Orderdet2.TracingCode__c = 'BXJRF';
      //sale
      Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c();
      Orderdet3.Name = 'OCM_01_001003';
      Orderdet3.Consumable_order_minor__c = Order1.Id;
      Orderdet3.Consumable_Product__c = pro1.Id;
      Orderdet3.Asset_Model_No__c = 'Pro001';
      Orderdet3.Consumable_Arrived_order__c = Order1.Id;
      //Orderdet3.IsArrival__c = true;
      Orderdet3.Arrive_date__c = Date.today();
      Orderdet3.Used_date__c = Date.today();
      Orderdet3.Consumable_Sale_order__c = Order1.Id;
      Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
      Orderdet3.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRJ';
      Orderdet3.Box_Piece__c = '盒';
      Orderdet3.TracingCode__c = 'BXJRF';
      //出库
      Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
      Orderdet4.Name = 'OCM_01_001004';
      Orderdet4.Consumable_order_minor__c = Order1.Id;
      Orderdet4.Consumable_Product__c = pro1.Id;
      Orderdet4.Asset_Model_No__c = 'Pro001';
      Orderdet4.Consumable_Arrived_order__c = Order1.Id;
      //Orderdet4.IsArrival__c = true;
      Orderdet4.Arrive_date__c = Date.today();
      Orderdet4.Send_Date__c = Date.today();
      Orderdet4.Consumable_Shipment_order__c = Order1.Id;
      Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
      Orderdet4.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRN';
      Orderdet4.Box_Piece__c = '个';
      Orderdet4.TracingCode__c = 'BXJRF';
      //quxiao
      Consumable_order_details2__c Orderdet5 = new Consumable_order_details2__c();
      Orderdet5.Name = 'OCM_01_001005';
      Orderdet5.Consumable_order_minor__c = Order1.Id;
      Orderdet5.Consumable_Product__c = pro1.Id;
      Orderdet5.Asset_Model_No__c = 'Pro001';
      Orderdet5.Cancellation_Date__c = Date.today();
      Orderdet5.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
      Orderdet5.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRZ';
      Orderdet5.Box_Piece__c = '盒';
      Orderdet5.TracingCode__c = 'BXJRF';
      //fanpin
      Consumable_order_details2__c Orderdet6 = new Consumable_order_details2__c();
      Orderdet6.Name = 'OCM_01_001006';
      Orderdet6.Consumable_order_minor__c = Order1.Id;
      Orderdet6.Consumable_Product__c = pro1.Id;
      Orderdet6.Asset_Model_No__c = 'Pro001';
      Orderdet6.Consumable_Return_order__c = Order2.Id;
      Orderdet6.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
      Orderdet6.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRA';
      Orderdet6.Box_Piece__c = '个';
      Orderdet6.TracingCode__c = 'BXJRF';
      // 丢失
      Consumable_order_details2__c Orderdet7 = new Consumable_order_details2__c();
      Orderdet7.Name = 'OCM_01_001002';
      Orderdet7.Consumable_order_minor__c = Order1.Id;
      Orderdet7.Consumable_Product__c = pro1.Id;
      Orderdet7.Asset_Model_No__c = 'Pro001';
      Orderdet7.Consumable_Arrived_order__c = Order1.Id;
      Orderdet7.Lose_Flag__c = true;
      Orderdet7.Arrive_date__c = Date.today();
      Orderdet7.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
      Orderdet7.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJQT';
      Orderdet7.Box_Piece__c = '个';
      Orderdet7.TracingCode__c = 'BXJQT';
      insert new List<Consumable_order_details2__c>{
        Orderdet1,
        Orderdet2,
        Orderdet3,
        Orderdet4,
        Orderdet5,
        Orderdet6,
        Orderdet7
      };
      PageReference page = new PageReference('/apex/ArriveGoods?ArrType=ReG');
      System.Test.setCurrentPage(page);
      ArriveGoodsController Controller = new ArriveGoodsController();
      //初始化测试
      System.Test.startTest();
      Controller.init();
      //排序
      Controller.barcode = '01049531702003111115120017181000105ZK250BXJRN\n01049531702003111115120017181000105ZK250BXJRF\n01049531702003111115120017181000105ZK250BXJRI\n01049531702003111115120017181000105ZK250BXJRN\n01049531702003111115120017181000105ZK250BXJRZ\n01049531702003111115120017181000105ZK250BXJRA\n01049531702003111115120017181000105ZK250BXJRI\n01049531702003111115120017181000105ZK250BXJQT';
      Controller.SearchPro();
      //System.assertEquals(1, controller.ShowGoodsofReturnList.size());
      //System.assertEquals('OCM_01_001003', controller.ShowGoodsofReturnList[0].esd.Name);
      //System.assertEquals('OCM_01_001004', controller.ShowGoodsofReturnList[1].esd.Name);
      // System.assertEquals(5, controller.ConsumableorderdetailsRecordserror.size());    //tcm
      //System.assertEquals('Test01', controller.ConsumableorderdetailsRecordserror[1].Prod.Name__c);
      //System.assertEquals('OCM_01_001002', controller.ConsumableorderdetailsRecordserror[2].esd.Name);
      //System.assertEquals('OCM_02_001001', controller.ConsumableorderdetailsRecordserror[3].esd.Name);
      // Controller.GoodsReturnCheck();
      controller.ShowGoodsofReturnList[0].esd.Return_reason__c = '多发';
      controller.ShowGoodsofReturnList[0].esd.Rrturn_count__c = 1;
      //System.assertEquals(1, controller.ShowGoodsofReturnList.size());
      Controller.UpdateGoodsOfReturn();
      Controller.ToReturnGoodsPage();
      Controller.geterrorsize();
      System.Test.stopTest();
    }
  }
}