buli
2023-07-14 744f42c5496e656a1f9927740a3b37c0b97a6cba
force-app/main/default/classes/LexSummonsCreatControllerTest.cls
@@ -1,3769 +1,2406 @@
@isTest
private class LexSummonsCreatControllerTest {
  @isTest
  static void testInit() {
    Account accountItem1;
    Account accountItem2;
    User userTest;
    String rectCo = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName()
      .get('Agency')
      .getRecordTypeId();
    String rectHp = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName()
      .get('HP')
      .getRecordTypeId();
    Profile prof = [
      SELECT Id
      FROM Profile
      WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
    ];
    accountItem1 = new Account(
      Name = 'Testaccount001',
      RecordTypeId = rectCo,
      AgentCode_Ext__c = '9999900'
    );
    insert accountItem1;
    accountItem2 = new Account(
      Name = 'Testaccount002',
      RecordTypeId = rectHp,
      AgentCode_Ext__c = '9999999',
      ParentId = accountItem1.Id,
      Contract_Decide_Start_Date__c = Date.today(),
      ENG_Dealer__c = true,
      BillingCity = null
    );
    insert accountItem2;
    Contact core = new Contact(
      email = 'jplumber@salesforce.com',
      firstname = 'Joe',
      lastname = 'Plumber',
      accountId = accountItem1.Id
    );
    insert core;
    @isTest
    static void testInit(){
        Account accountItem1;
        Account accountItem2;
        User userTest;
        String rectCo = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Agency').getRecordTypeId();
        String rectHp = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('HP').getRecordTypeId();
        Profile prof = [SELECT Id FROM Profile WHERE Name ='901_经销商社区普通权限_2重验证(ET)'];
        accountItem1 = new Account(Name='Testaccount001',RecordTypeId = rectCo, AgentCode_Ext__c = '9999900');
        insert accountItem1;
        accountItem2 = new Account(Name='Testaccount002',RecordTypeId = rectHp, AgentCode_Ext__c = '9999999', ParentId = accountItem1.Id,Contract_Decide_Start_Date__c = Date.today(),ENG_Dealer__c = true,BillingCity = null);
        insert accountItem2;
        Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe', lastname='Plumber', accountId = accountItem1.Id);
        insert core;
    Agency_Hospital_Link__c ahl = new Agency_Hospital_Link__c();
    ahl.Name = 'test1经销商医院';
    ahl.Hospital__c = accountItem2.Id;
    ahl.Agency__c = accountItem1.Id;
    insert new List<Agency_Hospital_Link__c>{ ahl };
        Agency_Hospital_Link__c ahl = new Agency_Hospital_Link__c();
        ahl.Name = 'test1经销商医院';
        ahl.Hospital__c = accountItem2.Id;
        ahl.Agency__c = accountItem1.Id;
        insert new Agency_Hospital_Link__c[]{ahl};
    System.runAs(new user(ID = UserInfo.getUserID())) {
      userTest = new User(
        ContactId = core.id,
        Alias = 'newUser',
        Email = 'newuser@testorg.com',
        EmailEncodingKey = 'UTF-8',
        LastName = 'TestUser',
        LanguageLocaleKey = 'zh_CN',
        LocaleSidKey = 'zh_CN',
        ProfileId = prof.Id,
        TimeZoneSidKey = 'Asia/Shanghai',
        UserName = 'testUser@testorg.com',
        UserPro_Type__c = 'ENG',
        Work_Location__c = '北京'
      );
      insert userTest;
    }
    //发货
    Consumable_order__c consOrder = new Consumable_order__c();
    consOrder.Name = 'test01';
    consOrder.Order_status__c = '批准';
    consOrder.Deliver_date__c = Date.today();
    consOrder.RecordTypeid = System.Label.RT_ConOrder_Delivery;
    consOrder.Order_type__c = '订单';
    consOrder.Order_ProType__c = 'ENG';
    consOrder.Dealer_Info__c = accountItem1.Id;
    consOrder.Delivery_detail_count__c = 5;
    insert consOrder;
        System.runAs(new user(ID = UserInfo.getUserID())) {
            userTest = New User(ContactId = core.id, Alias = 'newUser', Email='newuser@testorg.com', EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN', LocaleSidKey='zh_CN', ProfileId = prof.Id, TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com', UserPro_Type__c='ENG', Work_Location__c='北京');
            insert userTest;
        }
        //发货
        Consumable_order__c consOrder = new Consumable_order__c();
        consOrder.Name = 'test01';
        consOrder.Order_status__c = '批准';
        consOrder.Deliver_date__c = Date.today();
        consOrder.RecordTypeid = System.Label.RT_ConOrder_Delivery;
        consOrder.Order_type__c = '订单';
        consOrder.Order_ProType__c = 'ENG';
        consOrder.Dealer_Info__c = accountItem1.Id;
        consOrder.Delivery_detail_count__c = 5;
        insert consOrder;
    // create ContentVersions
    list<ContentVersion> cvList = new List<ContentVersion>();
    cvList.add(
      new ContentVersion(
        Title = 'test1',
        PathOnClient = '/' + 'Test1.txt',
        VersionData = Blob.valueOf('test data 1'),
        IsMajorVersion = true
      )
    );
    cvList.add(
      new ContentVersion(
        Title = 'test2',
        PathOnClient = '/' + 'Test2.txt',
        VersionData = Blob.valueOf('test data 2'),
        IsMajorVersion = true
      )
    );
    cvList.add(
      new ContentVersion(
        Title = 'test3',
        PathOnClient = '/' + 'Test3.txt',
        VersionData = Blob.valueOf('test data 3'),
        IsMajorVersion = true
      )
    );
    insert cvList;
    // retrieve Ids for ContentDocuments created on insert of ContentVersions
    list<Id> cdIdList = new List<Id>();
    for (ContentDocument cd : [
      SELECT Id, LatestPublishedVersionId
      FROM ContentDocument
      WHERE
        LatestPublishedVersionId = :cvList[0].Id
        OR LatestPublishedVersionId = :cvList[1].Id
        OR LatestPublishedVersionId = :cvList[2].Id
      ORDER BY Title
    ]) {
      cdIdList.add(cd.Id);
    }
    system.assertEquals(3, cdIdList.size());
    list<ContentDocumentLink> cdlList = new List<ContentDocumentLink>();
    cdlList.add(
      new ContentDocumentLink(
        ContentDocumentId = cdIdList[0],
        LinkedEntityId = consOrder.Id,
        ShareType = 'V'
      )
    );
    insert cdlList;
    LexSummonsCreatController.saveFile(
      consOrder.Id,
      'A-65224941-20200923--1.docx',
      'Unit Test Attachment Body'
    );
    LexSummonsCreatController.getFiles(consOrder.Id);
    LexSummonsCreatController.deleteAtt(cvList[0].Id);
    System.runAs(userTest) {
      String userId = UserInfo.getUserId();
      User thisUserInfo = [
        SELECT
          accountid,
          UserPro_Type__c,
          ContactId,
          Contact.AccountId,
          Contact.Account.Name,
          Work_Location__c
        FROM User
        WHERE id = :userId
      ];
      String accountId = thisUserInfo.accountid;
      String accountName = thisUserInfo.Contact.Account.Name;
      String agencyProType = thisUserInfo.UserPro_Type__c;
      String userWorkLocation = thisUserInfo.Work_Location__c;
      thisUserInfo.UserPro_Type__c = '';
      update thisUserInfo;
      if (String.isBlank(thisUserInfo.UserPro_Type__c)) {
        agencyProType = 'ET';
      }
      Product2 prod07 = new Product2(
        Name = 'Test07',
        ProductCode = 'Test07',
        Asset_Model_No__c = 'Test07',
        Category3__c = 'CDS',
        Category4__c = 'OER',
        Category5__c = 'Celon',
        SFDA_Status__c = '有効',
        Product_Status__c = '正常销售',
        SFDA_Approbated_Status__c = '有效',
        Dealer_special_Object__c = true,
        SFDA_Approbation_No__c = 'Test002',
        Packing_list_manual__c = 1,
        SFDA_Expiration_Date__c = Date.today(),
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod07 };
      Product2__c pro1 = new Product2__c(
        Name = 'MH-155:白平衡帽',
        OT_CODE_Text__c = 'Test001',
        Product2__c = prod07.Id,
        Category3_text__c = 'test123',
        Category4_text__c = 'test123',
        Category5_text__c = 'test123'
      );
      insert new List<Product2__c>{ pro1 };
      //发货
      Consumable_order__c createIdSend = new Consumable_order__c();
      createIdSend.Name = 'testMing1';
      createIdSend.Order_status__c = '批准';
      createIdSend.Deliver_date__c = Date.today();
      createIdSend.RecordTypeid = System.Label.RT_ConOrder_Delivery;
      createIdSend.Order_type__c = '订单';
      createIdSend.Order_ProType__c = 'ENG';
      createIdSend.SummonsForDirction__c = '互相调货';
      createIdSend.Order_ForDealerText__c = 'Testaccount003';
      createIdSend.Order_ForCustomerText__c = 'Test000';
      createIdSend.SummonsStatus_c__c = '批准';
      createIdSend.Dealer_Info__c = accountItem1.Id;
      createIdSend.Delivery_detail_count__c = 5;
        // create ContentVersions
        list<ContentVersion> cvList = new list<ContentVersion>();
        cvList.add( new ContentVersion(Title = 'test1',PathOnClient ='/' + 'Test1.txt' ,VersionData = Blob.valueOf('test data 1'), IsMajorVersion = true) );
        cvList.add( new ContentVersion(Title = 'test2',PathOnClient ='/' + 'Test2.txt' ,VersionData = Blob.valueOf('test data 2'), IsMajorVersion = true) );
        cvList.add( new ContentVersion(Title = 'test3',PathOnClient ='/' + 'Test3.txt' ,VersionData = Blob.valueOf('test data 3'), IsMajorVersion = true) );
        insert cvList;
        // retrieve Ids for ContentDocuments created on insert of ContentVersions
        list<Id> cdIdList = new list<Id>();
        for (ContentDocument cd : [SELECT Id, LatestPublishedVersionId
                                    FROM ContentDocument
                                WHERE (LatestPublishedVersionId =:cvList[0].Id OR LatestPublishedVersionId =:cvList[1].Id OR LatestPublishedVersionId =:cvList[2].Id)
                                ORDER BY Title])
        {
            cdIdList.add(cd.Id);
        }
        system.assertEquals(3, cdIdList.size());
        list<ContentDocumentLink> cdlList = new list<ContentDocumentLink>();
        cdlList.add(new ContentDocumentLink(ContentDocumentId=cdIdList[0], LinkedEntityId=consOrder.Id, ShareType='V'));
        insert cdlList;
        LexSummonsCreatController.saveFile(consOrder.Id,'A-65224941-20200923--1.docx','Unit Test Attachment Body');
        LexSummonsCreatController.getFiles(consOrder.Id);
        LexSummonsCreatController.deleteAtt(cvList[0].Id);
        System.runAs(userTest){
            String userId = UserInfo.getUserId();
            User thisUserInfo = [SELECT accountid, UserPro_Type__c, ContactId, Contact.AccountId,Contact.Account.Name, Work_Location__c FROM User WHERE id =:userId];
            String accountId = thisUserInfo.accountid;
            String accountName = thisUserInfo.Contact.Account.Name;
            String agencyProType = thisUserInfo.UserPro_Type__c;
            String userWorkLocation = thisUserInfo.Work_Location__c;
            thisUserInfo.UserPro_Type__c = '';
            update thisUserInfo;
            if (String.isBlank(thisUserInfo.UserPro_Type__c)) {
                agencyProType = 'ET';
            }
           Product2 prod07 = new Product2(Name='Test07',ProductCode='Test07',Asset_Model_No__c = 'Test07',Category3__c = 'CDS',Category4__c = 'OER',Category5__c = 'Celon',
            SFDA_Status__c = '有効',Product_Status__c = '正常销售',SFDA_Approbated_Status__c = '有效',Dealer_special_Object__c = true,SFDA_Approbation_No__c = 'Test002',Packing_list_manual__c = 1,
            SFDA_Expiration_Date__c= Date.today(),Manual_Entry__c = false);
           insert new Product2[] {prod07};
            Product2__c pro1 = new Product2__c(Name='MH-155:白平衡帽',OT_CODE_Text__c='Test001',Product2__c = prod07.Id,Category3_text__c = 'test123', Category4_text__c = 'test123', Category5_text__c = 'test123');
         insert new Product2__c[] {pro1};
            //发货
            Consumable_order__c createIdSend = new Consumable_order__c();
            createIdSend.Name = 'testMing1';
            createIdSend.Order_status__c = '批准';
            createIdSend.Deliver_date__c = Date.today();
            createIdSend.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            createIdSend.Order_type__c = '订单';
            createIdSend.Order_ProType__c = 'ENG';
            createIdSend.SummonsForDirction__c = '互相调货';
            createIdSend.Order_ForDealerText__c = 'Testaccount003';
            createIdSend.Order_ForCustomerText__c = 'Test000';
            createIdSend.SummonsStatus_c__c = '批准';
            createIdSend.Dealer_Info__c = accountItem1.Id;
            createIdSend.Delivery_detail_count__c = 5;
      Consumable_order__c createIdSend1 = new Consumable_order__c();
      createIdSend1.Name = 'testMing2';
      createIdSend1.Order_status__c = '批准';
      createIdSend1.Deliver_date__c = Date.today();
      createIdSend1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
      createIdSend1.Order_type__c = '订单';
      createIdSend1.Order_ProType__c = 'ENG';
      createIdSend1.SummonsForDirction__c = '直接销售给医院';
      createIdSend1.Order_ForCustomerText__c = '';
      createIdSend1.Order_ForDealerText__c = 'Testaccount003';
      createIdSend1.SummonsStatus_c__c = '批准';
      createIdSend1.Dealer_Info__c = accountItem1.Id;
      createIdSend1.Delivery_detail_count__c = 5;
            Consumable_order__c createIdSend1 = new Consumable_order__c();
            createIdSend1.Name = 'testMing2';
            createIdSend1.Order_status__c = '批准';
            createIdSend1.Deliver_date__c = Date.today();
            createIdSend1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            createIdSend1.Order_type__c = '订单';
            createIdSend1.Order_ProType__c = 'ENG';
            createIdSend1.SummonsForDirction__c = '直接销售给医院';
            createIdSend1.Order_ForCustomerText__c = '';
            createIdSend1.Order_ForDealerText__c = 'Testaccount003';
            createIdSend1.SummonsStatus_c__c = '批准';
            createIdSend1.Dealer_Info__c = accountItem1.Id;
            createIdSend1.Delivery_detail_count__c = 5;
      Consumable_order__c createIdSend2 = new Consumable_order__c();
      createIdSend2.Name = 'testMing2';
      createIdSend2.Order_status__c = '批准';
      createIdSend2.Deliver_date__c = Date.today();
      createIdSend2.RecordTypeid = System.Label.RT_ConOrder_Delivery;
      createIdSend2.Order_type__c = '订单';
      createIdSend2.Order_ProType__c = 'ENG';
      createIdSend2.SummonsForDirction__c = '';
      createIdSend2.Order_ForCustomerText__c = '';
      createIdSend2.Order_ForDealerText__c = 'Testaccount003';
      createIdSend2.SummonsStatus_c__c = '批准';
      createIdSend2.Dealer_Info__c = accountItem1.Id;
      createIdSend2.Delivery_detail_count__c = 5;
            Consumable_order__c createIdSend2 = new Consumable_order__c();
            createIdSend2.Name = 'testMing2';
            createIdSend2.Order_status__c = '批准';
            createIdSend2.Deliver_date__c = Date.today();
            createIdSend2.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            createIdSend2.Order_type__c = '订单';
            createIdSend2.Order_ProType__c = 'ENG';
            createIdSend2.SummonsForDirction__c = '';
            createIdSend2.Order_ForCustomerText__c = '';
            createIdSend2.Order_ForDealerText__c = 'Testaccount003';
            createIdSend2.SummonsStatus_c__c = '批准';
            createIdSend2.Dealer_Info__c = accountItem1.Id;
            createIdSend2.Delivery_detail_count__c = 5;
      Consumable_order__c createIdSend3 = new Consumable_order__c();
      createIdSend3.Name = 'testMing123456';
      createIdSend3.Order_status__c = '批准';
      createIdSend3.Deliver_date__c = Date.today();
      createIdSend3.Arrive_Order__c = createIdSend.Id;
      createIdSend3.RecordTypeid = System.Label.RT_ConOrder_Delivery;
      createIdSend3.Order_type__c = '订单';
      createIdSend3.Order_ProType__c = 'ENG';
      createIdSend3.SummonsForDirction__c = '互相调货';
      createIdSend3.Order_ForDealerText__c = '';
      createIdSend3.Order_ForCustomerText__c = 'Test001';
      createIdSend3.SummonsStatus_c__c = '批准';
      createIdSend3.Dealer_Info__c = accountItem1.Id;
      createIdSend3.Delivery_detail_count__c = 5;
            Consumable_order__c createIdSend3 = new Consumable_order__c();
            createIdSend3.Name = 'testMing123456';
            createIdSend3.Order_status__c = '批准';
            createIdSend3.Deliver_date__c = Date.today();
            createIdSend3.Arrive_Order__c = createIdSend.Id;
            createIdSend3.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            createIdSend3.Order_type__c = '订单';
            createIdSend3.Order_ProType__c = 'ENG';
            createIdSend3.SummonsForDirction__c = '互相调货';
            createIdSend3.Order_ForDealerText__c = '';
            createIdSend3.Order_ForCustomerText__c = 'Test001';
            createIdSend3.SummonsStatus_c__c = '批准';
            createIdSend3.Dealer_Info__c = accountItem1.Id;
            createIdSend3.Delivery_detail_count__c = 5;
            Consumable_order__c createIdSend4 = new Consumable_order__c();
            createIdSend4.Name = 'testMing1';
            createIdSend4.Order_status__c = '批准';
            createIdSend4.Deliver_date__c = Date.today();
            createIdSend4.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            createIdSend4.Order_type__c = '订单';
            createIdSend4.Order_ProType__c = 'ENG';
            createIdSend4.SummonsForDirction__c = '医院试用';
            createIdSend4.Order_ForDealerText__c = '';
            createIdSend4.Order_ForCustomerText__c = 'Test000';
            createIdSend4.SummonsStatus_c__c = '批准';
            createIdSend4.Dealer_Info__c = accountItem1.Id;
            createIdSend4.Delivery_detail_count__c = 5;
      Consumable_order__c createIdSend4 = new Consumable_order__c();
      createIdSend4.Name = 'testMing1';
      createIdSend4.Order_status__c = '批准';
      createIdSend4.Deliver_date__c = Date.today();
      createIdSend4.RecordTypeid = System.Label.RT_ConOrder_Delivery;
      createIdSend4.Order_type__c = '订单';
      createIdSend4.Order_ProType__c = 'ENG';
      createIdSend4.SummonsForDirction__c = '医院试用';
      createIdSend4.Order_ForDealerText__c = '';
      createIdSend4.Order_ForCustomerText__c = 'Test000';
      createIdSend4.SummonsStatus_c__c = '批准';
      createIdSend4.Dealer_Info__c = accountItem1.Id;
      createIdSend4.Delivery_detail_count__c = 5;
            Consumable_order__c createIdSend5 = new Consumable_order__c();
            createIdSend5.Name = 'testMing1111111';
            createIdSend5.Order_status__c = '批准';
            createIdSend5.Deliver_date__c = Date.today();
            createIdSend5.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            createIdSend5.Order_type__c = '订单';
            createIdSend5.Order_ProType__c = 'ENG';
            createIdSend5.SummonsForDirction__c = '销售给二级经销商';
            createIdSend5.Order_ForDealerText__c = '';
            createIdSend5.Order_ForCustomerText__c = '';
            createIdSend5.SummonsStatus_c__c = '批准';
            createIdSend5.Dealer_Info__c = accountItem1.Id;
            createIdSend5.Delivery_detail_count__c = 5;
      Consumable_order__c createIdSend5 = new Consumable_order__c();
      createIdSend5.Name = 'testMing1111111';
      createIdSend5.Order_status__c = '批准';
      createIdSend5.Deliver_date__c = Date.today();
      createIdSend5.RecordTypeid = System.Label.RT_ConOrder_Delivery;
      createIdSend5.Order_type__c = '订单';
      createIdSend5.Order_ProType__c = 'ENG';
      createIdSend5.SummonsForDirction__c = '销售给二级经销商';
      createIdSend5.Order_ForDealerText__c = '';
      createIdSend5.Order_ForCustomerText__c = '';
      createIdSend5.SummonsStatus_c__c = '批准';
      createIdSend5.Dealer_Info__c = accountItem1.Id;
      createIdSend5.Delivery_detail_count__c = 5;
            Consumable_order__c createIdSend6 = new Consumable_order__c();
            createIdSend6.Name = 'testMing222222';
            createIdSend6.Order_status__c = '批准';
            createIdSend6.Deliver_date__c = Date.today();
            createIdSend6.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            createIdSend6.Order_type__c = '订单';
            createIdSend6.Order_ProType__c = 'ENG';
            createIdSend6.SummonsForDirction__c = '销售给二级经销商';
            createIdSend6.Order_ForDealerText__c = '';
            createIdSend6.Order_ForCustomerText__c = '';
            createIdSend6.SummonsStatus_c__c = '';
            createIdSend6.Dealer_Info__c = accountItem1.Id;
            createIdSend6.Delivery_detail_count__c = 5;
            Consumable_order__c createIdSend7 = new Consumable_order__c();
            createIdSend7.Name = 'testMing222222';
            createIdSend7.Order_status__c = '批准';
            createIdSend7.Deliver_date__c = Date.today();
            createIdSend7.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            createIdSend7.Order_type__c = '订单';
            createIdSend7.Order_ProType__c = 'ENG';
            createIdSend7.SummonsForDirction__c = '互相调货';
            createIdSend7.Order_ForDealerText__c = '';
            createIdSend7.Order_ForCustomerText__c = '';
            createIdSend7.SummonsStatus_c__c = '';
            createIdSend7.Dealer_Info__c = accountItem1.Id;
            createIdSend7.Delivery_detail_count__c = 5;
            Consumable_order__c createIdSend8 = new Consumable_order__c();
            createIdSend8.Name = 'testMing222222';
            createIdSend8.Order_status__c = '批准';
            createIdSend8.Deliver_date__c = Date.today();
            createIdSend8.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            createIdSend8.Order_type__c = '订单';
            createIdSend8.Order_ProType__c = 'ENG';
            createIdSend8.SummonsForDirction__c = '测试001';
            createIdSend8.Order_ForDealerText__c = '';
            createIdSend8.Order_ForCustomerText__c = '';
            createIdSend8.SummonsStatus_c__c = '';
            createIdSend8.Dealer_Info__c = accountItem1.Id;
            createIdSend8.Delivery_detail_count__c = 5;
      Consumable_order__c createIdSend6 = new Consumable_order__c();
      createIdSend6.Name = 'testMing222222';
      createIdSend6.Order_status__c = '批准';
      createIdSend6.Deliver_date__c = Date.today();
      createIdSend6.RecordTypeid = System.Label.RT_ConOrder_Delivery;
      createIdSend6.Order_type__c = '订单';
      createIdSend6.Order_ProType__c = 'ENG';
      createIdSend6.SummonsForDirction__c = '销售给二级经销商';
      createIdSend6.Order_ForDealerText__c = '';
      createIdSend6.Order_ForCustomerText__c = '';
      createIdSend6.SummonsStatus_c__c = '';
      createIdSend6.Dealer_Info__c = accountItem1.Id;
      createIdSend6.Delivery_detail_count__c = 5;
           //发票信息
            Consumable_order__c createIdSend9 = new Consumable_order__c();
            createIdSend9.Name = 'invoice01';
            createIdSend9.Invoice_status__c='已完成';
            createIdSend9.Order_type__c = '发票';
            createIdSend9.RecordTypeid = System.Label.RT_ConOrder_Invoice;
            createIdSend9.Order_status__c = '草案中';
            createIdSend9.Invoice_Date__c = Date.Today();
            createIdSend9.Order_ProType__c = 'ENG';
            createIdSend9.SummonsForDirction__c = '直接销售给医院';
      Consumable_order__c createIdSend7 = new Consumable_order__c();
      createIdSend7.Name = 'testMing222222';
      createIdSend7.Order_status__c = '批准';
      createIdSend7.Deliver_date__c = Date.today();
      createIdSend7.RecordTypeid = System.Label.RT_ConOrder_Delivery;
      createIdSend7.Order_type__c = '订单';
      createIdSend7.Order_ProType__c = 'ENG';
      createIdSend7.SummonsForDirction__c = '互相调货';
      createIdSend7.Order_ForDealerText__c = '';
      createIdSend7.Order_ForCustomerText__c = '';
      createIdSend7.SummonsStatus_c__c = '';
      createIdSend7.Dealer_Info__c = accountItem1.Id;
      createIdSend7.Delivery_detail_count__c = 5;
            Consumable_order__c createIdSend10 = new Consumable_order__c();
            createIdSend10.Name = 'OCMtest';
            createIdSend10.Order_status__c = '批准';
            createIdSend10.Order_type__c = '到货';
            createIdSend10.Dealer_Info__c = accountItem1.Id;
            createIdSend10.RecordTypeid = System.Label.RT_ConOrder_Arrive;
            createIdSend10.Order_ProType__c = 'ET';
      Consumable_order__c createIdSend8 = new Consumable_order__c();
      createIdSend8.Name = 'testMing222222';
      createIdSend8.Order_status__c = '批准';
      createIdSend8.Deliver_date__c = Date.today();
      createIdSend8.RecordTypeid = System.Label.RT_ConOrder_Delivery;
      createIdSend8.Order_type__c = '订单';
      createIdSend8.Order_ProType__c = 'ENG';
      createIdSend8.SummonsForDirction__c = '测试001';
      createIdSend8.Order_ForDealerText__c = '';
      createIdSend8.Order_ForCustomerText__c = '';
      createIdSend8.SummonsStatus_c__c = '';
      createIdSend8.Dealer_Info__c = accountItem1.Id;
      createIdSend8.Delivery_detail_count__c = 5;
            Consumable_order__c createIdSend11 = new Consumable_order__c();
            createIdSend11.Name = 'OCM_01_002';
            createIdSend11.Order_status__c = '批准';
            createIdSend11.Order_type__c = '传票';
            createIdSend11.Arrive_Order__c = createIdSend9.Id;
            createIdSend11.Dealer_Info__c = accountItem1.Id;
            createIdSend11.SummonsForDirction__c = '直接销售给医院';
            createIdSend11.RecordTypeid = System.Label.RT_ConOrder_Order;
            createIdSend11.Order_ProType__c = 'ET';
      //发票信息
      Consumable_order__c createIdSend9 = new Consumable_order__c();
      createIdSend9.Name = 'invoice01';
      createIdSend9.Invoice_status__c = '已完成';
      createIdSend9.Order_type__c = '发票';
      createIdSend9.RecordTypeid = System.Label.RT_ConOrder_Invoice;
      createIdSend9.Order_status__c = '草案中';
      createIdSend9.Invoice_Date__c = Date.Today();
      createIdSend9.Order_ProType__c = 'ENG';
      createIdSend9.SummonsForDirction__c = '直接销售给医院';
            Consumable_order__c testList1 = new Consumable_order__c();
            testList1.Name='Test1';
            testList1.Summons_Sale_Status__c='出货';
            testList1.SummonsStatus_c__c='已完成';
            testList1.Arrive_Order__c = createIdSend9.Id;
            testList1.SummonsForDirction__c='直接销售给医院';
            testList1.Order_status__c='草案中';
            testList1.Order_type__c='传票';
            testList1.Dealer_info__c=accountItem1.Id;
            testList1.ConInvoice_Code__c = createIdSend9.id;
      Consumable_order__c createIdSend10 = new Consumable_order__c();
      createIdSend10.Name = 'OCMtest';
      createIdSend10.Order_status__c = '批准';
      createIdSend10.Order_type__c = '到货';
      createIdSend10.Dealer_Info__c = accountItem1.Id;
      createIdSend10.RecordTypeid = System.Label.RT_ConOrder_Arrive;
      createIdSend10.Order_ProType__c = 'ET';
            //到货
            Consumable_order__c createIdArrived = new Consumable_order__c();
            createIdArrived.Name = 'testMing2';
            createIdArrived.Order_status__c = '批准';
            createIdArrived.Deliver_date__c = Date.today();
            createIdArrived.RecordTypeid = System.Label.RT_ConOrder_Arrive;
            createIdArrived.Order_type__c = '订单';
            createIdArrived.Order_ProType__c = 'ET';
            createIdArrived.orderPattern__c = 'promotionorder';
            createIdArrived.Dealer_Info__c = accountItem1.Id;
            createIdArrived.Delivery_detail_count__c = 5;
            insert new Consumable_order__c[]{createIdSend,createIdSend1,createIdSend2,createIdSend3,createIdSend4,createIdSend5,createIdSend6,createIdSend7,createIdSend8,createIdSend9,createIdSend10,createIdSend11,createIdArrived,testList1};
            System.debug('createIdSend9.id = ' + createIdSend9.id);
      Consumable_order__c createIdSend11 = new Consumable_order__c();
      createIdSend11.Name = 'OCM_01_002';
      createIdSend11.Order_status__c = '批准';
      createIdSend11.Order_type__c = '传票';
      createIdSend11.Arrive_Order__c = createIdSend9.Id;
      createIdSend11.Dealer_Info__c = accountItem1.Id;
      createIdSend11.SummonsForDirction__c = '直接销售给医院';
      createIdSend11.RecordTypeid = System.Label.RT_ConOrder_Order;
      createIdSend11.Order_ProType__c = 'ET';
            Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(Name='order_LinkTable1',Outboundorder_Code_link__c = testList1.Id,Invoice_Code_link__c =createIdSend9.Id);
            insert new Consumable_order_LinkTable__c[]{order_LinkTable1};
      Consumable_order__c testList1 = new Consumable_order__c();
      testList1.Name = 'Test1';
      testList1.Summons_Sale_Status__c = '出货';
      testList1.SummonsStatus_c__c = '已完成';
      testList1.Arrive_Order__c = createIdSend9.Id;
      testList1.SummonsForDirction__c = '直接销售给医院';
      testList1.Order_status__c = '草案中';
      testList1.Order_type__c = '传票';
      testList1.Dealer_info__c = accountItem1.Id;
      testList1.ConInvoice_Code__c = createIdSend9.id;
            Consumable_orderdetails__c coc = new Consumable_orderdetails__c();
            coc.Name = 'Too001';
            coc.Dealer_Custom_Price__c = 999.00;
            coc.Consumable_count__c = 3;
            coc.Consumable_product__c = pro1.Id;
            coc.Box_Piece__c = '盒';
            coc.isOutPattern__c = true;
            coc.Consumable_order__c = createIdSend.Id;
            coc.Unitprice_To_agency__c = 999.00;
            coc.Delivery_List_RMB__c = 999.00;
            coc.Shipment_Count__c = null;
            coc.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
      //到货
      Consumable_order__c createIdArrived = new Consumable_order__c();
      createIdArrived.Name = 'testMing2';
      createIdArrived.Order_status__c = '批准';
      createIdArrived.Deliver_date__c = Date.today();
      createIdArrived.RecordTypeid = System.Label.RT_ConOrder_Arrive;
      createIdArrived.Order_type__c = '订单';
      createIdArrived.Order_ProType__c = 'ET';
      createIdArrived.orderPattern__c = 'promotionorder';
      createIdArrived.Dealer_Info__c = accountItem1.Id;
      createIdArrived.Delivery_detail_count__c = 5;
      insert new List<Consumable_order__c>{
        createIdSend,
        createIdSend1,
        createIdSend2,
        createIdSend3,
        createIdSend4,
        createIdSend5,
        createIdSend6,
        createIdSend7,
        createIdSend8,
        createIdSend9,
        createIdSend10,
        createIdSend11,
        createIdArrived,
        testList1
      };
            Consumable_orderdetails__c coc1 = new Consumable_orderdetails__c();
            coc1.Name = 'Too001';
            coc1.Dealer_Custom_Price__c = 999.00;
            coc1.Consumable_count__c = 3;
            coc1.Consumable_product__c = pro1.Id;
            coc1.Box_Piece__c = '盒';
            coc1.isOutPattern__c = true;
            coc1.Consumable_order__c = createIdSend3.Id;
            coc1.Unitprice_To_agency__c = 999.00;
            coc1.Delivery_List_RMB__c = 999.00;
            coc1.Shipment_Count__c = 9999.00;
            coc1.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
      System.debug('createIdSend9.id = ' + createIdSend9.id);
            Consumable_orderdetails__c coc2 = new Consumable_orderdetails__c();
            coc2.Name = 'Too001';
            coc2.Dealer_Custom_Price__c = 999.00;
            coc2.Consumable_count__c = 3;
            coc2.Consumable_product__c = pro1.Id;
            coc2.Box_Piece__c = '盒';
            coc2.isOutPattern__c = true;
            coc2.Consumable_order__c = createIdSend3.Id;
            coc2.Unitprice_To_agency__c = 999.00;
            coc2.Delivery_List_RMB__c = -999.00;
            coc2.Shipment_Count__c = 9999.00;
            coc2.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
            insert new Consumable_orderdetails__c[]{coc,coc1,coc2};
      Consumable_order_LinkTable__c order_LinkTable1 = new Consumable_order_LinkTable__c(
        Name = 'order_LinkTable1',
        Outboundorder_Code_link__c = testList1.Id,
        Invoice_Code_link__c = createIdSend9.Id
      );
      insert new List<Consumable_order_LinkTable__c>{ order_LinkTable1 };
            Consumable_order_details2__c conOrderDetail1 = new Consumable_order_details2__c();
            conOrderDetail1.Name = 'OCM_01_001001';
            conOrderDetail1.Consumable_ZS_order__c = createIdArrived.Id;
            conOrderDetail1.Consumable_Product__c = pro1.Id;
            conOrderDetail1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            conOrderDetail1.Bar_Code__c = '11111';
            conOrderDetail1.Arrive_date__c = Date.today().addDays(1);
            conOrderDetail1.Send_Date__c = null;
            conOrderDetail1.Used_date__c = null;
            conOrderDetail1.Return_date__c = null;
            conOrderDetail1.Consumable_order_minor__c = createIdArrived.Id;
            conOrderDetail1.Lose_Flag__c = false;
            conOrderDetail1.exchangeOutPattern__c = false;
            conOrderDetail1.Cancellation_Flag__c = false;
            conOrderDetail1.Box_Piece__c = '盒';
            conOrderDetail1.Sterilization_limit__c = Date.Today();
            insert new Consumable_order_details2__c[]{conOrderDetail1};
            hospitalprice__c hp1 = new hospitalprice__c();
            hp1.hospital__c = accountId;
            hp1.account__c = accountId;
            hp1.product__c = pro1.Id;
            insert new hospitalprice__c[]{hp1};
      Consumable_orderdetails__c coc = new Consumable_orderdetails__c();
      coc.Name = 'Too001';
      coc.Dealer_Custom_Price__c = 999.00;
      coc.Consumable_count__c = 3;
      coc.Consumable_product__c = pro1.Id;
      coc.Box_Piece__c = '盒';
      coc.isOutPattern__c = true;
      coc.Consumable_order__c = createIdSend.Id;
      coc.Unitprice_To_agency__c = 999.00;
      coc.Delivery_List_RMB__c = 999.00;
      coc.Shipment_Count__c = null;
      coc.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
            Dealer_elationship__c dealerelationship = new Dealer_elationship__c(Dealer_principal__c = accountItem1.id,Dealer_subordinate__c = accountItem1.id);
            Dealer_elationship__c dealerelationship1 = new Dealer_elationship__c(Dealer_principal__c = accountItem1.id,Dealer_subordinate__c = accountItem1.id);
            insert new Dealer_elationship__c[] {dealerelationship, dealerelationship1};
      Consumable_orderdetails__c coc1 = new Consumable_orderdetails__c();
      coc1.Name = 'Too001';
      coc1.Dealer_Custom_Price__c = 999.00;
      coc1.Consumable_count__c = 3;
      coc1.Consumable_product__c = pro1.Id;
      coc1.Box_Piece__c = '盒';
      coc1.isOutPattern__c = true;
      coc1.Consumable_order__c = createIdSend3.Id;
      coc1.Unitprice_To_agency__c = 999.00;
      coc1.Delivery_List_RMB__c = 999.00;
      coc1.Shipment_Count__c = 9999.00;
      coc1.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
            LexSummonsCreatController.ConsumableorderdetailsInfo c0 = new LexSummonsCreatController.ConsumableorderdetailsInfo();
            c0.packinglist = 0;
            c0.approbation_No = null;
            c0.expiration_Date = Date.Today();
            c0.boxorpiecein = null;
            c0.hospitalSpecialOffer = true;
            LexSummonsCreatController.ConsumableorderdetailsInfo c1 = new LexSummonsCreatController.ConsumableorderdetailsInfo(coc);
            c1.check = true;
            c1.oldCheck = true;
            c1.orderdetails1 = coc;
            c1.orderdetails2 = null;
            c1.Prod = coc.Consumable_Product__r;
            c1.oldConsumableCount = coc.Shipment_Count__c;
            c1.canSelect = true;
            c1.allnumber = 0.00;
            c1.Boxnumber = 0.00;
            c1.Piecenumber = 0.00;
            c1.BoxPiece = coc.Box_Piece__c;
            c1.hospitalSpecialOffer = true;
            c1.hosPro = false;
            List<SelectOption> boxorpiece = new List<SelectOption>();
            boxorpiece.add(new SelectOption('盒', '盒'));
            boxorpiece.add(new SelectOption('个', '个'));
            Map<String, String> boxorpieceMap = new Map<String, String>();
            boxorpieceMap.put('盒', '盒');
            boxorpieceMap.put('个', '个');
            LexSummonsCreatController.ConsumableorderdetailsInfo coder = new LexSummonsCreatController.ConsumableorderdetailsInfo(conOrderDetail1);
            coder.check = true;
            coder.oldCheck = true;
            coder.hospitalSpecialOffer = true;
            coder.orderdetails1 = null;
            coder.orderdetails2 = conOrderDetail1;
            coder.Prod = conOrderDetail1.Consumable_Product__r;
            coder.canSelect = true;
            coder.allnumber = 0;
            coder.Boxnumber = 0;
            coder.Piecenumber = 0;
            coder.hosPro = false;
            LexSummonsCreatController.ConsumableorderdetailsInfo c2 = new LexSummonsCreatController.ConsumableorderdetailsInfo(pro1);
            c2.sortBy = true;
            c2.Boxnumber = 20;
            c1.compareTo(c2);
            c1.Boxnumber = 20;
            c2.Boxnumber = 10;
            c1.compareTo(c2);
            c1.Boxnumber = 10;
            c2.Boxnumber = 20;
            c2.compareTo(c1);
            c1.Boxnumber = 20;
            c2.Boxnumber = 10;
            c2.compareTo(c1);
            LexSummonsCreatController.ConsumableorderdetailsInfo c3 = new LexSummonsCreatController.ConsumableorderdetailsInfo(pro1);
            c3.sortBy = false;
            c3.Boxnumber = 10;
            c1.compareTo(c3);
            c1.Boxnumber = 20;
            c3.Boxnumber = 10;
            c1.compareTo(c3);
            c3.Boxnumber = 10;
            c1.Boxnumber = 20;
            c3.compareTo(c1);
            c3.Boxnumber = 20;
            c3.Boxnumber = 10;
            c1.compareTo(c1);
            LexSummonsCreatController.ConsumableorderdetailsInfoLwc c4 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
            c4.check = true;
            c4.oldCheck = true;
            c4.orderdetails1 = null;
            c4.orderdetails2 = null;
            c4.Prod = null;
            c4.Boxnumber = 0.00;
            c4.Piecenumber = 0.00;
            c4.allnumber = 0.00;
            c4.oldConsumableCount = 0.00;
            c4.canSelect = true;
            c4.sortBy = true;
            c4.packinglist = 1;
            c4.approbation_No = null;
            c4.expiration_Date = Date.Today();
            c4.boxorpiecein = null;
            c4.boxorpiece = null;
            c4.boxorpieceMap = null;
            c4.concc = null;
            c4.BoxPiece = null;
            c4.hospitalSpecialOffer = true;
            c4.hosPro = true;
            c4.unitOptions = null;
            c4.unitValue = null;
            c4.shipmentNumber = 1;
            c4.shippingUnitPrice = 0.00;
            c4.recordId = null;
            c4.Id = null;
            c4.Name = null;
            c4.Category3 = null;
            c4.Category4 = null;
            c4.Category5 = null;
            List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecordsLwcLwc = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
            LexSummonsCreatController.ConsumableorderdetailsInfoLwc c5 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
            c5.check = true;
            c5.orderdetails1 = coc;
            c5.hospitalSpecialOffer = true;
            c5.allnumber = 1999.00;
            pageRecordsLwcLwc.add(c5);
            List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
            LexSummonsCreatController.ConsumableorderdetailsInfoLwc c6 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
            c6.check = true;
            c6.oldCheck = true;
            c6.hospitalSpecialOffer = true;
            c6.orderdetails1 = coc1;
            c6.orderdetails2 = conOrderDetail1;
            c6.Prod = pro1;
            c6.Boxnumber = 0.00;
            c6.Piecenumber = 0.00;
            c6.allnumber = 1999.00;
            c6.oldConsumableCount = 1999.00;
            c6.canSelect = true;
            c6.sortBy = true;
            c6.packinglist = 1;
            c6.approbation_No = '';
            c6.expiration_Date = Date.Today();
            c6.boxorpiecein = '';
            c6.boxorpiece = null;
            c6.boxorpieceMap = null;
            c6.concc = null;
            c6.BoxPiece = null;
            c6.hosPro = true;
            pageRecords.add(c6);
            List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecordsLwc = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
            LexSummonsCreatController.ConsumableorderdetailsInfoLwc c7 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
            c7.check = true;
            c7.oldCheck = true;
            c7.hospitalSpecialOffer = true;
            c7.orderdetails1 = coc2;
            c7.orderdetails2 = conOrderDetail1;
            c7.Prod = pro1;
            c7.Boxnumber = 0.00;
            c7.Piecenumber = 0.00;
            c7.allnumber = 1999.00;
            c7.oldConsumableCount = 1999.00;
            c7.canSelect = true;
            c7.sortBy = true;
            c7.packinglist = 1;
            c7.approbation_No = '';
            c7.expiration_Date = Date.Today();
            c7.boxorpiecein = '';
            c7.boxorpiece = null;
            c7.boxorpieceMap = null;
            c7.concc = null;
            c7.BoxPiece = null;
            c7.hosPro = true;
            pageRecordsLwc.add(c7);
      Consumable_orderdetails__c coc2 = new Consumable_orderdetails__c();
      coc2.Name = 'Too001';
      coc2.Dealer_Custom_Price__c = 999.00;
      coc2.Consumable_count__c = 3;
      coc2.Consumable_product__c = pro1.Id;
      coc2.Box_Piece__c = '盒';
      coc2.isOutPattern__c = true;
      coc2.Consumable_order__c = createIdSend3.Id;
      coc2.Unitprice_To_agency__c = 999.00;
      coc2.Delivery_List_RMB__c = -999.00;
      coc2.Shipment_Count__c = 9999.00;
      coc2.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
      insert new List<Consumable_orderdetails__c>{ coc, coc1, coc2 };
            List<LexSummonsCreatController.ConsumableorderdetailsInfo> consumable = new List<LexSummonsCreatController.ConsumableorderdetailsInfo>();
            LexSummonsCreatController.ConsumableorderdetailsInfo codi = new LexSummonsCreatController.ConsumableorderdetailsInfo();
            codi.check = true;
            codi.hospitalSpecialOffer = true;
            codi.packinglist = 0;
            codi.approbation_No = null;
            codi.expiration_Date = Date.Today();
            codi.boxorpiecein = null;
            codi.orderdetails1 = coc;
            codi.Prod = pro1;
            consumable.add(codi);
            List<SelectOption> categoryOptionList = new List<SelectOption>();
            System.Test.startTest();
            Integer size = Integer.valueOf(System.Label.orderdetLimitsize);
            String ESetId = null;
            String statusEdit = null;
            String arrive = null;
            String alertMessage = null;
      Consumable_order_details2__c conOrderDetail1 = new Consumable_order_details2__c();
      conOrderDetail1.Name = 'OCM_01_001001';
      conOrderDetail1.Consumable_ZS_order__c = createIdArrived.Id;
      conOrderDetail1.Consumable_Product__c = pro1.Id;
      conOrderDetail1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
      conOrderDetail1.Bar_Code__c = '11111';
      conOrderDetail1.Arrive_date__c = Date.today().addDays(1);
      conOrderDetail1.Send_Date__c = null;
      conOrderDetail1.Used_date__c = null;
      conOrderDetail1.Return_date__c = null;
      conOrderDetail1.Consumable_order_minor__c = createIdArrived.Id;
      conOrderDetail1.Lose_Flag__c = false;
      conOrderDetail1.exchangeOutPattern__c = false;
      conOrderDetail1.Cancellation_Flag__c = false;
      conOrderDetail1.Box_Piece__c = '盒';
      conOrderDetail1.Sterilization_limit__c = Date.Today();
      insert new List<Consumable_order_details2__c>{ conOrderDetail1 };
      hospitalprice__c hp1 = new hospitalprice__c();
      hp1.hospital__c = accountId;
      hp1.account__c = accountId;
      hp1.product__c = pro1.Id;
      insert new List<hospitalprice__c>{ hp1 };
      Dealer_elationship__c dealerelationship = new Dealer_elationship__c(
        Dealer_principal__c = accountItem1.id,
        Dealer_subordinate__c = accountItem1.id
      );
      Dealer_elationship__c dealerelationship1 = new Dealer_elationship__c(
        Dealer_principal__c = accountItem1.id,
        Dealer_subordinate__c = accountItem1.id
      );
      insert new List<Dealer_elationship__c>{
        dealerelationship,
        dealerelationship1
      };
      LexSummonsCreatController.ConsumableorderdetailsInfo c0 = new LexSummonsCreatController.ConsumableorderdetailsInfo();
      c0.packinglist = 0;
      c0.approbation_No = null;
      c0.expiration_Date = Date.Today();
      c0.boxorpiecein = null;
      c0.hospitalSpecialOffer = true;
      LexSummonsCreatController.ConsumableorderdetailsInfo c1 = new LexSummonsCreatController.ConsumableorderdetailsInfo(
        coc
      );
      c1.check = true;
      c1.oldCheck = true;
      c1.orderdetails1 = coc;
      c1.orderdetails2 = null;
      c1.Prod = coc.Consumable_Product__r;
      c1.oldConsumableCount = coc.Shipment_Count__c;
      c1.canSelect = true;
      c1.allnumber = 0.00;
      c1.Boxnumber = 0.00;
      c1.Piecenumber = 0.00;
      c1.BoxPiece = coc.Box_Piece__c;
      c1.hospitalSpecialOffer = true;
      c1.hosPro = false;
      List<SelectOption> boxorpiece = new List<SelectOption>();
      boxorpiece.add(new SelectOption('盒', '盒'));
      boxorpiece.add(new SelectOption('个', '个'));
      Map<String, String> boxorpieceMap = new Map<String, String>();
      boxorpieceMap.put('盒', '盒');
      boxorpieceMap.put('个', '个');
      LexSummonsCreatController.ConsumableorderdetailsInfo coder = new LexSummonsCreatController.ConsumableorderdetailsInfo(
        conOrderDetail1
      );
      coder.check = true;
      coder.oldCheck = true;
      coder.hospitalSpecialOffer = true;
      coder.orderdetails1 = null;
      coder.orderdetails2 = conOrderDetail1;
      coder.Prod = conOrderDetail1.Consumable_Product__r;
      coder.canSelect = true;
      coder.allnumber = 0;
      coder.Boxnumber = 0;
      coder.Piecenumber = 0;
      coder.hosPro = false;
      LexSummonsCreatController.ConsumableorderdetailsInfo c2 = new LexSummonsCreatController.ConsumableorderdetailsInfo(
        pro1
      );
      c2.sortBy = true;
      c2.Boxnumber = 20;
      c1.compareTo(c2);
      c1.Boxnumber = 20;
      c2.Boxnumber = 10;
      c1.compareTo(c2);
      c1.Boxnumber = 10;
      c2.Boxnumber = 20;
      c2.compareTo(c1);
      c1.Boxnumber = 20;
      c2.Boxnumber = 10;
      c2.compareTo(c1);
      LexSummonsCreatController.ConsumableorderdetailsInfo c3 = new LexSummonsCreatController.ConsumableorderdetailsInfo(
        pro1
      );
      c3.sortBy = false;
      c3.Boxnumber = 10;
      c1.compareTo(c3);
      c1.Boxnumber = 20;
      c3.Boxnumber = 10;
      c1.compareTo(c3);
      c3.Boxnumber = 10;
      c1.Boxnumber = 20;
      c3.compareTo(c1);
      c3.Boxnumber = 20;
      c3.Boxnumber = 10;
      c1.compareTo(c1);
      LexSummonsCreatController.ConsumableorderdetailsInfoLwc c4 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
      c4.check = true;
      c4.oldCheck = true;
      c4.orderdetails1 = null;
      c4.orderdetails2 = null;
      c4.Prod = null;
      c4.Boxnumber = 0.00;
      c4.Piecenumber = 0.00;
      c4.allnumber = 0.00;
      c4.oldConsumableCount = 0.00;
      c4.canSelect = true;
      c4.sortBy = true;
      c4.packinglist = 1;
      c4.approbation_No = null;
      c4.expiration_Date = Date.Today();
      c4.boxorpiecein = null;
      c4.boxorpiece = null;
      c4.boxorpieceMap = null;
      c4.concc = null;
      c4.BoxPiece = null;
      c4.hospitalSpecialOffer = true;
      c4.hosPro = true;
      c4.unitOptions = null;
      c4.unitValue = null;
      c4.shipmentNumber = 1;
      c4.shippingUnitPrice = 0.00;
      c4.recordId = null;
      c4.Id = null;
      c4.Name = null;
      c4.Category3 = null;
      c4.Category4 = null;
      c4.Category5 = null;
      List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecordsLwcLwc = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
      LexSummonsCreatController.ConsumableorderdetailsInfoLwc c5 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
      c5.check = true;
      c5.orderdetails1 = coc;
      c5.hospitalSpecialOffer = true;
      c5.allnumber = 1999.00;
      pageRecordsLwcLwc.add(c5);
      List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
      LexSummonsCreatController.ConsumableorderdetailsInfoLwc c6 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
      c6.check = true;
      c6.oldCheck = true;
      c6.hospitalSpecialOffer = true;
      c6.orderdetails1 = coc1;
      c6.orderdetails2 = conOrderDetail1;
      c6.Prod = pro1;
      c6.Boxnumber = 0.00;
      c6.Piecenumber = 0.00;
      c6.allnumber = 1999.00;
      c6.oldConsumableCount = 1999.00;
      c6.canSelect = true;
      c6.sortBy = true;
      c6.packinglist = 1;
      c6.approbation_No = '';
      c6.expiration_Date = Date.Today();
      c6.boxorpiecein = '';
      c6.boxorpiece = null;
      c6.boxorpieceMap = null;
      c6.concc = null;
      c6.BoxPiece = null;
      c6.hosPro = true;
      pageRecords.add(c6);
      List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecordsLwc = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
      LexSummonsCreatController.ConsumableorderdetailsInfoLwc c7 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
      c7.check = true;
      c7.oldCheck = true;
      c7.hospitalSpecialOffer = true;
      c7.orderdetails1 = coc2;
      c7.orderdetails2 = conOrderDetail1;
      c7.Prod = pro1;
      c7.Boxnumber = 0.00;
      c7.Piecenumber = 0.00;
      c7.allnumber = 1999.00;
      c7.oldConsumableCount = 1999.00;
      c7.canSelect = true;
      c7.sortBy = true;
      c7.packinglist = 1;
      c7.approbation_No = '';
      c7.expiration_Date = Date.Today();
      c7.boxorpiecein = '';
      c7.boxorpiece = null;
      c7.boxorpieceMap = null;
      c7.concc = null;
      c7.BoxPiece = null;
      c7.hosPro = true;
      pageRecordsLwc.add(c7);
      List<LexSummonsCreatController.ConsumableorderdetailsInfo> consumable = new List<LexSummonsCreatController.ConsumableorderdetailsInfo>();
      LexSummonsCreatController.ConsumableorderdetailsInfo codi = new LexSummonsCreatController.ConsumableorderdetailsInfo();
      codi.check = true;
      codi.hospitalSpecialOffer = true;
      codi.packinglist = 0;
      codi.approbation_No = null;
      codi.expiration_Date = Date.Today();
      codi.boxorpiecein = null;
      codi.orderdetails1 = coc;
      codi.Prod = pro1;
      consumable.add(codi);
      List<SelectOption> categoryOptionList = new List<SelectOption>();
      System.Test.startTest();
      Integer size = Integer.valueOf(System.Label.orderdetLimitsize);
      String ESetId = null;
      String statusEdit = null;
      String arrive = null;
      String alertMessage = null;
      String category1 = '3400PK:PK针 5mm×33cm';
      String Category3 = '腹腔镜手术';
      String Category4 = 'PK';
      String Category5 = 'G400';
      LexSummonsCreatController.category1 = category1;
      LexSummonsCreatController.Category3 = Category3;
      LexSummonsCreatController.Category4 = Category4;
      LexSummonsCreatController.Category5 = Category5;
      LexSummonsCreatController.statusEdit = statusEdit;
      LexSummonsCreatController.alertMessage = alertMessage;
      LexSummonsCreatController.zaikuId = new List<String>();
      LexSummonsCreatController.categoryOptionMap = new Map<String, String>();
      LexSummonsCreatController.category4OptionMap = new Map<String, String>();
      LexSummonsCreatController.category5OptionMap = new Map<String, String>();
      LexSummonsCreatController.orderpieceorboxMap = new Map<String, String>();
      LexSummonsCreatController.orderagencypriceMap = new Map<String, Decimal>();
      LexSummonsCreatController.orderpriceMap = new Map<String, Decimal>();
      LexSummonsCreatController.orderdetCountMap = new Map<String, Decimal>();
      LexSummonsCreatController.hasSpecialHos = false;
      LexSummonsCreatController.outOutPattern = null;
      LexSummonsCreatController.provinceOptsMap = new Map<String, String>();
      LexSummonsCreatController.categoryOptionList = new List<SelectOption>();
      LexSummonsCreatController.category4OptionList = new List<SelectOption>();
      LexSummonsCreatController.category5OptionList = new List<SelectOption>();
      LexSummonsCreatController.outOutPatternOptionList = new List<SelectOption>();
      LexSummonsCreatController.orderdetails = new List<Consumable_orderdetails__c>();
      LexSummonsCreatController.consumableorderdetailsRecords = new List<LexSummonsCreatController.ConsumableorderdetailsInfo>();
      LexSummonsCreatController.consumableorderdetailsRecordserror = new List<LexSummonsCreatController.ConsumableorderdetailsInfo>();
      List<SelectOption> cityOpts1 = new List<SelectOption>();
      cityOpts1.add(new SelectOption('', '--无--'));
      cityOpts1.add(new SelectOption('ishos', '医院特价产品'));
      cityOpts1.add(new SelectOption('nothos', '非医院特价产品'));
      Map<String, String> optionMap = new Map<String, String>();
      optionMap.put('', '-无-');
      optionMap.put('ishos', '医院特价产品');
      optionMap.put('nothos', '非医院特价产品');
      Integer count = LexSummonsCreatController.consumableorderdetailsCount;
      Consumable_order__c cocOrderId = new Consumable_order__c();
      LexSummonsCreatController.coc = cocOrderId;
      String consumableorderId = LexSummonsCreatController.consumableorderId;
      LexSummonsCreatController summonCC = new LexSummonsCreatController();
      LexSummonsCreatController.init(
        testList1.Id,
        'Test',
        1,
        100,
        testList1.Id
      );
      LexSummonsCreatController.firstInit(ESetId);
      LexSummonsCreatController.init(ESetId, statusEdit, 1, 100, arrive);
      LexSummonsCreatController.init(
        ESetId,
        statusEdit,
        1,
        100,
        createIdSend.Id
      );
      LexSummonsCreatController.init(
        createIdSend.Id,
        statusEdit,
        1,
        100,
        arrive
      );
      LexSummonsCreatController.init(
        createIdSend.Id,
        'Test',
        1,
        100,
        createIdSend3.Id
      );
      LexSummonsCreatController.init(ESetId, 'Test', 1, 100, createIdSend.Id);
      LexSummonsCreatController.searchConsumableorderdetails(
        'ENG',
        'Testaccount001',
        '北京',
        'ishos',
        'Test07',
        'CDS',
        'OER',
        'Celon',
        true,
        pageRecords,
        consumable,
        '',
        1,
        100
      );
      LexSummonsCreatController.searchConsumableorderdetails(
        'ENG',
        'Testaccount001',
        '北京',
        'nothos',
        'Test07',
        'CDS',
        'OER',
        'Celon',
        true,
        pageRecords,
        consumable,
        '',
        1,
        100
      );
      LexSummonsCreatController.save(
        createIdSend2,
        '',
        '',
        '',
        pageRecordsLwcLwc,
        accountId,
        createIdSend2.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend1,
        '',
        '',
        'Test',
        pageRecordsLwcLwc,
        accountId,
        createIdSend1.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend1,
        'Test',
        'Test',
        'Test',
        pageRecordsLwcLwc,
        accountId,
        createIdSend1.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend7,
        '',
        '',
        accountItem1.Id,
        pageRecordsLwcLwc,
        accountId,
        createIdSend7.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend,
        'Test',
        'Test',
        'Test',
        pageRecordsLwcLwc,
        accountId,
        createIdSend.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend3,
        'Test',
        'Test',
        '',
        pageRecordsLwcLwc,
        accountId,
        createIdSend3.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend3,
        '',
        '',
        'Test',
        pageRecordsLwcLwc,
        accountId,
        createIdSend3.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend3,
        'Test',
        'Test',
        'Test',
        pageRecordsLwcLwc,
        accountId,
        createIdSend3.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend4,
        '',
        '',
        '',
        pageRecordsLwcLwc,
        accountId,
        createIdSend4.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend5,
        '',
        '',
        '',
        pageRecordsLwcLwc,
        accountId,
        createIdSend5.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend5,
        '',
        '',
        'Test',
        pageRecordsLwcLwc,
        accountId,
        createIdSend5.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend5,
        'Test',
        'Test',
        'Test',
        pageRecordsLwcLwc,
        accountId,
        createIdSend5.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend8,
        accountId,
        'Test',
        accountId,
        pageRecords,
        accountId,
        createIdSend8.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend8,
        accountId,
        'Test',
        null,
        pageRecordsLwc,
        accountId,
        createIdSend8.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.checkOutPattern();
      LexSummonsCreatController.PraseToPDF(createIdSend, createIdSend.Id);
      LexSummonsCreatController.search('Testaccount001');
      LexSummonsCreatController.GoodsDelivery(
        createIdSend,
        createIdSend.Id,
        pageRecordsLwcLwc
      );
      LexSummonsCreatController.GoodsDelivery(
        createIdSend3,
        createIdSend3.Id,
        pageRecords
      );
      LexSummonsCreatController.GoodsDelivery(
        createIdSend1,
        createIdSend1.Id,
        pageRecordsLwcLwc
      );
      LexSummonsCreatController.GoodsDelivery(
        createIdSend6,
        createIdSend6.Id,
        pageRecordsLwcLwc
      );
      LexSummonsCreatController.DelConsumable(createIdSend.Id);
      System.Test.stopTest();
    }
  }
  @isTest
  static void testSaveMethod() {
    Account accountItem1;
    Account accountItem2;
    User userTest;
    String rectCo = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName()
      .get('Agency')
      .getRecordTypeId();
    String rectHp = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName()
      .get('HP')
      .getRecordTypeId();
    Profile prof = [
      SELECT Id
      FROM Profile
      WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
    ];
    accountItem1 = new Account(
      Name = 'Testaccount001',
      RecordTypeId = rectCo,
      AgentCode_Ext__c = '9999900'
    );
    insert accountItem1;
    accountItem2 = new Account(
      Name = 'Testaccount002',
      RecordTypeId = rectHp,
      AgentCode_Ext__c = '9999999',
      ParentId = accountItem1.Id,
      Contract_Decide_Start_Date__c = Date.today(),
      ENG_Dealer__c = true,
      BillingCity = null
    );
    insert accountItem2;
    Contact core = new Contact(
      email = 'jplumber@salesforce.com',
      firstname = 'Joe',
      lastname = 'Plumber',
      accountId = accountItem1.Id
    );
    insert core;
    System.runAs(new user(ID = UserInfo.getUserID())) {
      userTest = new User(
        ContactId = core.id,
        Alias = 'newUser',
        Email = 'newuser@testorg.com',
        EmailEncodingKey = 'UTF-8',
        LastName = 'TestUser',
        LanguageLocaleKey = 'zh_CN',
        LocaleSidKey = 'zh_CN',
        ProfileId = prof.Id,
        TimeZoneSidKey = 'Asia/Shanghai',
        UserName = 'testUser@testorg.com',
        UserPro_Type__c = 'ENG',
        Work_Location__c = '北京'
      );
      insert userTest;
    }
    System.runAs(userTest) {
      String userId = UserInfo.getUserId();
      User thisUserInfo = [
        SELECT
          accountid,
          UserPro_Type__c,
          ContactId,
          Contact.AccountId,
          Contact.Account.Name,
          Work_Location__c
        FROM User
        WHERE id = :userId
      ];
      String accountId = thisUserInfo.accountid;
      String accountName = thisUserInfo.Contact.Account.Name;
      String agencyProType = thisUserInfo.UserPro_Type__c;
      String userWorkLocation = thisUserInfo.Work_Location__c;
      thisUserInfo.UserPro_Type__c = '';
      update thisUserInfo;
      if (String.isBlank(thisUserInfo.UserPro_Type__c)) {
        agencyProType = 'ET';
      }
      Product2 prod07 = new Product2(
        Name = 'Test07',
        ProductCode = 'Test07',
        Asset_Model_No__c = 'Test07',
        Category3__c = 'Test7',
        Category4__c = 'Test77',
        Category5__c = 'Test777',
        SFDA_Status__c = '有効',
        Dealer_special_Object__c = true,
        Packing_list_manual__c = 1,
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod07 };
      Product2__c pro1 = new Product2__c(
        Name = 'MH-155:白平衡帽',
        OT_CODE_Text__c = 'Test001',
        Product2__c = prod07.Id,
        Category3_text__c = 'test123',
        Category4_text__c = 'test123',
        Category5_text__c = 'test123'
      );
      insert new List<Product2__c>{ pro1 };
      Consumable_order__c createIdSend = new Consumable_order__c();
      createIdSend.Name = 'testMing1';
      createIdSend.Order_status__c = '批准';
      createIdSend.Deliver_date__c = Date.today();
      createIdSend.RecordTypeid = System.Label.RT_ConOrder_Delivery;
      createIdSend.Order_type__c = '订单';
      createIdSend.Order_ProType__c = 'ENG';
      createIdSend.SummonsForDirction__c = '测试0001';
      createIdSend.Order_ForDealerText__c = 'Testaccount003';
      createIdSend.Order_ForCustomerText__c = 'Test000';
      createIdSend.SummonsStatus_c__c = '批准';
      createIdSend.Dealer_Info__c = accountItem1.Id;
      createIdSend.Delivery_detail_count__c = 5;
      Consumable_order__c createIdSend1 = new Consumable_order__c();
      createIdSend1.Name = 'testMing1';
      createIdSend1.Order_status__c = '批准';
      createIdSend1.Deliver_date__c = Date.today();
      createIdSend1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
      createIdSend1.Order_type__c = '订单';
      createIdSend1.Order_ProType__c = 'ENG';
      createIdSend1.SummonsForDirction__c = '销售给二级经销商';
      createIdSend1.Order_ForDealerText__c = 'Testaccount003';
      createIdSend1.Order_ForCustomerText__c = 'Test000';
      createIdSend1.SummonsStatus_c__c = '价格未定';
      createIdSend1.Dealer_Info__c = accountItem1.Id;
      createIdSend1.Delivery_detail_count__c = 5;
      insert new List<Consumable_order__c>{ createIdSend, createIdSend1 };
      Consumable_orderdetails__c coc = new Consumable_orderdetails__c();
      coc.Name = 'Too001';
      coc.Dealer_Custom_Price__c = 999.00;
      coc.Consumable_count__c = 3;
      coc.Consumable_product__c = pro1.Id;
      coc.Box_Piece__c = '盒';
      coc.isOutPattern__c = true;
      coc.Consumable_order__c = createIdSend.Id;
      coc.Unitprice_To_agency__c = 999.00;
      coc.Delivery_List_RMB__c = -999.00;
      coc.Shipment_Count__c = 9999.00;
      coc.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
      Consumable_orderdetails__c coc1 = new Consumable_orderdetails__c();
      coc1.Name = 'Too001';
      coc1.Dealer_Custom_Price__c = 999.00;
      coc1.Consumable_count__c = 3;
      coc1.Consumable_product__c = pro1.Id;
      coc1.Box_Piece__c = '盒';
      coc1.isOutPattern__c = true;
      coc1.Consumable_order__c = createIdSend.Id;
      coc1.Unitprice_To_agency__c = 999.00;
      coc1.Delivery_List_RMB__c = null;
      coc1.Shipment_Count__c = 9999.00;
      coc1.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
      Consumable_orderdetails__c coc2 = new Consumable_orderdetails__c();
      coc2.Name = 'Too001';
      coc2.Dealer_Custom_Price__c = 999.00;
      coc2.Consumable_count__c = 3;
      coc2.Consumable_product__c = pro1.Id;
      coc2.Box_Piece__c = '';
      coc2.isOutPattern__c = true;
      coc2.Consumable_order__c = createIdSend.Id;
      coc2.Unitprice_To_agency__c = 999.00;
      coc2.Delivery_List_RMB__c = 999.00;
      coc2.Shipment_Count__c = 9999.00;
      coc2.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
      Consumable_orderdetails__c coc3 = new Consumable_orderdetails__c();
      coc3.Name = 'Too001';
      coc3.Dealer_Custom_Price__c = 999.00;
      coc3.Consumable_count__c = 3;
      coc3.Consumable_product__c = pro1.Id;
      coc3.Box_Piece__c = '盒';
      coc3.isOutPattern__c = true;
      coc3.Consumable_order__c = createIdSend1.Id;
      coc3.Unitprice_To_agency__c = 999.00;
      coc3.Delivery_List_RMB__c = 100.00;
      coc3.Shipment_Count__c = 9999.00;
      coc3.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
      insert new List<Consumable_orderdetails__c>{ coc, coc1, coc2, coc3 };
      Consumable_order_details2__c conOrderDetail1 = new Consumable_order_details2__c();
      conOrderDetail1.Name = 'OCM_01_001001';
      conOrderDetail1.Consumable_ZS_order__c = createIdSend.Id;
      conOrderDetail1.Consumable_Product__c = pro1.Id;
      conOrderDetail1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
      conOrderDetail1.Bar_Code__c = '11111';
      conOrderDetail1.Arrive_date__c = Date.today().addDays(1);
      conOrderDetail1.Send_Date__c = null;
      conOrderDetail1.Used_date__c = null;
      conOrderDetail1.Return_date__c = null;
      conOrderDetail1.Consumable_order_minor__c = createIdSend.Id;
      conOrderDetail1.Lose_Flag__c = false;
      conOrderDetail1.Cancellation_Flag__c = false;
      conOrderDetail1.Box_Piece__c = '盒';
      conOrderDetail1.Sterilization_limit__c = Date.Today();
      insert new List<Consumable_order_details2__c>{ conOrderDetail1 };
      List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
      LexSummonsCreatController.ConsumableorderdetailsInfoLwc c0 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
      c0.check = true;
      c0.oldCheck = true;
      c0.hospitalSpecialOffer = true;
      c0.orderdetails1 = coc;
      c0.orderdetails2 = conOrderDetail1;
      c0.Prod = pro1;
      c0.Boxnumber = 0.00;
      c0.Piecenumber = 0.00;
      c0.allnumber = 1999.00;
      c0.oldConsumableCount = 1999.00;
      c0.canSelect = true;
      c0.sortBy = true;
      c0.packinglist = 1;
      c0.approbation_No = '';
      c0.expiration_Date = Date.Today();
      c0.boxorpiecein = '';
      c0.boxorpiece = null;
      c0.boxorpieceMap = null;
      c0.concc = null;
      c0.BoxPiece = null;
      c0.hosPro = true;
      pageRecords.add(c0);
      List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords1 = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
      LexSummonsCreatController.ConsumableorderdetailsInfoLwc c1 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
      c1.check = true;
      c1.oldCheck = false;
      c1.hospitalSpecialOffer = true;
      c1.orderdetails1 = coc1;
      c1.orderdetails2 = conOrderDetail1;
      c1.Prod = pro1;
      c1.Boxnumber = 0.00;
      c1.Piecenumber = 0.00;
      c1.allnumber = 1999.00;
      c1.oldConsumableCount = 1999.00;
      c1.canSelect = true;
      c1.sortBy = true;
      c1.packinglist = 1;
      c1.approbation_No = '';
      c1.expiration_Date = Date.Today();
      c1.boxorpiecein = '';
      c1.boxorpiece = null;
      c1.boxorpieceMap = null;
      c1.concc = null;
      c1.BoxPiece = null;
      c1.hosPro = true;
      pageRecords1.add(c1);
      List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords2 = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
      LexSummonsCreatController.ConsumableorderdetailsInfoLwc c2 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
      c2.check = true;
      c2.oldCheck = false;
      c2.hospitalSpecialOffer = true;
      c2.orderdetails1 = coc2;
      c2.orderdetails2 = conOrderDetail1;
      c2.Prod = pro1;
      c2.Boxnumber = 0.00;
      c2.Piecenumber = 0.00;
      c2.allnumber = 1999.00;
      c2.oldConsumableCount = 1999.00;
      c2.canSelect = true;
      c2.sortBy = true;
      c2.packinglist = 1;
      c2.approbation_No = '';
      c2.expiration_Date = Date.Today();
      c2.boxorpiecein = '';
      c2.boxorpiece = null;
      c2.boxorpieceMap = null;
      c2.concc = null;
      c2.BoxPiece = null;
      c2.hosPro = true;
      pageRecords2.add(c2);
      List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords3 = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
      LexSummonsCreatController.ConsumableorderdetailsInfoLwc c3 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
      c3.check = true;
      c3.oldCheck = false;
      c3.hospitalSpecialOffer = true;
      c3.orderdetails1 = coc3;
      c3.orderdetails2 = conOrderDetail1;
      c3.Prod = pro1;
      c3.Boxnumber = 0.00;
      c3.Piecenumber = 0.00;
      c3.allnumber = 1999.00;
      c3.oldConsumableCount = 1999.00;
      c3.canSelect = true;
      c3.sortBy = true;
      c3.packinglist = 1;
      c3.approbation_No = '';
      c3.expiration_Date = Date.Today();
      c3.boxorpiecein = '';
      c3.boxorpiece = null;
      c3.boxorpieceMap = null;
      c3.concc = null;
      c3.BoxPiece = null;
      c3.hosPro = true;
      pageRecords3.add(c3);
      List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords0 = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
      LexSummonsCreatController.ConsumableorderdetailsInfoLwc c001 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
      c001.check = true;
      c001.oldCheck = true;
      c001.hospitalSpecialOffer = true;
      c001.orderdetails1 = coc3;
      c001.orderdetails2 = conOrderDetail1;
      c001.Prod = pro1;
      c001.Boxnumber = 0.00;
      c001.Piecenumber = 0.00;
      c001.allnumber = 1999.00;
      c001.oldConsumableCount = 1999.00;
      c001.canSelect = true;
      c001.sortBy = true;
      c001.packinglist = 1;
      c001.approbation_No = '';
      c001.expiration_Date = Date.Today();
      c001.boxorpiecein = '';
      c001.boxorpiece = null;
      c001.boxorpieceMap = null;
      c001.concc = null;
      c001.BoxPiece = null;
      c001.hosPro = true;
      pageRecords0.add(c001);
      List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords4 = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
      LexSummonsCreatController.ConsumableorderdetailsInfoLwc c4 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
      c4.check = true;
      c4.oldCheck = true;
      c4.hospitalSpecialOffer = true;
      c4.orderdetails1 = coc2;
      c4.orderdetails2 = conOrderDetail1;
      c4.Prod = pro1;
      c4.Boxnumber = 0.00;
      c4.Piecenumber = 0.00;
      c4.allnumber = 1999.00;
      c4.oldConsumableCount = 1999.00;
      c4.canSelect = true;
      c4.sortBy = true;
      c4.packinglist = 1;
      c4.approbation_No = '';
      c4.expiration_Date = Date.Today();
      c4.boxorpiecein = '';
      c4.boxorpiece = null;
      c4.boxorpieceMap = null;
      c4.concc = null;
      c4.BoxPiece = null;
      c4.hosPro = true;
      pageRecords4.add(c4);
      List<LexSummonsCreatController.ConsumableorderdetailsInfo> consumable = new List<LexSummonsCreatController.ConsumableorderdetailsInfo>();
      LexSummonsCreatController.ConsumableorderdetailsInfo codi = new LexSummonsCreatController.ConsumableorderdetailsInfo();
      codi.check = true;
      codi.hospitalSpecialOffer = true;
      codi.packinglist = 0;
      codi.approbation_No = null;
      codi.expiration_Date = Date.Today();
      codi.boxorpiecein = null;
      codi.orderdetails1 = coc;
      codi.Prod = pro1;
      consumable.add(codi);
      System.Test.startTest();
      LexSummonsCreatController.save(
        createIdSend,
        '',
        '',
        '',
        pageRecords,
        accountId,
        createIdSend.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend,
        '',
        '',
        '',
        pageRecords1,
        accountId,
        createIdSend.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend,
        '',
        '',
        '',
        pageRecords2,
        accountId,
        createIdSend.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend,
        '',
        '',
        '',
        pageRecords3,
        accountId,
        createIdSend.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend,
        '',
        '',
        '',
        pageRecords0,
        accountId,
        createIdSend.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend,
        '',
        '',
        '',
        pageRecords4,
        accountId,
        createIdSend.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      System.Test.stopTest();
    }
  }
  @isTest
  static void testSaveMethod1() {
    Account accountItem1;
    Account accountItem2;
    User userTest;
    String rectCo = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName()
      .get('Agency')
      .getRecordTypeId();
    String rectHp = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName()
      .get('HP')
      .getRecordTypeId();
    Profile prof = [
      SELECT Id
      FROM Profile
      WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
    ];
    accountItem1 = new Account(
      Name = 'Testaccount001',
      RecordTypeId = rectCo,
      AgentCode_Ext__c = '9999900'
    );
    insert accountItem1;
    accountItem2 = new Account(
      Name = 'Testaccount002',
      RecordTypeId = rectHp,
      AgentCode_Ext__c = '9999999',
      ParentId = accountItem1.Id,
      Contract_Decide_Start_Date__c = Date.today(),
      ENG_Dealer__c = true,
      BillingCity = null
    );
    insert accountItem2;
    Contact core = new Contact(
      email = 'jplumber@salesforce.com',
      firstname = 'Joe',
      lastname = 'Plumber',
      accountId = accountItem1.Id
    );
    insert core;
    System.runAs(new user(ID = UserInfo.getUserID())) {
      userTest = new User(
        ContactId = core.id,
        Alias = 'newUser',
        Email = 'newuser@testorg.com',
        EmailEncodingKey = 'UTF-8',
        LastName = 'TestUser',
        LanguageLocaleKey = 'zh_CN',
        LocaleSidKey = 'zh_CN',
        ProfileId = prof.Id,
        TimeZoneSidKey = 'Asia/Shanghai',
        UserName = 'testUser@testorg.com',
        UserPro_Type__c = 'ENG',
        Work_Location__c = '北京'
      );
      insert userTest;
    }
    System.runAs(userTest) {
      String userId = UserInfo.getUserId();
      User thisUserInfo = [
        SELECT
          accountid,
          UserPro_Type__c,
          ContactId,
          Contact.AccountId,
          Contact.Account.Name,
          Work_Location__c
        FROM User
        WHERE id = :userId
      ];
      String accountId = thisUserInfo.accountid;
      String accountName = thisUserInfo.Contact.Account.Name;
      String agencyProType = thisUserInfo.UserPro_Type__c;
      String userWorkLocation = thisUserInfo.Work_Location__c;
      thisUserInfo.UserPro_Type__c = '';
      update thisUserInfo;
      if (String.isBlank(thisUserInfo.UserPro_Type__c)) {
        agencyProType = 'ET';
      }
      Product2 prod07 = new Product2(
        Name = 'Test07',
        ProductCode = 'Test07',
        Asset_Model_No__c = 'Test07',
        Category3__c = 'Test7',
        Category4__c = 'Test77',
        Category5__c = 'Test777',
        SFDA_Status__c = '有効',
        Intra_Trade_List_RMB_End_Date1__c = Date.Today(),
        Intra_Trade_List_RMB_Date2__c = null,
        Intra_Trade_List_RMB_1__c = 1,
        Dealer_special_Object__c = true,
        Packing_list_manual__c = 1,
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod07 };
      Product2__c pro1 = new Product2__c(
        Name = 'MH-155:白平衡帽',
        OT_CODE_Text__c = 'Test001',
        Product2__c = prod07.Id,
        Category3_text__c = 'test123',
        Category4_text__c = 'test123',
        Category5_text__c = 'test123'
      );
      insert new List<Product2__c>{ pro1 };
      Consumable_order__c createIdSend = new Consumable_order__c();
      createIdSend.Name = 'testMing1';
      createIdSend.Order_status__c = '批准';
      createIdSend.Deliver_date__c = Date.today();
      createIdSend.RecordTypeid = System.Label.RT_ConOrder_Delivery;
      createIdSend.Order_type__c = '订单';
      createIdSend.Order_ProType__c = 'ENG';
      createIdSend.SummonsForDirction__c = '测试0001';
      createIdSend.Order_ForDealerText__c = 'Testaccount003';
      createIdSend.Order_ForCustomerText__c = 'Test000';
      createIdSend.SummonsStatus_c__c = '批准';
      createIdSend.Dealer_Info__c = accountItem1.Id;
      createIdSend.Delivery_detail_count__c = 5;
      Consumable_order__c createIdSend1 = new Consumable_order__c();
      createIdSend1.Name = 'testMing2';
      createIdSend1.Order_status__c = '批准';
      createIdSend1.Deliver_date__c = Date.today();
      createIdSend1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
      createIdSend1.Order_type__c = '订单';
      createIdSend1.Order_ProType__c = 'ENG';
      createIdSend1.SummonsForDirction__c = '销售给二级经销商';
      createIdSend1.Order_ForDealerText__c = 'Testaccount003';
      createIdSend1.Order_ForCustomerText__c = 'Test000';
      createIdSend1.SummonsStatus_c__c = '价格未定';
      createIdSend1.Dealer_Info__c = accountItem1.Id;
      createIdSend1.Delivery_detail_count__c = 5;
      insert new List<Consumable_order__c>{ createIdSend, createIdSend1 };
      Consumable_orderdetails__c coc = new Consumable_orderdetails__c();
      coc.Name = 'Too001';
      coc.Dealer_Custom_Price__c = 999.00;
      coc.Consumable_count__c = 3;
      coc.Consumable_product__c = pro1.Id;
      coc.Box_Piece__c = '个';
      coc.isOutPattern__c = true;
      coc.Consumable_order__c = createIdSend.Id;
      coc.Unitprice_To_agency__c = 999.00;
      coc.Delivery_List_RMB__c = 999.00;
      coc.Shipment_Count__c = 9999.00;
      coc.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
      Consumable_orderdetails__c coc1 = new Consumable_orderdetails__c();
      coc1.Name = 'Too002';
      coc1.Dealer_Custom_Price__c = 999.00;
      coc1.Consumable_count__c = 3;
      coc1.Consumable_product__c = pro1.Id;
      coc1.Box_Piece__c = '个';
      coc1.isOutPattern__c = true;
      coc1.Consumable_order__c = createIdSend.Id;
      coc1.Unitprice_To_agency__c = 999.00;
      coc1.Delivery_List_RMB__c = 999.00;
      coc1.Shipment_Count__c = null;
      coc1.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
      Consumable_orderdetails__c coc2 = new Consumable_orderdetails__c();
      coc2.Name = 'Too003';
      coc2.Dealer_Custom_Price__c = 999.00;
      coc2.Consumable_count__c = 3;
      coc2.Consumable_product__c = pro1.Id;
      coc2.Box_Piece__c = '个';
      coc2.isOutPattern__c = true;
      coc2.Consumable_order__c = createIdSend.Id;
      coc2.Unitprice_To_agency__c = 999.00;
      coc2.Delivery_List_RMB__c = 0;
      coc2.Shipment_Count__c = 100.00;
      coc2.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
      Consumable_orderdetails__c coc3 = new Consumable_orderdetails__c();
      coc3.Name = 'Too004';
      coc3.Dealer_Custom_Price__c = 999.00;
      coc3.Consumable_count__c = 3;
      coc3.Consumable_product__c = pro1.Id;
      coc3.Box_Piece__c = '';
      coc3.isOutPattern__c = true;
      coc3.Consumable_order__c = createIdSend1.Id;
      coc3.Unitprice_To_agency__c = 999.00;
      coc3.Delivery_List_RMB__c = 0.00;
      coc3.Shipment_Count__c = 9999.00;
      coc3.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
      Consumable_orderdetails__c coc4 = new Consumable_orderdetails__c();
      coc4.Name = 'Too005';
      coc4.Dealer_Custom_Price__c = 999.00;
      coc4.Consumable_count__c = 3;
      coc4.Consumable_product__c = pro1.Id;
      coc4.Box_Piece__c = '';
      coc4.isOutPattern__c = true;
      coc4.Consumable_order__c = createIdSend1.Id;
      coc4.Unitprice_To_agency__c = 999.00;
      coc4.Delivery_List_RMB__c = 9999.00;
      coc4.Shipment_Count__c = 100.00;
      coc4.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
      Consumable_orderdetails__c coc5 = new Consumable_orderdetails__c();
      coc5.Name = 'Too006';
      coc5.Dealer_Custom_Price__c = 999.00;
      coc5.Consumable_count__c = 3;
      coc5.Consumable_product__c = pro1.Id;
      coc5.Box_Piece__c = '盒';
      coc5.isOutPattern__c = true;
      coc5.Consumable_order__c = createIdSend1.Id;
      coc5.Unitprice_To_agency__c = 999.00;
      coc5.Delivery_List_RMB__c = 9999.00;
      coc5.Shipment_Count__c = 9999.00;
      coc5.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
      Consumable_orderdetails__c coc6 = new Consumable_orderdetails__c();
      coc6.Name = 'Too007';
      coc6.Dealer_Custom_Price__c = 999.00;
      coc6.Consumable_count__c = 3;
      coc6.Consumable_product__c = pro1.Id;
      coc6.Box_Piece__c = '个';
      coc6.isOutPattern__c = true;
      coc6.Consumable_order__c = createIdSend1.Id;
      coc6.Unitprice_To_agency__c = 999.00;
      coc6.Delivery_List_RMB__c = 9999.00;
      coc6.Shipment_Count__c = 9999.00;
      coc6.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
      Consumable_orderdetails__c coc7 = new Consumable_orderdetails__c();
      coc7.Name = 'Too008';
      coc7.Dealer_Custom_Price__c = 999.00;
      coc7.Consumable_count__c = 3;
      coc7.Consumable_product__c = pro1.Id;
      coc7.Box_Piece__c = '盒';
      coc7.isOutPattern__c = true;
      coc7.Consumable_order__c = createIdSend1.Id;
      coc7.Unitprice_To_agency__c = 999.00;
      coc7.Delivery_List_RMB__c = 100;
      coc7.Shipment_Count__c = 0;
      coc7.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
      insert new List<Consumable_orderdetails__c>{
        coc,
        coc1,
        coc2,
        coc3,
        coc4,
        coc5,
        coc6,
        coc7
      };
      Consumable_order_details2__c conOrderDetail1 = new Consumable_order_details2__c();
      conOrderDetail1.Name = 'OCM_01_001001';
      conOrderDetail1.Consumable_ZS_order__c = createIdSend.Id;
      conOrderDetail1.Consumable_Product__c = pro1.Id;
      conOrderDetail1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
      conOrderDetail1.Bar_Code__c = '11111';
      conOrderDetail1.Arrive_date__c = Date.today().addDays(1);
      conOrderDetail1.Send_Date__c = null;
      conOrderDetail1.Used_date__c = null;
      conOrderDetail1.Return_date__c = null;
      conOrderDetail1.Consumable_order_minor__c = createIdSend.Id;
      conOrderDetail1.Lose_Flag__c = false;
      conOrderDetail1.Cancellation_Flag__c = false;
      conOrderDetail1.Box_Piece__c = '盒';
      conOrderDetail1.Sterilization_limit__c = Date.Today();
      insert new List<Consumable_order_details2__c>{ conOrderDetail1 };
      List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
      LexSummonsCreatController.ConsumableorderdetailsInfoLwc c0 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
      c0.check = true;
      c0.oldCheck = false;
      c0.hospitalSpecialOffer = true;
      c0.orderdetails1 = coc;
      c0.orderdetails2 = conOrderDetail1;
      c0.Prod = pro1;
      c0.Boxnumber = 0.00;
      c0.Piecenumber = 0.00;
      c0.allnumber = 1999.00;
      c0.oldConsumableCount = 1999.00;
      c0.canSelect = true;
      c0.sortBy = true;
      c0.packinglist = 1;
      c0.approbation_No = '';
      c0.expiration_Date = Date.Today();
      c0.boxorpiecein = '';
      c0.boxorpiece = null;
      c0.boxorpieceMap = null;
      c0.concc = null;
      c0.BoxPiece = null;
      c0.hosPro = true;
      pageRecords.add(c0);
      List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords1 = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
      LexSummonsCreatController.ConsumableorderdetailsInfoLwc c1 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
      c1.check = true;
      c1.oldCheck = true;
      c1.hospitalSpecialOffer = true;
      c1.orderdetails1 = coc;
      c1.orderdetails2 = conOrderDetail1;
      c1.Prod = pro1;
      c1.Boxnumber = 0.00;
      c1.Piecenumber = 0.00;
      c1.allnumber = 1999.00;
      c1.oldConsumableCount = 1999.00;
      c1.canSelect = true;
      c1.sortBy = true;
      c1.packinglist = 1;
      c1.approbation_No = '';
      c1.expiration_Date = Date.Today();
      c1.boxorpiecein = '';
      c1.boxorpiece = null;
      c1.boxorpieceMap = null;
      c1.concc = null;
      c1.BoxPiece = null;
      c1.hosPro = true;
      pageRecords1.add(c1);
      List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords2 = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
      LexSummonsCreatController.ConsumableorderdetailsInfoLwc c2 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
      c2.check = true;
      c2.oldCheck = false;
      c2.hospitalSpecialOffer = true;
      c2.orderdetails1 = coc1;
      c2.orderdetails2 = conOrderDetail1;
      c2.Prod = pro1;
      c2.Boxnumber = 0.00;
      c2.Piecenumber = 0.00;
      c2.allnumber = 1999.00;
      c2.oldConsumableCount = 1999.00;
      c2.canSelect = true;
      c2.sortBy = true;
      c2.packinglist = 1;
      c2.approbation_No = '';
      c2.expiration_Date = Date.Today();
      c2.boxorpiecein = '';
      c2.boxorpiece = null;
      c2.boxorpieceMap = null;
      c2.concc = null;
      c2.BoxPiece = null;
      c2.hosPro = true;
      pageRecords2.add(c2);
      List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords3 = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
      LexSummonsCreatController.ConsumableorderdetailsInfoLwc c3 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
      c3.check = true;
      c3.oldCheck = true;
      c3.hospitalSpecialOffer = true;
      c3.orderdetails1 = coc2;
      c3.orderdetails2 = conOrderDetail1;
      c3.Prod = pro1;
      c3.Boxnumber = 0.00;
      c3.Piecenumber = 0.00;
      c3.allnumber = 199999.00;
      c3.oldConsumableCount = 1999.00;
      c3.canSelect = true;
      c3.sortBy = true;
      c3.packinglist = 1;
      c3.approbation_No = '';
      c3.expiration_Date = Date.Today();
      c3.boxorpiecein = '';
      c3.boxorpiece = null;
      c3.boxorpieceMap = null;
      c3.concc = null;
      c3.BoxPiece = null;
      c3.hosPro = true;
      pageRecords3.add(c3);
      List<LexSummonsCreatController.ConsumableorderdetailsInfo> consumable = new List<LexSummonsCreatController.ConsumableorderdetailsInfo>();
      LexSummonsCreatController.ConsumableorderdetailsInfo codi = new LexSummonsCreatController.ConsumableorderdetailsInfo();
      codi.check = true;
      codi.hospitalSpecialOffer = true;
      codi.packinglist = 0;
      codi.approbation_No = null;
      codi.expiration_Date = Date.Today();
      codi.boxorpiecein = null;
      codi.orderdetails1 = coc;
      codi.Prod = pro1;
      consumable.add(codi);
      System.Test.startTest();
      LexSummonsCreatController.save(
        createIdSend,
        '',
        '',
        '',
        pageRecords,
        accountId,
        createIdSend.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend,
        '',
        '',
        '',
        pageRecords1,
        accountId,
        createIdSend.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend,
        '',
        '',
        '',
        pageRecords2,
        accountId,
        createIdSend.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend,
        '',
        '',
        '',
        pageRecords3,
        accountId,
        createIdSend.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      System.Test.stopTest();
    }
  }
  @isTest
  static void testSave() {
    Account accountItem1;
    Account accountItem2;
    User userTest;
    String rectCo = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName()
      .get('Agency')
      .getRecordTypeId();
    String rectHp = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName()
      .get('HP')
      .getRecordTypeId();
    Profile prof = [
      SELECT Id
      FROM Profile
      WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
    ];
    accountItem1 = new Account(
      Name = 'Testaccount001',
      RecordTypeId = rectCo,
      AgentCode_Ext__c = '9999900',
      Contract_Decide_Start_Date__c = Date.today(),
      ENG_Dealer__c = true
    );
    insert accountItem1;
    accountItem2 = new Account(
      Name = 'Testaccount002',
      RecordTypeId = rectHp,
      AgentCode_Ext__c = '9999999',
      ParentId = accountItem1.Id
    );
    insert accountItem2;
    Contact core = new Contact(
      email = 'jplumber@salesforce.com',
      firstname = 'Joe',
      lastname = 'Plumber',
      accountId = accountItem1.Id
    );
    insert core;
    System.runAs(new user(ID = UserInfo.getUserID())) {
      userTest = new User(
        ContactId = core.id,
        Alias = 'newUser',
        Email = 'newuser@testorg.com',
        EmailEncodingKey = 'UTF-8',
        LastName = 'TestUser',
        LanguageLocaleKey = 'zh_CN',
        LocaleSidKey = 'zh_CN',
        ProfileId = prof.Id,
        TimeZoneSidKey = 'Asia/Shanghai',
        UserName = 'testUser@testorg.com',
        UserPro_Type__c = 'ENG',
        Work_Location__c = '北京'
      );
      insert userTest;
    }
    System.runAs(userTest) {
      String userId = UserInfo.getUserId();
      User thisUserInfo = [
        SELECT
          accountid,
          UserPro_Type__c,
          ContactId,
          Contact.AccountId,
          Contact.Account.Name,
          Work_Location__c
        FROM User
        WHERE id = :userId
      ];
      String accountId = thisUserInfo.accountid;
      String accountName = thisUserInfo.Contact.Account.Name;
      String agencyProType = thisUserInfo.UserPro_Type__c;
      String userWorkLocation = thisUserInfo.Work_Location__c;
      thisUserInfo.UserPro_Type__c = '';
      update thisUserInfo;
      if (String.isBlank(thisUserInfo.UserPro_Type__c)) {
        agencyProType = 'ET';
      }
      Product2 prod07 = new Product2(
        Name = 'Test07',
        ProductCode = 'Test07',
        Asset_Model_No__c = 'Test07',
        Category3__c = 'Test7',
        Category4__c = 'Test77',
        Category5__c = 'Test777',
        SFDA_Status__c = '有効',
        Dealer_special_Object__c = true,
        Packing_list_manual__c = 1,
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod07 };
      Product2__c pro1 = new Product2__c(
        Name = 'MH-155:白平衡帽',
        OT_CODE_Text__c = 'Test001',
        Product2__c = prod07.Id,
        Category3_text__c = 'test123',
        Category4_text__c = 'test123',
        Category5_text__c = 'test123'
      );
      insert new List<Product2__c>{ pro1 };
      Consumable_order__c createIdSend = new Consumable_order__c();
      createIdSend.Name = 'testMing1';
      createIdSend.Order_status__c = '批准';
      createIdSend.Deliver_date__c = Date.today();
      createIdSend.RecordTypeid = System.Label.RT_ConOrder_Delivery;
      createIdSend.Order_type__c = '订单';
      createIdSend.Order_ProType__c = 'ENG';
      createIdSend.SummonsForDirction__c = 'Test123456';
      createIdSend.Order_ForDealerText__c = '';
      createIdSend.Order_ForDealer__c = accountItem1.Id;
      createIdSend.Order_ForCustomerText__c = '';
      createIdSend.SummonsStatus_c__c = '批准';
      createIdSend.Dealer_Info__c = accountItem1.Id;
      createIdSend.Delivery_detail_count__c = 5;
      Consumable_order__c createIdSend1 = new Consumable_order__c();
      createIdSend.Name = 'testMing1';
      createIdSend.Order_status__c = '批准';
      createIdSend.Deliver_date__c = Date.today();
      createIdSend.RecordTypeid = System.Label.RT_ConOrder_Delivery;
      createIdSend.Order_type__c = '订单';
      createIdSend.Order_ProType__c = 'ENG';
      createIdSend.SummonsForDirction__c = '互相调货';
      createIdSend.Order_ForDealerText__c = 'Test';
      createIdSend.Order_ForDealer__c = accountItem1.Id;
      createIdSend.Order_ForCustomerText__c = '';
      createIdSend.SummonsStatus_c__c = '';
      createIdSend.Dealer_Info__c = accountItem1.Id;
      createIdSend.Delivery_detail_count__c = 5;
      Consumable_order__c createIdSend2 = new Consumable_order__c();
      createIdSend2.Name = 'testMing1';
      createIdSend2.Order_status__c = '批准';
      createIdSend2.Deliver_date__c = Date.today();
      createIdSend2.RecordTypeid = System.Label.RT_ConOrder_Delivery;
      createIdSend2.Order_type__c = '订单';
      createIdSend2.Order_ProType__c = 'ENG';
      createIdSend2.SummonsForDirction__c = '直接销售给医院';
      createIdSend2.Order_ForDealerText__c = '';
      createIdSend2.Order_ForDealer__c = accountItem1.Id;
      createIdSend2.Order_ForCustomerText__c = '';
      createIdSend2.SummonsStatus_c__c = '价格未定';
      createIdSend2.Dealer_Info__c = accountItem1.Id;
      createIdSend2.Delivery_detail_count__c = 5;
      insert new List<Consumable_order__c>{
        createIdSend,
        createIdSend1,
        createIdSend2
      };
      Consumable_orderdetails__c coc = new Consumable_orderdetails__c();
      coc.Name = 'Too001';
      coc.Dealer_Custom_Price__c = 999.00;
      coc.Consumable_count__c = 3;
      coc.Consumable_product__c = pro1.Id;
      coc.Box_Piece__c = '盒';
      coc.isOutPattern__c = true;
      coc.Consumable_order__c = createIdSend.Id;
      coc.Unitprice_To_agency__c = 999.00;
      coc.Delivery_List_RMB__c = 999.00;
      coc.Shipment_Count__c = 10000;
      coc.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
      Consumable_orderdetails__c coc1 = new Consumable_orderdetails__c();
      coc1.Name = 'Too001';
      coc1.Dealer_Custom_Price__c = 999.00;
      coc1.Consumable_count__c = 3;
      coc1.Consumable_product__c = pro1.Id;
      coc1.Box_Piece__c = '盒';
      coc1.isOutPattern__c = true;
      coc1.Consumable_order__c = createIdSend.Id;
      coc1.Unitprice_To_agency__c = 999.00;
      coc1.Delivery_List_RMB__c = -999.00;
      coc1.Shipment_Count__c = 10000;
      coc1.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
      Consumable_orderdetails__c coc2 = new Consumable_orderdetails__c();
      coc2.Name = 'Too001';
      coc2.Dealer_Custom_Price__c = 999.00;
      coc2.Consumable_count__c = 3;
      coc2.Consumable_product__c = pro1.Id;
      coc2.Box_Piece__c = '个';
      coc2.isOutPattern__c = true;
      coc2.Consumable_order__c = createIdSend.Id;
      coc2.Unitprice_To_agency__c = 999.00;
      coc2.Delivery_List_RMB__c = null;
      coc2.Shipment_Count__c = 10000;
      coc2.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
      Consumable_orderdetails__c coc3 = new Consumable_orderdetails__c();
      coc3.Name = 'Too001';
      coc3.Dealer_Custom_Price__c = 999.00;
      coc3.Consumable_count__c = 3;
      coc3.Consumable_product__c = pro1.Id;
      coc3.Box_Piece__c = '';
      coc3.isOutPattern__c = true;
      coc3.Consumable_order__c = createIdSend2.Id;
      coc3.Unitprice_To_agency__c = 999.00;
      coc3.Delivery_List_RMB__c = 0;
      coc3.Shipment_Count__c = 10000;
      coc3.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
      Consumable_orderdetails__c coc4 = new Consumable_orderdetails__c();
      coc4.Name = 'Too001';
      coc4.Dealer_Custom_Price__c = 999.00;
      coc4.Consumable_count__c = 3;
      coc4.Consumable_product__c = pro1.Id;
      coc4.Box_Piece__c = '';
      coc4.isOutPattern__c = true;
      coc4.Consumable_order__c = createIdSend2.Id;
      coc4.Unitprice_To_agency__c = 999.00;
      coc4.Delivery_List_RMB__c = 0;
      coc4.Shipment_Count__c = 10000;
      coc4.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
      Consumable_orderdetails__c coc5 = new Consumable_orderdetails__c();
      coc5.Name = 'Too001';
      coc5.Dealer_Custom_Price__c = 999.00;
      coc5.Consumable_count__c = 3;
      coc5.Consumable_product__c = pro1.Id;
      coc5.Box_Piece__c = '盒';
      coc5.isOutPattern__c = true;
      coc5.Consumable_order__c = createIdSend2.Id;
      coc5.Unitprice_To_agency__c = 999.00;
      coc5.Delivery_List_RMB__c = 100;
      coc5.Shipment_Count__c = 10000;
      coc5.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
      insert new List<Consumable_orderdetails__c>{
        coc,
        coc1,
        coc2,
        coc3,
        coc4,
        coc5
      };
      Consumable_order_details2__c conOrderDetail1 = new Consumable_order_details2__c();
      conOrderDetail1.Name = 'OCM_01_001001';
      conOrderDetail1.Consumable_ZS_order__c = createIdSend.Id;
      conOrderDetail1.Consumable_Product__c = pro1.Id;
      conOrderDetail1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
      conOrderDetail1.Bar_Code__c = '11111';
      conOrderDetail1.Arrive_date__c = Date.today().addDays(1);
      conOrderDetail1.Send_Date__c = null;
      conOrderDetail1.Used_date__c = null;
      conOrderDetail1.Return_date__c = null;
      conOrderDetail1.Consumable_order_minor__c = createIdSend.Id;
      conOrderDetail1.Lose_Flag__c = false;
      conOrderDetail1.Box_Piece__c = '盒';
      insert new List<Consumable_order_details2__c>{ conOrderDetail1 };
      hospitalprice__c hp1 = new hospitalprice__c();
      hp1.hospital__c = accountId;
      hp1.account__c = accountId;
      hp1.product__c = pro1.Id;
      insert new List<hospitalprice__c>{ hp1 };
      List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecordsList = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
      LexSummonsCreatController.ConsumableorderdetailsInfoLwc cod = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
      cod.check = true;
      cod.oldCheck = true;
      cod.hospitalSpecialOffer = true;
      cod.orderdetails1 = coc;
      cod.orderdetails2 = conOrderDetail1;
      cod.Prod = pro1;
      cod.Boxnumber = 0.00;
      cod.Piecenumber = 0.00;
      cod.allnumber = 1999.00;
      cod.oldConsumableCount = 1999.00;
      cod.canSelect = true;
      cod.sortBy = true;
      cod.packinglist = 1;
      cod.approbation_No = '';
      cod.expiration_Date = Date.Today();
      cod.boxorpiecein = '';
      cod.boxorpiece = null;
      cod.boxorpieceMap = null;
      cod.concc = null;
      cod.BoxPiece = null;
      cod.hosPro = true;
      pageRecordsList.add(cod);
      List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
      LexSummonsCreatController.ConsumableorderdetailsInfoLwc c7 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
      c7.check = false;
      c7.oldCheck = true;
      c7.hospitalSpecialOffer = false;
      c7.orderdetails1 = coc1;
      c7.orderdetails2 = conOrderDetail1;
      c7.Prod = pro1;
      c7.Boxnumber = 0.00;
      c7.Piecenumber = 0.00;
      c7.allnumber = 1999.00;
      c7.oldConsumableCount = 1999.00;
      c7.canSelect = true;
      c7.sortBy = true;
      c7.packinglist = 1;
      c7.approbation_No = '';
      c7.expiration_Date = Date.Today();
      c7.boxorpiecein = '';
      c7.boxorpiece = null;
      c7.boxorpieceMap = null;
      c7.concc = null;
      c7.BoxPiece = null;
      c7.hosPro = true;
      pageRecords.add(c7);
      List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords2 = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
      LexSummonsCreatController.ConsumableorderdetailsInfoLwc c9 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
      c9.check = true;
      c9.oldCheck = true;
      c9.hospitalSpecialOffer = true;
      c9.orderdetails1 = coc3;
      c9.orderdetails2 = conOrderDetail1;
      c9.Prod = pro1;
      c9.Boxnumber = 0.00;
      c9.Piecenumber = 0.00;
      c9.allnumber = 1999.00;
      c9.oldConsumableCount = 1999.00;
      c9.canSelect = true;
      c9.sortBy = true;
      c9.packinglist = 1;
      c9.approbation_No = '';
      c9.expiration_Date = Date.Today();
      c9.boxorpiecein = '';
      c9.boxorpiece = null;
      c9.boxorpieceMap = null;
      c9.concc = null;
      c9.BoxPiece = null;
      c9.hosPro = true;
      pageRecords2.add(c9);
      List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords3 = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
      LexSummonsCreatController.ConsumableorderdetailsInfoLwc c10 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
      c10.check = true;
      c10.oldCheck = false;
      c10.hospitalSpecialOffer = true;
      c10.orderdetails1 = coc4;
      c10.orderdetails2 = conOrderDetail1;
      c10.Prod = pro1;
      c10.Boxnumber = 0.00;
      c10.Piecenumber = 0.00;
      c10.allnumber = 1999.00;
      c10.oldConsumableCount = 1999.00;
      c10.canSelect = true;
      c10.sortBy = true;
      c10.packinglist = 1;
      c10.approbation_No = '';
      c10.expiration_Date = Date.Today();
      c10.boxorpiecein = '';
      c10.boxorpiece = null;
      c10.boxorpieceMap = null;
      c10.concc = null;
      c10.BoxPiece = null;
      c10.hosPro = true;
      pageRecords3.add(c10);
      List<LexSummonsCreatController.ConsumableorderdetailsInfo> consumable = new List<LexSummonsCreatController.ConsumableorderdetailsInfo>();
      LexSummonsCreatController.ConsumableorderdetailsInfo codi = new LexSummonsCreatController.ConsumableorderdetailsInfo();
      codi.check = true;
      codi.oldCheck = true;
      codi.hospitalSpecialOffer = true;
      codi.packinglist = 0;
      codi.approbation_No = null;
      codi.expiration_Date = Date.Today();
      codi.boxorpiecein = null;
      codi.orderdetails1 = coc;
      codi.Prod = pro1;
      consumable.add(codi);
      List<LexSummonsCreatController.ConsumableorderdetailsInfo> consumableList = new List<LexSummonsCreatController.ConsumableorderdetailsInfo>();
      LexSummonsCreatController.ConsumableorderdetailsInfo codi1 = new LexSummonsCreatController.ConsumableorderdetailsInfo();
      codi1.check = false;
      codi1.oldCheck = true;
      codi1.hospitalSpecialOffer = false;
      codi1.packinglist = 0;
      codi1.approbation_No = null;
      codi1.expiration_Date = Date.Today();
      codi1.boxorpiecein = null;
      codi1.orderdetails1 = coc;
      codi1.Prod = pro1;
      consumableList.add(codi1);
      Integer size = Integer.valueOf(System.Label.orderdetLimitsize);
      String ESetId = createIdSend.Id;
      String statusEdit = 'Test';
      String arrive = createIdSend.Id;
      System.Test.startTest();
      LexSummonsCreatController.firstInit(ESetId);
      LexSummonsCreatController.init(ESetId, statusEdit, 1, 100, arrive);
      LexSummonsCreatController.init(ESetId, null, 1, 100, arrive);
      LexSummonsCreatController.GoodsDelivery(
        createIdSend2,
        createIdSend2.Id,
        pageRecords
      );
      LexSummonsCreatController.save(
        createIdSend,
        accountId,
        'Test',
        accountItem1.Id,
        pageRecordsList,
        accountId,
        createIdSend.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend,
        accountId,
        'Test',
        accountItem1.Id,
        pageRecords,
        accountId,
        createIdSend.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend,
        accountId,
        'Test',
        accountItem1.Id,
        null,
        accountId,
        createIdSend.Id,
        null,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend,
        accountId,
        'Test',
        accountItem1.Id,
        pageRecords,
        accountId,
        null,
        consumableList,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend2,
        accountId,
        'Test',
        null,
        pageRecords,
        accountId,
        createIdSend2.Id,
        null,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend2,
        accountId,
        'Test',
        null,
        pageRecords2,
        accountId,
        createIdSend2.Id,
        null,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend2,
        accountId,
        'Test',
        null,
        pageRecords3,
        accountId,
        createIdSend2.Id,
        null,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend1,
        '',
        '',
        accountItem1.Id,
        pageRecords3,
        accountId,
        createIdSend2.Id,
        null,
        agencyProType,
        userWorkLocation
      );
      System.Test.stopTest();
    }
  }
  @isTest
  static void testAttachment() {
    Account accountItem1;
    Account accountItem2;
    User userTest;
    String rectCo = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName()
      .get('Agency')
      .getRecordTypeId();
    String rectHp = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName()
      .get('HP')
      .getRecordTypeId();
    Profile prof = [
      SELECT Id
      FROM Profile
      WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
    ];
    accountItem1 = new Account(
      Name = 'Testaccount001',
      RecordTypeId = rectCo,
      AgentCode_Ext__c = '9999900',
      Contract_Decide_Start_Date__c = Date.today(),
      ENG_Dealer__c = true
    );
    insert accountItem1;
    accountItem2 = new Account(
      Name = 'Testaccount002',
      RecordTypeId = rectHp,
      AgentCode_Ext__c = '9999999',
      ParentId = accountItem1.Id
    );
    insert accountItem2;
    Contact core = new Contact(
      email = 'jplumber@salesforce.com',
      firstname = 'Joe',
      lastname = 'Plumber',
      accountId = accountItem1.Id
    );
    insert core;
    System.runAs(new user(ID = UserInfo.getUserID())) {
      userTest = new User(
        ContactId = core.id,
        Alias = 'newUser',
        Email = 'newuser@testorg.com',
        EmailEncodingKey = 'UTF-8',
        LastName = 'TestUser',
        LanguageLocaleKey = 'zh_CN',
        LocaleSidKey = 'zh_CN',
        ProfileId = prof.Id,
        TimeZoneSidKey = 'Asia/Shanghai',
        UserName = 'testUser@testorg.com',
        UserPro_Type__c = 'ENG',
        Work_Location__c = '北京'
      );
      insert userTest;
    }
    System.runAs(userTest) {
      String userId = UserInfo.getUserId();
      User thisUserInfo = [
        SELECT
          accountid,
          UserPro_Type__c,
          ContactId,
          Contact.AccountId,
          Contact.Account.Name,
          Work_Location__c
        FROM User
        WHERE id = :userId
      ];
      String accountId = thisUserInfo.accountid;
      String accountName = thisUserInfo.Contact.Account.Name;
      String agencyProType = thisUserInfo.UserPro_Type__c;
      String userWorkLocation = thisUserInfo.Work_Location__c;
      thisUserInfo.UserPro_Type__c = '';
      update thisUserInfo;
      if (String.isBlank(thisUserInfo.UserPro_Type__c)) {
        agencyProType = 'ET';
      }
      Product2 prod07 = new Product2(
        Name = 'Test07',
        ProductCode = 'Test07',
        Asset_Model_No__c = 'Test07',
        Category3__c = 'Test7',
        Category4__c = 'Test77',
        Category5__c = 'Test777',
        SFDA_Status__c = '有効',
        Dealer_special_Object__c = true,
        Packing_list_manual__c = 1,
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod07 };
      Product2__c pro1 = new Product2__c(
        Name = 'MH-155:白平衡帽',
        OT_CODE_Text__c = 'Test001',
        Product2__c = prod07.Id,
        Category3_text__c = 'test123',
        Category4_text__c = 'test123',
        Category5_text__c = 'test123'
      );
      insert new List<Product2__c>{ pro1 };
      //发货
      Consumable_order__c createIdSend = new Consumable_order__c();
      createIdSend.Name = 'testMing1';
      createIdSend.Order_status__c = '批准';
      createIdSend.Deliver_date__c = Date.today();
      createIdSend.RecordTypeid = System.Label.RT_ConOrder_Delivery;
      createIdSend.Order_type__c = '订单';
      createIdSend.Order_ProType__c = 'ENG';
      createIdSend.SummonsForDirction__c = '直接销售给医院';
      createIdSend.Order_ForDealerText__c = 'Test';
      createIdSend.Order_ForCustomerText__c = 'Test';
      createIdSend.SummonsStatus_c__c = '批准';
      createIdSend.Dealer_Info__c = accountItem1.Id;
      createIdSend.Delivery_detail_count__c = 5;
      Consumable_order__c createIdSend1 = new Consumable_order__c();
      createIdSend1.Name = 'testMing1';
      createIdSend1.Order_status__c = '批准';
      createIdSend1.Deliver_date__c = Date.today();
      createIdSend1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
      createIdSend1.Order_type__c = '订单';
      createIdSend1.Order_ProType__c = 'ENG';
      createIdSend1.SummonsForDirction__c = '医院试用';
      createIdSend1.Order_ForDealerText__c = 'Test';
      createIdSend1.Order_ForCustomerText__c = '';
      createIdSend1.SummonsStatus_c__c = '批准';
      createIdSend1.Dealer_Info__c = accountItem1.Id;
      createIdSend1.Delivery_detail_count__c = 5;
      Consumable_order__c createIdSend2 = new Consumable_order__c();
      createIdSend2.Name = 'testMing1';
      createIdSend2.Order_status__c = '批准';
      createIdSend2.Deliver_date__c = Date.today();
      createIdSend2.RecordTypeid = System.Label.RT_ConOrder_Delivery;
      createIdSend2.Order_type__c = '订单';
      createIdSend2.Order_ProType__c = 'ENG';
      createIdSend2.SummonsForDirction__c = '互相调货';
      createIdSend2.Order_ForDealerText__c = '';
      createIdSend2.Order_ForCustomerText__c = 'Test';
      createIdSend2.SummonsStatus_c__c = '批准';
      createIdSend2.Dealer_Info__c = accountItem1.Id;
      createIdSend2.Delivery_detail_count__c = 5;
      insert new List<Consumable_order__c>{
        createIdSend,
        createIdSend1,
        createIdSend2
      };
      Consumable_orderdetails__c coc = new Consumable_orderdetails__c();
      coc.Name = 'Too001';
      coc.Dealer_Custom_Price__c = 999.00;
      coc.Consumable_count__c = 3;
      coc.Consumable_product__c = pro1.Id;
      coc.Box_Piece__c = '盒';
      coc.isOutPattern__c = true;
      coc.Consumable_order__c = createIdSend.Id;
      coc.Unitprice_To_agency__c = 999.00;
      coc.Delivery_List_RMB__c = 999.00;
      coc.Shipment_Count__c = null;
      coc.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
      Consumable_orderdetails__c coc2 = new Consumable_orderdetails__c();
      coc2.Name = 'Too001';
      coc2.Dealer_Custom_Price__c = 999.00;
      coc2.Consumable_count__c = 3;
      coc2.Consumable_product__c = pro1.Id;
      coc2.Box_Piece__c = '个';
      coc2.isOutPattern__c = true;
      coc2.Consumable_order__c = createIdSend.Id;
      coc2.Unitprice_To_agency__c = 999.00;
      coc2.Delivery_List_RMB__c = 0;
      coc2.Shipment_Count__c = 0;
      coc2.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
      insert new List<Consumable_orderdetails__c>{ coc, coc2 };
      Consumable_order_details2__c conOrderDetail1 = new Consumable_order_details2__c();
      conOrderDetail1.Name = 'OCM_01_001001';
      conOrderDetail1.Consumable_ZS_order__c = createIdSend.Id;
      conOrderDetail1.Consumable_Product__c = pro1.Id;
      conOrderDetail1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
      conOrderDetail1.Bar_Code__c = '11111';
      conOrderDetail1.Arrive_date__c = Date.today().addDays(1);
      conOrderDetail1.Send_Date__c = null;
      conOrderDetail1.Used_date__c = null;
      conOrderDetail1.Return_date__c = null;
      conOrderDetail1.Consumable_order_minor__c = createIdSend.Id;
      conOrderDetail1.Lose_Flag__c = false;
      conOrderDetail1.Box_Piece__c = '盒';
      insert new List<Consumable_order_details2__c>{ conOrderDetail1 };
      hospitalprice__c hp1 = new hospitalprice__c();
      hp1.hospital__c = accountId;
      hp1.account__c = accountId;
      hp1.product__c = pro1.Id;
      insert new List<hospitalprice__c>{ hp1 };
      Attachment attach = new Attachment();
      attach.Name = 'A-65224941-20200923--1.docx';
      Blob bodyBlob = Blob.valueOf('Unit Test Attachment Body');
      attach.body = bodyBlob;
      attach.ParentId = createIdSend.id;
      attach.ContentType = 'application/pdf';
      insert new List<Attachment>{ attach };
      System.Test.startTest();
      List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecordsLwcLwc = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
      LexSummonsCreatController.ConsumableorderdetailsInfoLwc c5 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
      c5.check = true;
      c5.hospitalSpecialOffer = true;
      c5.orderdetails1 = coc;
      c5.allnumber = 1999.00;
      pageRecordsLwcLwc.add(c5);
      List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecordsList = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
      LexSummonsCreatController.ConsumableorderdetailsInfoLwc c8 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
      c8.check = true;
      c8.hospitalSpecialOffer = true;
      c8.orderdetails1 = coc2;
      c8.allnumber = 1999.00;
      pageRecordsList.add(c8);
      List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
      LexSummonsCreatController.ConsumableorderdetailsInfoLwc c6 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
      c6.check = false;
      c6.hospitalSpecialOffer = false;
      c6.orderdetails1 = coc;
      c6.allnumber = 1999.00;
      pageRecords.add(c6);
      List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecordsLwc = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
      LexSummonsCreatController.ConsumableorderdetailsInfoLwc c7 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
      c7.check = true;
      c7.oldCheck = true;
      c7.hospitalSpecialOffer = true;
      c7.orderdetails1 = coc;
      c7.orderdetails2 = conOrderDetail1;
      c7.Prod = pro1;
      c7.Boxnumber = 0.00;
      c7.Piecenumber = 0.00;
      c7.allnumber = 1999.00;
      c7.oldConsumableCount = 1999.00;
      c7.canSelect = true;
      c7.sortBy = true;
      c7.packinglist = 1;
      c7.approbation_No = '';
      c7.expiration_Date = Date.Today();
      c7.boxorpiecein = '';
      c7.boxorpiece = null;
      c7.boxorpieceMap = null;
      c7.concc = null;
      c7.BoxPiece = null;
      c7.hosPro = true;
      pageRecordsLwc.add(c7);
      List<LexSummonsCreatController.ConsumableorderdetailsInfo> consumable = new List<LexSummonsCreatController.ConsumableorderdetailsInfo>();
      LexSummonsCreatController.ConsumableorderdetailsInfo codi = new LexSummonsCreatController.ConsumableorderdetailsInfo();
      codi.check = true;
      codi.oldCheck = true;
      codi.hospitalSpecialOffer = true;
      codi.packinglist = 0;
      codi.approbation_No = null;
      codi.expiration_Date = Date.Today();
      codi.boxorpiecein = null;
      codi.orderdetails1 = coc;
      codi.Prod = pro1;
      LexSummonsCreatController.ConsumableorderdetailsInfo codi1 = new LexSummonsCreatController.ConsumableorderdetailsInfo();
      codi1.check = false;
      codi1.oldCheck = true;
      codi1.hospitalSpecialOffer = false;
      codi1.packinglist = 0;
      codi1.approbation_No = null;
      codi1.expiration_Date = Date.Today();
      codi1.boxorpiecein = null;
      codi1.orderdetails1 = coc;
      codi1.Prod = pro1;
      consumable.add(codi);
      Integer size = Integer.valueOf(System.Label.orderdetLimitsize);
      String ESetId = createIdSend.Id;
      String statusEdit = 'Test';
      String arrive = createIdSend.Id;
      LexSummonsCreatController.firstInit(ESetId);
      LexSummonsCreatController.init(ESetId, statusEdit, 1, 100, arrive);
      LexSummonsCreatController.save(
        createIdSend,
        'Test',
        'Test',
        'Test',
        pageRecordsLwc,
        accountId,
        createIdSend.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend1,
        'Test',
        'Test',
        'Test',
        pageRecordsLwc,
        accountId,
        createIdSend1.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend2,
        '',
        '',
        '',
        pageRecordsLwc,
        accountId,
        createIdSend2.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend,
        '',
        '',
        '',
        pageRecordsList,
        accountId,
        null,
        consumable,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.searchConsumableorderdetails(
        agencyProType,
        accountName,
        userWorkLocation,
        'ishos',
        'Test07',
        'Test7',
        'Test77',
        'Test777',
        true,
        pageRecordsLwc,
        consumable,
        '',
        1,
        100
      );
      LexSummonsCreatController.ConsumableorderdetailsInfo con = new LexSummonsCreatController.ConsumableorderdetailsInfo(
        attach
      );
      con.concc = attach;
      con.hospitalSpecialOffer = false;
      con.hosPro = false;
      System.Test.stopTest();
    }
  }
  @isTest
  static void testSave1() {
    Account accountItem1;
    Account accountItem2;
    User userTest;
    String rectCo = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName()
      .get('Agency')
      .getRecordTypeId();
    String rectHp = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName()
      .get('HP')
      .getRecordTypeId();
    Profile prof = [
      SELECT Id
      FROM Profile
      WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
    ];
    accountItem1 = new Account(
      Name = 'Testaccount001',
      RecordTypeId = rectCo,
      AgentCode_Ext__c = '9999900',
      Contract_Decide_Start_Date__c = Date.today(),
      ENG_Dealer__c = true
    );
    insert accountItem1;
    accountItem2 = new Account(
      Name = 'Testaccount002',
      RecordTypeId = rectHp,
      AgentCode_Ext__c = '9999999',
      ParentId = accountItem1.Id
    );
    insert accountItem2;
    Contact core = new Contact(
      email = 'jplumber@salesforce.com',
      firstname = 'Joe',
      lastname = 'Plumber',
      accountId = accountItem1.Id
    );
    insert core;
    System.runAs(new user(ID = UserInfo.getUserID())) {
      userTest = new User(
        ContactId = core.id,
        Alias = 'newUser',
        Email = 'newuser@testorg.com',
        EmailEncodingKey = 'UTF-8',
        LastName = 'TestUser',
        LanguageLocaleKey = 'zh_CN',
        LocaleSidKey = 'zh_CN',
        ProfileId = prof.Id,
        TimeZoneSidKey = 'Asia/Shanghai',
        UserName = 'testUser@testorg.com',
        UserPro_Type__c = 'ENG',
        Work_Location__c = '北京'
      );
      insert userTest;
    }
    System.runAs(userTest) {
      String userId = UserInfo.getUserId();
      User thisUserInfo = [
        SELECT
          accountid,
          UserPro_Type__c,
          ContactId,
          Contact.AccountId,
          Contact.Account.Name,
          Work_Location__c
        FROM User
        WHERE id = :userId
      ];
      String accountId = thisUserInfo.accountid;
      String accountName = thisUserInfo.Contact.Account.Name;
      String agencyProType = thisUserInfo.UserPro_Type__c;
      String userWorkLocation = thisUserInfo.Work_Location__c;
      thisUserInfo.UserPro_Type__c = '';
      update thisUserInfo;
      if (String.isBlank(thisUserInfo.UserPro_Type__c)) {
        agencyProType = 'ET';
      }
      Product2 prod07 = new Product2(
        Name = 'Test07',
        ProductCode = 'Test07',
        Asset_Model_No__c = 'Test07',
        Category3__c = 'Test7',
        Category4__c = 'Test77',
        Category5__c = 'Test777',
        SFDA_Status__c = '有効',
        Dealer_special_Object__c = true,
        Packing_list_manual__c = 1,
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod07 };
      Product2__c pro1 = new Product2__c(
        Name = 'MH-155:白平衡帽',
        OT_CODE_Text__c = 'Test001',
        Product2__c = prod07.Id,
        Category3_text__c = 'test123',
        Category4_text__c = 'test123',
        Category5_text__c = 'test123'
      );
      insert new List<Product2__c>{ pro1 };
      Consumable_order__c createIdSend = new Consumable_order__c();
      createIdSend.Name = 'testMing1';
      createIdSend.Order_status__c = '批准';
      createIdSend.Deliver_date__c = Date.today();
      createIdSend.RecordTypeid = System.Label.RT_ConOrder_Delivery;
      createIdSend.Order_type__c = '订单';
      createIdSend.Order_ProType__c = 'ENG';
      createIdSend.SummonsForDirction__c = '互相调货';
      createIdSend.Order_ForDealerText__c = '';
      createIdSend.Order_ForCustomerText__c = '';
      createIdSend.SummonsStatus_c__c = '';
      createIdSend.Dealer_Info__c = accountItem1.Id;
      createIdSend.Delivery_detail_count__c = 5;
      Consumable_order__c createIdSend1 = new Consumable_order__c();
      createIdSend1.Name = 'testMing1';
      createIdSend1.Order_status__c = '批准';
      createIdSend1.Deliver_date__c = Date.today();
      createIdSend1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
      createIdSend1.Order_type__c = '订单';
      createIdSend1.Order_ProType__c = 'ENG';
      createIdSend1.SummonsForDirction__c = '互相调货';
      createIdSend1.Order_ForDealerText__c = '';
      createIdSend1.Order_ForCustomerText__c = '';
      createIdSend1.SummonsStatus_c__c = '';
      createIdSend1.Arrive_Order__c = createIdSend.Id;
      createIdSend1.Order_ForDealerTextID__c = accountItem1.Id;
      createIdSend1.Dealer_Info__c = accountItem1.Id;
      createIdSend1.Delivery_detail_count__c = 5;
      insert new List<Consumable_order__c>{ createIdSend, createIdSend1 };
      Consumable_orderdetails__c coc = new Consumable_orderdetails__c();
      coc.Name = 'Too001';
      coc.Dealer_Custom_Price__c = 999.00;
      coc.Consumable_count__c = 3;
      coc.Consumable_product__c = pro1.Id;
      coc.Box_Piece__c = '盒';
      coc.isOutPattern__c = true;
      coc.Consumable_order__c = createIdSend.Id;
      coc.Unitprice_To_agency__c = 999.00;
      coc.Delivery_List_RMB__c = 999.00;
      coc.Shipment_Count__c = null;
      coc.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
      Consumable_orderdetails__c coc1 = new Consumable_orderdetails__c();
      coc1.Name = 'Too001';
      coc1.Dealer_Custom_Price__c = 999.00;
      coc1.Consumable_count__c = 3;
      coc1.Consumable_product__c = pro1.Id;
      coc1.Box_Piece__c = '盒';
      coc1.isOutPattern__c = true;
      coc1.Consumable_order__c = createIdSend.Id;
      coc1.Unitprice_To_agency__c = 999.00;
      coc1.Delivery_List_RMB__c = null;
      coc1.Shipment_Count__c = 10000;
      coc1.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
      insert new List<Consumable_orderdetails__c>{ coc, coc1 };
      Consumable_order_details2__c conOrderDetail1 = new Consumable_order_details2__c();
      conOrderDetail1.Name = 'OCM_01_001001';
      conOrderDetail1.Consumable_ZS_order__c = createIdSend.Id;
      conOrderDetail1.Consumable_Product__c = pro1.Id;
      conOrderDetail1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
      conOrderDetail1.Bar_Code__c = '11111';
      conOrderDetail1.Arrive_date__c = Date.today().addDays(1);
      conOrderDetail1.Send_Date__c = null;
      conOrderDetail1.Used_date__c = null;
      conOrderDetail1.Return_date__c = null;
      conOrderDetail1.Consumable_order_minor__c = createIdSend.Id;
      conOrderDetail1.Lose_Flag__c = false;
      conOrderDetail1.Box_Piece__c = '盒';
      insert new List<Consumable_order_details2__c>{ conOrderDetail1 };
      hospitalprice__c hp1 = new hospitalprice__c();
      hp1.hospital__c = accountId;
      hp1.account__c = accountId;
      hp1.product__c = pro1.Id;
      insert new List<hospitalprice__c>{ hp1 };
      Integer size = Integer.valueOf(System.Label.orderdetLimitsize);
      String ESetId = createIdSend.Id;
      String statusEdit = 'Test';
      String arrive = createIdSend.Id;
      List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecordsLwc = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
      LexSummonsCreatController.ConsumableorderdetailsInfoLwc c7 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
      c7.check = true;
      c7.oldCheck = true;
      c7.hospitalSpecialOffer = true;
      c7.orderdetails1 = coc;
      c7.orderdetails2 = conOrderDetail1;
      c7.Prod = pro1;
      c7.Boxnumber = 0.00;
      c7.Piecenumber = 0.00;
      c7.allnumber = 1999.00;
      c7.oldConsumableCount = 1999.00;
      c7.canSelect = true;
      c7.sortBy = true;
      c7.packinglist = 1;
      c7.approbation_No = '';
      c7.expiration_Date = Date.Today();
      c7.boxorpiecein = '';
      c7.boxorpiece = null;
      c7.boxorpieceMap = null;
      c7.concc = null;
      c7.BoxPiece = null;
      c7.hosPro = true;
      pageRecordsLwc.add(c7);
      List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords1 = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
      LexSummonsCreatController.ConsumableorderdetailsInfoLwc c8 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
      c8.check = true;
      c8.oldCheck = true;
      c8.hospitalSpecialOffer = true;
      c8.orderdetails1 = coc1;
      c8.orderdetails2 = conOrderDetail1;
      c8.Prod = null;
      c8.Boxnumber = 0.00;
      c8.Piecenumber = 0.00;
      c8.allnumber = 1999.00;
      c8.oldConsumableCount = 1999.00;
      c8.canSelect = true;
      c8.sortBy = true;
      c8.packinglist = 1;
      c8.approbation_No = '';
      c8.expiration_Date = Date.Today();
      c8.boxorpiecein = '';
      c8.boxorpiece = null;
      c8.boxorpieceMap = null;
      c8.concc = null;
      c8.BoxPiece = null;
      c8.hosPro = true;
      pageRecords1.add(c8);
      List<LexSummonsCreatController.ConsumableorderdetailsInfo> consumable = new List<LexSummonsCreatController.ConsumableorderdetailsInfo>();
      LexSummonsCreatController.ConsumableorderdetailsInfo codi = new LexSummonsCreatController.ConsumableorderdetailsInfo();
      codi.check = true;
      codi.oldCheck = true;
      codi.hospitalSpecialOffer = true;
      codi.packinglist = 0;
      codi.approbation_No = null;
      codi.expiration_Date = Date.Today();
      codi.boxorpiecein = null;
      codi.orderdetails1 = coc;
      codi.Prod = pro1;
      LexSummonsCreatController.ConsumableorderdetailsInfo codi1 = new LexSummonsCreatController.ConsumableorderdetailsInfo();
      codi1.check = false;
      codi1.oldCheck = true;
      codi1.hospitalSpecialOffer = false;
      codi1.packinglist = 0;
      codi1.approbation_No = null;
      codi1.expiration_Date = Date.Today();
      codi1.boxorpiecein = null;
      codi1.orderdetails1 = coc;
      codi1.Prod = pro1;
      consumable.add(codi);
      System.Test.startTest();
      LexSummonsCreatController.save(
        createIdSend,
        '',
        '',
        '',
        pageRecordsLwc,
        accountId,
        createIdSend.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend1,
        '',
        '',
        '',
        pageRecordsLwc,
        accountId,
        null,
        consumable,
        agencyProType,
        userWorkLocation
      );
      LexSummonsCreatController.save(
        createIdSend,
        '',
        '',
        '',
        pageRecords1,
        accountId,
        null,
        consumable,
        agencyProType,
        userWorkLocation
      );
      System.Test.stopTest();
    }
  }
  static testMethod void testInnerClass() {
    Account accountItem1;
    Account accountItem2;
    User userTest;
    String rectCo = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName()
      .get('Agency')
      .getRecordTypeId();
    String rectHp = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName()
      .get('HP')
      .getRecordTypeId();
    Profile prof = [
      SELECT Id
      FROM Profile
      WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
    ];
    accountItem1 = new Account(
      Name = 'Testaccount001',
      RecordTypeId = rectCo,
      AgentCode_Ext__c = '9999900'
    );
    insert accountItem1;
    accountItem2 = new Account(
      Name = 'Testaccount002',
      RecordTypeId = rectHp,
      AgentCode_Ext__c = '9999999',
      ParentId = accountItem1.Id,
      Contract_Decide_Start_Date__c = Date.today(),
      ENG_Dealer__c = true,
      BillingCity = null
    );
    insert accountItem2;
    Contact core = new Contact(
      email = 'jplumber@salesforce.com',
      firstname = 'Joe',
      lastname = 'Plumber',
      accountId = accountItem1.Id
    );
    insert core;
    System.runAs(new user(ID = UserInfo.getUserID())) {
      userTest = new User(
        ContactId = core.id,
        Alias = 'newUser',
        Email = 'newuser@testorg.com',
        EmailEncodingKey = 'UTF-8',
        LastName = 'TestUser',
        LanguageLocaleKey = 'zh_CN',
        LocaleSidKey = 'zh_CN',
        ProfileId = prof.Id,
        TimeZoneSidKey = 'Asia/Shanghai',
        UserName = 'testUser@testorg.com',
        UserPro_Type__c = 'ENG',
        Work_Location__c = '北京'
      );
      insert userTest;
    }
    System.runAs(userTest) {
      String userId = UserInfo.getUserId();
      User thisUserInfo = [
        SELECT
          accountid,
          UserPro_Type__c,
          ContactId,
          Contact.AccountId,
          Contact.Account.Name,
          Work_Location__c
        FROM User
        WHERE id = :userId
      ];
      String accountId = thisUserInfo.accountid;
      String accountName = thisUserInfo.Contact.Account.Name;
      String agencyProType = thisUserInfo.UserPro_Type__c;
      String userWorkLocation = thisUserInfo.Work_Location__c;
      thisUserInfo.UserPro_Type__c = '';
      update thisUserInfo;
      if (String.isBlank(thisUserInfo.UserPro_Type__c)) {
        agencyProType = 'ET';
      }
      Product2 prod07 = new Product2(
        Name = 'Test07',
        ProductCode = 'Test07',
        Asset_Model_No__c = 'Test07',
        ProductCode_Ext__c = 'Test07',
        Category3__c = 'Test7',
        Category4__c = 'Test77',
        Category5__c = 'Test777',
        SFDA_Status__c = '有効',
        Dealer_special_Object__c = true,
        Packing_list_manual__c = 1,
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod07 };
      Product2__c pro1 = new Product2__c(
        Name = 'MH-155:白平衡帽',
        OT_CODE_Text__c = 'Test001',
        Product2__c = prod07.Id,
        Category3_text__c = 'test123',
        Category4_text__c = 'test123',
        Category5_text__c = 'test123'
      );
      insert new List<Product2__c>{ pro1 };
      Consumable_order__c createIdSend = new Consumable_order__c();
      createIdSend.Name = 'testMing1';
      createIdSend.Order_status__c = '批准';
      createIdSend.Deliver_date__c = Date.today();
      createIdSend.RecordTypeid = System.Label.RT_ConOrder_Delivery;
      createIdSend.Order_type__c = '订单';
      createIdSend.Order_ProType__c = 'ENG';
      createIdSend.SummonsForDirction__c = '测试0001';
      createIdSend.Order_ForDealerText__c = 'Testaccount003';
      createIdSend.Order_ForCustomerText__c = 'Test000';
      createIdSend.SummonsStatus_c__c = '批准';
      createIdSend.orderPattern__c = 'hospitalorder';
      createIdSend.Dealer_Info__c = accountItem1.Id;
      createIdSend.Delivery_detail_count__c = 5;
      Consumable_order__c createIdSend3 = new Consumable_order__c();
      createIdSend3.Name = 'testMing123456';
      createIdSend3.Order_status__c = '批准';
      createIdSend3.Deliver_date__c = Date.today();
      createIdSend3.Arrive_Order__c = createIdSend.Id;
      createIdSend3.RecordTypeid = System.Label.RT_ConOrder_Delivery;
      createIdSend3.Order_type__c = '订单';
      createIdSend3.Order_ProType__c = 'ENG';
      createIdSend3.SummonsForDirction__c = '互相调货';
      createIdSend3.Order_ForDealerText__c = '';
      createIdSend3.Order_ForCustomerText__c = 'Test001';
      createIdSend3.SummonsStatus_c__c = '批准';
      createIdSend3.Dealer_Info__c = accountItem1.Id;
      createIdSend3.Delivery_detail_count__c = 5;
      //到货
      Consumable_order__c createIdArrived = new Consumable_order__c();
      createIdArrived.Name = 'testMing2';
      createIdArrived.Order_status__c = '批准';
      createIdArrived.Deliver_date__c = Date.today();
      createIdArrived.RecordTypeid = System.Label.RT_ConOrder_Arrive;
      createIdArrived.Order_type__c = '订单';
      createIdArrived.Order_ProType__c = 'ET';
      createIdArrived.Arrive_Order__c = createIdSend.Id;
      createIdArrived.SummonsStatus_c__c = '已提交';
      createIdArrived.orderPattern__c = 'promotionorder';
      createIdArrived.Dealer_Info__c = accountItem1.Id;
      createIdArrived.Delivery_detail_count__c = 5;
      insert new List<Consumable_order__c>{
        createIdSend,
        createIdSend3,
        createIdArrived
      };
      Consumable_orderdetails__c coc = new Consumable_orderdetails__c();
      coc.Name = 'Too001';
      coc.Dealer_Custom_Price__c = 999.00;
      coc.Consumable_count__c = 3;
      coc.Consumable_product__c = pro1.Id;
      coc.Box_Piece__c = '盒';
      coc.isOutPattern__c = true;
      coc.Consumable_order__c = createIdSend.Id;
      coc.Unitprice_To_agency__c = 999.00;
      coc.Delivery_List_RMB__c = -999.00;
      coc.Shipment_Count__c = 9999.00;
      coc.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
      Consumable_orderdetails__c coc1 = new Consumable_orderdetails__c();
      coc1.Name = 'Too001';
      coc1.Dealer_Custom_Price__c = 999.00;
      coc1.Consumable_count__c = 3;
      coc1.Consumable_product__c = pro1.Id;
      coc1.Box_Piece__c = '盒';
      coc1.isOutPattern__c = true;
      coc1.Consumable_order__c = createIdSend3.Id;
      coc1.Unitprice_To_agency__c = 999.00;
      coc1.Delivery_List_RMB__c = 999.00;
      coc1.Shipment_Count__c = 9999.00;
      coc1.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
      insert new List<Consumable_orderdetails__c>{ coc, coc1 };
      Consumable_order_details2__c conOrderDetail1 = new Consumable_order_details2__c();
      conOrderDetail1.Name = 'OCM_01_001001';
      conOrderDetail1.Consumable_ZS_order__c = createIdSend.Id;
      conOrderDetail1.Consumable_Product__c = pro1.Id;
      conOrderDetail1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
      conOrderDetail1.Bar_Code__c = '11111';
      conOrderDetail1.Arrive_date__c = Date.today().addDays(1);
      conOrderDetail1.Send_Date__c = null;
      conOrderDetail1.Used_date__c = null;
      conOrderDetail1.Return_date__c = null;
      conOrderDetail1.Consumable_Arrived_order__c = createIdSend.Id;
      conOrderDetail1.Consumable_order_minor__c = createIdSend.Id;
      conOrderDetail1.Lose_Flag__c = false;
      conOrderDetail1.Cancellation_Flag__c = false;
      conOrderDetail1.exchangeOutPattern__c = true;
      conOrderDetail1.Box_Piece__c = '盒';
      conOrderDetail1.Sterilization_limit__c = Date.Today();
      Consumable_order_details2__c conOrderDetail2 = new Consumable_order_details2__c();
      conOrderDetail2.Name = 'OCM_01_001002';
      conOrderDetail2.Consumable_ZS_order__c = createIdArrived.Id;
      conOrderDetail2.Consumable_Product__c = pro1.Id;
      conOrderDetail2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
      conOrderDetail2.Bar_Code__c = '22222';
      conOrderDetail2.Arrive_date__c = Date.today().addDays(1);
      conOrderDetail2.Send_Date__c = null;
      conOrderDetail2.Used_date__c = null;
      conOrderDetail2.Return_date__c = null;
      conOrderDetail2.Consumable_Arrived_order__c = createIdArrived.Id;
      conOrderDetail2.Consumable_order_minor__c = createIdArrived.Id;
      conOrderDetail2.Lose_Flag__c = false;
      conOrderDetail2.exchangeOutPattern__c = false;
      conOrderDetail2.Cancellation_Flag__c = false;
      conOrderDetail2.Box_Piece__c = '个';
      conOrderDetail2.Sterilization_limit__c = Date.Today();
      insert new List<Consumable_order_details2__c>{
        conOrderDetail1,
        conOrderDetail2
      };
      List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
      LexSummonsCreatController.ConsumableorderdetailsInfoLwc c6 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
      c6.check = true;
      c6.oldCheck = true;
      c6.hospitalSpecialOffer = true;
      c6.orderdetails1 = coc1;
      c6.orderdetails2 = conOrderDetail1;
      c6.Prod = pro1;
      c6.Boxnumber = 0.00;
      c6.Piecenumber = 0.00;
      c6.allnumber = 1999.00;
      c6.oldConsumableCount = 1999.00;
      c6.canSelect = true;
      c6.sortBy = true;
      c6.packinglist = 1;
      c6.approbation_No = '';
      c6.expiration_Date = Date.Today();
      c6.boxorpiecein = '';
      c6.boxorpiece = null;
      c6.boxorpieceMap = null;
      c6.concc = null;
      c6.BoxPiece = null;
      c6.hosPro = true;
      pageRecords.add(c6);
      List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords1 = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
      LexSummonsCreatController.ConsumableorderdetailsInfoLwc c111 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
      c111.check = true;
      c111.oldCheck = true;
      c111.hospitalSpecialOffer = false;
      c111.orderdetails1 = coc1;
      c111.orderdetails2 = conOrderDetail1;
      c111.Prod = pro1;
      c111.Boxnumber = 0.00;
      c111.Piecenumber = 0.00;
      c111.allnumber = 1999.00;
      c111.oldConsumableCount = 1999.00;
      c111.canSelect = true;
      c111.sortBy = true;
      c111.packinglist = 1;
      c111.approbation_No = '';
      c111.expiration_Date = Date.Today();
      c111.boxorpiecein = '';
      c111.boxorpiece = null;
      c111.boxorpieceMap = null;
      c111.concc = null;
      c111.BoxPiece = null;
      c111.hosPro = true;
      pageRecords1.add(c111);
      List<LexSummonsCreatController.ConsumableorderdetailsInfo> consumable = new List<LexSummonsCreatController.ConsumableorderdetailsInfo>();
      LexSummonsCreatController.ConsumableorderdetailsInfo codi = new LexSummonsCreatController.ConsumableorderdetailsInfo();
      codi.check = true;
      codi.hospitalSpecialOffer = true;
      codi.packinglist = 0;
      codi.approbation_No = null;
      codi.expiration_Date = Date.Today();
      codi.boxorpiecein = null;
      codi.orderdetails1 = coc;
      codi.Prod = pro1;
      consumable.add(codi);
      System.Test.startTest();
      LexSummonsCreatController.init(null, 'Test', 1, 100, createIdArrived.Id);
      LexSummonsCreatController.init(null, 'Test', 1, 100, null);
      LexSummonsCreatController.init(null, null, 1, 100, createIdArrived.Id);
      LexSummonsCreatController.categoryAllload('Test7');
      LexSummonsCreatController.categoryload('Test7', 'Test77');
      LexSummonsCreatController.searchConsumableorderdetails(
        'ET',
        'Testaccount001',
        '北京',
        'ishos',
        'Test07',
        'Test7',
        'Test77',
        'Test777',
        true,
        pageRecords,
        consumable,
        '',
        1,
        1
      );
      LexSummonsCreatController.searchConsumableorderdetails(
        'ET',
        'Testaccount001',
        '北京',
        'nothos',
        'Test07',
        'Test7',
        'Test77',
        'Test777',
        true,
        pageRecords,
        consumable,
        '',
        1,
        1
      );
      LexSummonsCreatController.searchConsumableorderdetails(
        'ET',
        'Testaccount001',
        '北京',
        'ishos',
        'Test07',
        'Test7',
        'Test77',
        'Test777',
        true,
        pageRecords1,
        consumable,
        '',
        1,
        1
      );
      LexSummonsCreatController.searchConsumableorderdetails(
        'ET',
        'Testaccount001',
        '北京',
        'nothos',
        'Test07',
        'Test7',
        'Test77',
        'Test777',
        true,
        pageRecords1,
        consumable,
        '',
        1,
        1
      );
      List<LexSummonsCreatController.ConsumableorderdetailsInfo> cro = new List<LexSummonsCreatController.ConsumableorderdetailsInfo>();
      cro.sort();
      System.Test.stopTest();
    }
  }
  @isTest
  static void saveMethodTest1() {
    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)'
    ];
    RecordType rectCoO = [
      SELECT Id
      FROM RecordType
      WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院'
    ];
    Account myAccount2 = new Account(
      RecordTypeId = rectCoO.Id,
      AgentCode_Ext__c = '9999900',
      Name = 'olympus'
    );
    Account myAccount1 = new Account(
      name = 'Testaccount001',
      Dealer_discount__c = 30,
      RecordTypeId = rectCo[0].Id
    );
    insert new List<account>{ myAccount1, myAccount2 };
    hospitalprice__c hp1 = new hospitalprice__c();
    hp1.hospital__c = myAccount2.Id;
    hp1.account__c = myAccount1.Id;
    insert hp1;
    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',
      Work_Location__c = '北京'
    );
    System.runAs(new User(Id = UserInfo.getUserId())) {
      insert MyUser_Test;
            String category1= '3400PK:PK针 5mm×33cm';
            String Category3 = '腹腔镜手术';
            String Category4 = 'PK';
            String Category5 = 'G400';
            LexSummonsCreatController.category1 = category1;
            LexSummonsCreatController.Category3 = Category3;
            LexSummonsCreatController.Category4 = Category4;
            LexSummonsCreatController.Category5 = Category5;
            LexSummonsCreatController.statusEdit = statusEdit;
            LexSummonsCreatController.alertMessage = alertMessage;
            LexSummonsCreatController.zaikuId = new List<String>();
            LexSummonsCreatController.categoryOptionMap = new Map<String, String>();
            LexSummonsCreatController.category4OptionMap = new Map<String, String>();
            LexSummonsCreatController.category5OptionMap = new Map<String, String>();
            LexSummonsCreatController.orderpieceorboxMap = new Map<String, String>();
            LexSummonsCreatController.orderagencypriceMap = new Map<String, Decimal>();
            LexSummonsCreatController.orderpriceMap = new Map<String, Decimal>();
            LexSummonsCreatController.orderdetCountMap = new Map<String, Decimal>();
            LexSummonsCreatController.hasSpecialHos = false;
            LexSummonsCreatController.outOutPattern = null;
            LexSummonsCreatController.provinceOptsMap = new Map<String, String>();
            LexSummonsCreatController.categoryOptionList = new List<SelectOption>();
            LexSummonsCreatController.category4OptionList = new List<SelectOption>();
            LexSummonsCreatController.category5OptionList = new List<SelectOption>();
            LexSummonsCreatController.outOutPatternOptionList = new List<SelectOption>();
            LexSummonsCreatController.orderdetails = new List<Consumable_orderdetails__c>();
            LexSummonsCreatController.consumableorderdetailsRecords = new List<LexSummonsCreatController.ConsumableorderdetailsInfo>();
            LexSummonsCreatController.consumableorderdetailsRecordserror = new List<LexSummonsCreatController.ConsumableorderdetailsInfo>();
            List<SelectOption> cityOpts1 = new List<SelectOption>();
            cityOpts1.add(new SelectOption('', '--无--'));
            cityOpts1.add(new SelectOption('ishos', '医院特价产品'));
            cityOpts1.add(new SelectOption('nothos', '非医院特价产品'));
            Map<String, String> optionMap = new Map<String, String>();
            optionMap.put('', '-无-');
            optionMap.put('ishos', '医院特价产品');
            optionMap.put('nothos', '非医院特价产品');
            Integer count = LexSummonsCreatController.consumableorderdetailsCount;
            Consumable_order__c cocOrderId = new Consumable_order__c();
            LexSummonsCreatController.coc = cocOrderId;
            String consumableorderId = LexSummonsCreatController.consumableorderId;
            LexSummonsCreatController summonCC = new LexSummonsCreatController();
            LexSummonsCreatController.init(testList1.Id,'Test',1,100,testList1.Id);
            LexSummonsCreatController.firstInit(ESetId);
            LexSummonsCreatController.init(ESetId,statusEdit,1,100,arrive);
            LexSummonsCreatController.init(ESetId,statusEdit,1,100,createIdSend.Id);
            LexSummonsCreatController.init(createIdSend.Id,statusEdit,1,100,arrive);
            LexSummonsCreatController.init(createIdSend.Id,'Test',1,100,createIdSend3.Id);
            LexSummonsCreatController.init(ESetId,'Test',1,100,createIdSend.Id);
            LexSummonsCreatController.searchConsumableorderdetails('ENG','Testaccount001','北京','ishos','Test07','CDS','OER','Celon',true,pageRecords,consumable,'',1,100);
            LexSummonsCreatController.searchConsumableorderdetails('ENG','Testaccount001','北京','nothos','Test07','CDS','OER','Celon',true,pageRecords,consumable,'',1,100);
            LexSummonsCreatController.save(createIdSend2,'','','',pageRecordsLwcLwc,accountId,createIdSend2.Id,consumable,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend1,'','','Test',pageRecordsLwcLwc,accountId,createIdSend1.Id,consumable,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend1,'Test','Test','Test',pageRecordsLwcLwc,accountId,createIdSend1.Id,consumable,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend7,'','',accountItem1.Id,pageRecordsLwcLwc,accountId,createIdSend7.Id,consumable,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend,'Test','Test','Test',pageRecordsLwcLwc,accountId,createIdSend.Id,consumable,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend3,'Test','Test','',pageRecordsLwcLwc,accountId,createIdSend3.Id,consumable,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend3,'','','Test',pageRecordsLwcLwc,accountId,createIdSend3.Id,consumable,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend3,'Test','Test','Test',pageRecordsLwcLwc,accountId,createIdSend3.Id,consumable,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend4,'','','',pageRecordsLwcLwc,accountId,createIdSend4.Id,consumable,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend5,'','','',pageRecordsLwcLwc,accountId,createIdSend5.Id,consumable,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend5,'','','Test',pageRecordsLwcLwc,accountId,createIdSend5.Id,consumable,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend5,'Test','Test','Test',pageRecordsLwcLwc,accountId,createIdSend5.Id,consumable,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend8,accountId,'Test',accountId,pageRecords,accountId,createIdSend8.Id,consumable,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend8,accountId,'Test',null,pageRecordsLwc,accountId,createIdSend8.Id,consumable,agencyProType,userWorkLocation);
            LexSummonsCreatController.checkOutPattern();
            LexSummonsCreatController.PraseToPDF(createIdSend,createIdSend.Id);
            LexSummonsCreatController.search('Testaccount001');
            LexSummonsCreatController.GoodsDelivery(createIdSend,createIdSend.Id,pageRecordsLwcLwc);
            LexSummonsCreatController.GoodsDelivery(createIdSend3,createIdSend3.Id,pageRecords);
            LexSummonsCreatController.GoodsDelivery(createIdSend1,createIdSend1.Id,pageRecordsLwcLwc);
            LexSummonsCreatController.GoodsDelivery(createIdSend6,createIdSend6.Id,pageRecordsLwcLwc);
            LexSummonsCreatController.DelConsumable(createIdSend.Id);
            System.Test.stopTest();
        }
    }
    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 };
    @isTest
    static void testSaveMethod(){
        Account accountItem1;
        Account accountItem2;
        User userTest;
        String rectCo = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Agency').getRecordTypeId();
        String rectHp = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('HP').getRecordTypeId();
        Profile prof = [SELECT Id FROM Profile WHERE Name ='901_经销商社区普通权限_2重验证(ET)'];
        accountItem1 = new Account(Name='Testaccount001',RecordTypeId = rectCo, AgentCode_Ext__c = '9999900');
        insert accountItem1;
        accountItem2 = new Account(Name='Testaccount002',RecordTypeId = rectHp, AgentCode_Ext__c = '9999999', ParentId = accountItem1.Id,Contract_Decide_Start_Date__c = Date.today(),ENG_Dealer__c = true,BillingCity = null);
        insert accountItem2;
        Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe', lastname='Plumber', accountId = accountItem1.Id);
        insert core;
        System.runAs(new user(ID = UserInfo.getUserID())) {
            userTest = New User(ContactId = core.id, Alias = 'newUser', Email='newuser@testorg.com', EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN', LocaleSidKey='zh_CN', ProfileId = prof.Id, TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com', UserPro_Type__c='ENG', Work_Location__c='北京');
            insert userTest;
        }
        System.runAs(userTest){
            String userId = UserInfo.getUserId();
            User thisUserInfo = [SELECT accountid, UserPro_Type__c, ContactId, Contact.AccountId,Contact.Account.Name, Work_Location__c FROM User WHERE id =:userId];
            String accountId = thisUserInfo.accountid;
            String accountName = thisUserInfo.Contact.Account.Name;
            String agencyProType = thisUserInfo.UserPro_Type__c;
            String userWorkLocation = thisUserInfo.Work_Location__c;
            thisUserInfo.UserPro_Type__c = '';
            update thisUserInfo;
            if (String.isBlank(thisUserInfo.UserPro_Type__c)) {
                agencyProType = 'ET';
            }
           Product2 prod07 = new Product2(Name='Test07',ProductCode='Test07',Asset_Model_No__c = 'Test07',Category3__c = 'Test7',Category4__c = 'Test77',Category5__c = 'Test777',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c = 1,Manual_Entry__c = false);
           insert new Product2[] {prod07};
            Product2__c pro1 = new Product2__c(Name='MH-155:白平衡帽',OT_CODE_Text__c='Test001',Product2__c = prod07.Id,Category3_text__c = 'test123', Category4_text__c = 'test123', Category5_text__c = 'test123');
         insert new Product2__c[] {pro1};
            Consumable_order__c createIdSend = new Consumable_order__c();
            createIdSend.Name = 'testMing1';
            createIdSend.Order_status__c = '批准';
            createIdSend.Deliver_date__c = Date.today();
            createIdSend.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            createIdSend.Order_type__c = '订单';
            createIdSend.Order_ProType__c = 'ENG';
            createIdSend.SummonsForDirction__c = '测试0001';
            createIdSend.Order_ForDealerText__c = 'Testaccount003';
            createIdSend.Order_ForCustomerText__c = 'Test000';
            createIdSend.SummonsStatus_c__c = '批准';
            createIdSend.Dealer_Info__c = accountItem1.Id;
            createIdSend.Delivery_detail_count__c = 5;
      Consumable_order__c Order0 = new Consumable_order__c();
      Order0.Name = 'OCM_01_000';
      Order0.Order_status__c = '批准';
      Order0.Order_type__c = '订单';
      Order0.Dealer_Info__c = myAccount1.id;
      Order0.RecordTypeid = System.Label.RT_ConOrder_Delivery;
      Order0.Order_ProType__c = 'ET';
      insert Order0;
            Consumable_order__c createIdSend1 = new Consumable_order__c();
            createIdSend1.Name = 'testMing1';
            createIdSend1.Order_status__c = '批准';
            createIdSend1.Deliver_date__c = Date.today();
            createIdSend1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            createIdSend1.Order_type__c = '订单';
            createIdSend1.Order_ProType__c = 'ENG';
            createIdSend1.SummonsForDirction__c = '销售给二级经销商';
            createIdSend1.Order_ForDealerText__c = 'Testaccount003';
            createIdSend1.Order_ForCustomerText__c = 'Test000';
            createIdSend1.SummonsStatus_c__c = '价格未定';
            createIdSend1.Dealer_Info__c = accountItem1.Id;
            createIdSend1.Delivery_detail_count__c = 5;
            insert new Consumable_order__c[]{createIdSend,createIdSend1};
            Consumable_orderdetails__c coc = new Consumable_orderdetails__c();
            coc.Name = 'Too001';
            coc.Dealer_Custom_Price__c = 999.00;
            coc.Consumable_count__c = 3;
            coc.Consumable_product__c = pro1.Id;
            coc.Box_Piece__c = '盒';
            coc.isOutPattern__c = true;
            coc.Consumable_order__c = createIdSend.Id;
            coc.Unitprice_To_agency__c = 999.00;
            coc.Delivery_List_RMB__c = -999.00;
            coc.Shipment_Count__c = 9999.00;
            coc.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
      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';
      Order1.OutPattern__c = true;
      Order1.Arrive_Order__c = Order0.Id;
      insert Order1;
      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;
      Orderdet.Shipment_Count__c = 10;
      Orderdet.isOutPattern__c = true;
      Orderdet.Delivery_List_RMB__c = 100;
      Orderdet.Box_Piece__c = '盒';
      insert Orderdet;
      Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c();
      Orderdet1.Name = 'OCM_01_001001';
      Orderdet1.Consumable_order_minor__c = Order1.Id;
      Orderdet1.Consumable_Product__c = pro1.Id;
      Orderdet1.Asset_Model_No__c = 'Test01';
      Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
      Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRF';
      Orderdet1.Cancellation_Date__c = null;
      Orderdet1.TracingCode__c = 'BXJRF';
      Orderdet1.SerialLotNo__c = '5ZK';
      Orderdet1.Arrive_date__c = Date.today();
      Orderdet1.exchangeOutPattern__c = true;
      Orderdet1.Consumable_ZS_order__c = Order1.Id;
      Orderdet1.Box_Piece__c = '盒';
      insert Orderdet1;
      System.Test.startTest();
      LexSummonsCreatController.init(Order1.Id, 'edit', 10, 1, '');
      List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pList = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
      LexSummonsCreatController.ConsumableorderdetailsInfoLwc p = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
      p.check = true;
      p.oldcheck = true;
      p.hospitalSpecialOffer = true;
      p.orderdetails1 = Orderdet;
      p.orderdetails2 = Orderdet1;
      p.Prod = pro1;
      p.Boxnumber = 2;
      p.Piecenumber = 2;
      pList.add(p);
      List<LexSummonsCreatController.ConsumableorderdetailsInfo> consumable = new List<LexSummonsCreatController.ConsumableorderdetailsInfo>();
      LexSummonsCreatController.ConsumableorderdetailsInfo codi = new LexSummonsCreatController.ConsumableorderdetailsInfo();
      codi.check = true;
      codi.hospitalSpecialOffer = true;
      codi.packinglist = 0;
      codi.approbation_No = null;
      codi.expiration_Date = Date.Today();
      codi.boxorpiecein = null;
      codi.orderdetails1 = Orderdet;
      codi.orderdetails2 = Orderdet1;
      codi.Prod = pro1;
      consumable.add(codi);
      LexSummonsCreatController.coc.SummonsForDirction__c = '直接销售给医院';
      LexSummonsCreatController.coc.Order_ForCustomerText__c = '消化科';
      LexSummonsCreatController.save(
        LexSummonsCreatController.coc,
        myAccount2.Id,
        myAccount2.Name,
        '',
        pList,
        myAccount1.Id,
        '',
        consumable,
        'ET',
        ''
      );
      Orderdet.Box_Piece__c = '个';
      LexSummonsCreatController.save(
        LexSummonsCreatController.coc,
        myAccount2.Id,
        myAccount2.Name,
        '',
        pList,
        myAccount1.Id,
        '',
        consumable,
        'ET',
        ''
      );
      p.Piecenumber = 20;
      LexSummonsCreatController.save(
        LexSummonsCreatController.coc,
        myAccount2.Id,
        myAccount2.Name,
        '',
        pList,
        myAccount1.Id,
        '',
        consumable,
        'ET',
        ''
      );
      System.Test.stopTest();
    }
  }
            Consumable_orderdetails__c coc1 = new Consumable_orderdetails__c();
            coc1.Name = 'Too001';
            coc1.Dealer_Custom_Price__c = 999.00;
            coc1.Consumable_count__c = 3;
            coc1.Consumable_product__c = pro1.Id;
            coc1.Box_Piece__c = '盒';
            coc1.isOutPattern__c = true;
            coc1.Consumable_order__c = createIdSend.Id;
            coc1.Unitprice_To_agency__c = 999.00;
            coc1.Delivery_List_RMB__c = null;
            coc1.Shipment_Count__c = 9999.00;
            coc1.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
  @isTest
  static void initMethodTest1() {
    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)'
    ];
    RecordType rectCoO = [
      SELECT Id
      FROM RecordType
      WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院'
    ];
    Account myAccount2 = new Account(
      RecordTypeId = rectCoO.Id,
      AgentCode_Ext__c = '9999900',
      Name = 'olympus'
    );
    Account myAccount1 = new Account(
      name = 'Testaccount001',
      Dealer_discount__c = 30,
      RecordTypeId = rectCo[0].Id
    );
    insert new List<account>{ myAccount1, myAccount2 };
    hospitalprice__c hp1 = new hospitalprice__c();
    hp1.hospital__c = myAccount2.Id;
    hp1.account__c = myAccount1.Id;
    insert hp1;
    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',
      Work_Location__c = '北京'
    );
    System.runAs(new User(Id = UserInfo.getUserId())) {
      insert MyUser_Test;
            Consumable_orderdetails__c coc2 = new Consumable_orderdetails__c();
            coc2.Name = 'Too001';
            coc2.Dealer_Custom_Price__c = 999.00;
            coc2.Consumable_count__c = 3;
            coc2.Consumable_product__c = pro1.Id;
            coc2.Box_Piece__c = '';
            coc2.isOutPattern__c = true;
            coc2.Consumable_order__c = createIdSend.Id;
            coc2.Unitprice_To_agency__c = 999.00;
            coc2.Delivery_List_RMB__c = 999.00;
            coc2.Shipment_Count__c = 9999.00;
            coc2.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
            Consumable_orderdetails__c coc3 = new Consumable_orderdetails__c();
            coc3.Name = 'Too001';
            coc3.Dealer_Custom_Price__c = 999.00;
            coc3.Consumable_count__c = 3;
            coc3.Consumable_product__c = pro1.Id;
            coc3.Box_Piece__c = '盒';
            coc3.isOutPattern__c = true;
            coc3.Consumable_order__c = createIdSend1.Id;
            coc3.Unitprice_To_agency__c = 999.00;
            coc3.Delivery_List_RMB__c = 100.00;
            coc3.Shipment_Count__c = 9999.00;
            coc3.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
            insert new Consumable_orderdetails__c[]{coc,coc1,coc2,coc3};
            Consumable_order_details2__c conOrderDetail1 = new Consumable_order_details2__c();
            conOrderDetail1.Name = 'OCM_01_001001';
            conOrderDetail1.Consumable_ZS_order__c = createIdSend.Id;
            conOrderDetail1.Consumable_Product__c = pro1.Id;
            conOrderDetail1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            conOrderDetail1.Bar_Code__c = '11111';
            conOrderDetail1.Arrive_date__c = Date.today().addDays(1);
            conOrderDetail1.Send_Date__c = null;
            conOrderDetail1.Used_date__c = null;
            conOrderDetail1.Return_date__c = null;
            conOrderDetail1.Consumable_order_minor__c = createIdSend.Id;
            conOrderDetail1.Lose_Flag__c = false;
            conOrderDetail1.Cancellation_Flag__c = false;
            conOrderDetail1.Box_Piece__c = '盒';
            conOrderDetail1.Sterilization_limit__c = Date.Today();
            insert new Consumable_order_details2__c[]{conOrderDetail1};
            List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
            LexSummonsCreatController.ConsumableorderdetailsInfoLwc c0 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
            c0.check = true;
            c0.oldCheck = true;
            c0.hospitalSpecialOffer = true;
            c0.orderdetails1 = coc;
            c0.orderdetails2 = conOrderDetail1;
            c0.Prod = pro1;
            c0.Boxnumber = 0.00;
            c0.Piecenumber = 0.00;
            c0.allnumber = 1999.00;
            c0.oldConsumableCount = 1999.00;
            c0.canSelect = true;
            c0.sortBy = true;
            c0.packinglist = 1;
            c0.approbation_No = '';
            c0.expiration_Date = Date.Today();
            c0.boxorpiecein = '';
            c0.boxorpiece = null;
            c0.boxorpieceMap = null;
            c0.concc = null;
            c0.BoxPiece = null;
            c0.hosPro = true;
            pageRecords.add(c0);
            List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords1 = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
            LexSummonsCreatController.ConsumableorderdetailsInfoLwc c1 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
            c1.check = true;
            c1.oldCheck = false;
            c1.hospitalSpecialOffer = true;
            c1.orderdetails1 = coc1;
            c1.orderdetails2 = conOrderDetail1;
            c1.Prod = pro1;
            c1.Boxnumber = 0.00;
            c1.Piecenumber = 0.00;
            c1.allnumber = 1999.00;
            c1.oldConsumableCount = 1999.00;
            c1.canSelect = true;
            c1.sortBy = true;
            c1.packinglist = 1;
            c1.approbation_No = '';
            c1.expiration_Date = Date.Today();
            c1.boxorpiecein = '';
            c1.boxorpiece = null;
            c1.boxorpieceMap = null;
            c1.concc = null;
            c1.BoxPiece = null;
            c1.hosPro = true;
            pageRecords1.add(c1);
            List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords2 = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
            LexSummonsCreatController.ConsumableorderdetailsInfoLwc c2 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
            c2.check = true;
            c2.oldCheck = false;
            c2.hospitalSpecialOffer = true;
            c2.orderdetails1 = coc2;
            c2.orderdetails2 = conOrderDetail1;
            c2.Prod = pro1;
            c2.Boxnumber = 0.00;
            c2.Piecenumber = 0.00;
            c2.allnumber = 1999.00;
            c2.oldConsumableCount = 1999.00;
            c2.canSelect = true;
            c2.sortBy = true;
            c2.packinglist = 1;
            c2.approbation_No = '';
            c2.expiration_Date = Date.Today();
            c2.boxorpiecein = '';
            c2.boxorpiece = null;
            c2.boxorpieceMap = null;
            c2.concc = null;
            c2.BoxPiece = null;
            c2.hosPro = true;
            pageRecords2.add(c2);
            List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords3 = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
            LexSummonsCreatController.ConsumableorderdetailsInfoLwc c3 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
            c3.check = true;
            c3.oldCheck = false;
            c3.hospitalSpecialOffer = true;
            c3.orderdetails1 = coc3;
            c3.orderdetails2 = conOrderDetail1;
            c3.Prod = pro1;
            c3.Boxnumber = 0.00;
            c3.Piecenumber = 0.00;
            c3.allnumber = 1999.00;
            c3.oldConsumableCount = 1999.00;
            c3.canSelect = true;
            c3.sortBy = true;
            c3.packinglist = 1;
            c3.approbation_No = '';
            c3.expiration_Date = Date.Today();
            c3.boxorpiecein = '';
            c3.boxorpiece = null;
            c3.boxorpieceMap = null;
            c3.concc = null;
            c3.BoxPiece = null;
            c3.hosPro = true;
            pageRecords3.add(c3);
            List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords0 = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
            LexSummonsCreatController.ConsumableorderdetailsInfoLwc c001 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
            c001.check = true;
            c001.oldCheck = true;
            c001.hospitalSpecialOffer = true;
            c001.orderdetails1 = coc3;
            c001.orderdetails2 = conOrderDetail1;
            c001.Prod = pro1;
            c001.Boxnumber = 0.00;
            c001.Piecenumber = 0.00;
            c001.allnumber = 1999.00;
            c001.oldConsumableCount = 1999.00;
            c001.canSelect = true;
            c001.sortBy = true;
            c001.packinglist = 1;
            c001.approbation_No = '';
            c001.expiration_Date = Date.Today();
            c001.boxorpiecein = '';
            c001.boxorpiece = null;
            c001.boxorpieceMap = null;
            c001.concc = null;
            c001.BoxPiece = null;
            c001.hosPro = true;
            pageRecords0.add(c001);
            List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords4 = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
            LexSummonsCreatController.ConsumableorderdetailsInfoLwc c4 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
            c4.check = true;
            c4.oldCheck = true;
            c4.hospitalSpecialOffer = true;
            c4.orderdetails1 = coc2;
            c4.orderdetails2 = conOrderDetail1;
            c4.Prod = pro1;
            c4.Boxnumber = 0.00;
            c4.Piecenumber = 0.00;
            c4.allnumber = 1999.00;
            c4.oldConsumableCount = 1999.00;
            c4.canSelect = true;
            c4.sortBy = true;
            c4.packinglist = 1;
            c4.approbation_No = '';
            c4.expiration_Date = Date.Today();
            c4.boxorpiecein = '';
            c4.boxorpiece = null;
            c4.boxorpieceMap = null;
            c4.concc = null;
            c4.BoxPiece = null;
            c4.hosPro = true;
            pageRecords4.add(c4);
            List<LexSummonsCreatController.ConsumableorderdetailsInfo> consumable = new List<LexSummonsCreatController.ConsumableorderdetailsInfo>();
            LexSummonsCreatController.ConsumableorderdetailsInfo codi = new LexSummonsCreatController.ConsumableorderdetailsInfo();
            codi.check = true;
            codi.hospitalSpecialOffer = true;
            codi.packinglist = 0;
            codi.approbation_No = null;
            codi.expiration_Date = Date.Today();
            codi.boxorpiecein = null;
            codi.orderdetails1 = coc;
            codi.Prod = pro1;
            consumable.add(codi);
            System.Test.startTest();
            LexSummonsCreatController.save(createIdSend,'','','',pageRecords,accountId,createIdSend.Id,consumable,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend,'','','',pageRecords1,accountId,createIdSend.Id,consumable,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend,'','','',pageRecords2,accountId,createIdSend.Id,consumable,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend,'','','',pageRecords3,accountId,createIdSend.Id,consumable,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend,'','','',pageRecords0,accountId,createIdSend.Id,consumable,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend,'','','',pageRecords4,accountId,createIdSend.Id,consumable,agencyProType,userWorkLocation);
            System.Test.stopTest();
        }
    }
    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 };
    @isTest
    static void testSaveMethod1(){
        Account accountItem1;
        Account accountItem2;
        User userTest;
        String rectCo = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Agency').getRecordTypeId();
        String rectHp = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('HP').getRecordTypeId();
        Profile prof = [SELECT Id FROM Profile WHERE Name ='901_经销商社区普通权限_2重验证(ET)'];
        accountItem1 = new Account(Name='Testaccount001',RecordTypeId = rectCo, AgentCode_Ext__c = '9999900');
        insert accountItem1;
        accountItem2 = new Account(Name='Testaccount002',RecordTypeId = rectHp, AgentCode_Ext__c = '9999999', ParentId = accountItem1.Id,Contract_Decide_Start_Date__c = Date.today(),ENG_Dealer__c = true,BillingCity = null);
        insert accountItem2;
        Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe', lastname='Plumber', accountId = accountItem1.Id);
        insert core;
        System.runAs(new user(ID = UserInfo.getUserID())) {
            userTest = New User(ContactId = core.id, Alias = 'newUser', Email='newuser@testorg.com', EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN', LocaleSidKey='zh_CN', ProfileId = prof.Id, TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com', UserPro_Type__c='ENG', Work_Location__c='北京');
            insert userTest;
        }
        System.runAs(userTest){
            String userId = UserInfo.getUserId();
            User thisUserInfo = [SELECT accountid, UserPro_Type__c, ContactId, Contact.AccountId,Contact.Account.Name, Work_Location__c FROM User WHERE id =:userId];
            String accountId = thisUserInfo.accountid;
            String accountName = thisUserInfo.Contact.Account.Name;
            String agencyProType = thisUserInfo.UserPro_Type__c;
            String userWorkLocation = thisUserInfo.Work_Location__c;
            thisUserInfo.UserPro_Type__c = '';
            update thisUserInfo;
            if (String.isBlank(thisUserInfo.UserPro_Type__c)) {
                agencyProType = 'ET';
            }
           Product2 prod07 = new Product2(Name='Test07',ProductCode='Test07',Asset_Model_No__c = 'Test07',Category3__c = 'Test7',Category4__c = 'Test77',Category5__c = 'Test777',SFDA_Status__c = '有効',
                                            Intra_Trade_List_RMB_End_Date1__c = Date.Today(),Intra_Trade_List_RMB_Date2__c = null ,Intra_Trade_List_RMB_1__c = 1,Dealer_special_Object__c = true,Packing_list_manual__c = 1,Manual_Entry__c = false);
           insert new Product2[] {prod07};
            Product2__c pro1 = new Product2__c(Name='MH-155:白平衡帽',OT_CODE_Text__c='Test001',Product2__c = prod07.Id,Category3_text__c = 'test123', Category4_text__c = 'test123', Category5_text__c = 'test123');
         insert new Product2__c[] {pro1};
            Consumable_order__c createIdSend = new Consumable_order__c();
            createIdSend.Name = 'testMing1';
            createIdSend.Order_status__c = '批准';
            createIdSend.Deliver_date__c = Date.today();
            createIdSend.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            createIdSend.Order_type__c = '订单';
            createIdSend.Order_ProType__c = 'ENG';
            createIdSend.SummonsForDirction__c = '测试0001';
            createIdSend.Order_ForDealerText__c = 'Testaccount003';
            createIdSend.Order_ForCustomerText__c = 'Test000';
            createIdSend.SummonsStatus_c__c = '批准';
            createIdSend.Dealer_Info__c = accountItem1.Id;
            createIdSend.Delivery_detail_count__c = 5;
      Consumable_order__c Order0 = new Consumable_order__c();
      Order0.Name = 'OCM_01_000';
      Order0.Order_status__c = '批准';
      Order0.Order_type__c = '订单';
      Order0.Dealer_Info__c = myAccount1.id;
      Order0.RecordTypeid = System.Label.RT_ConOrder_Delivery;
      Order0.Order_ProType__c = 'ET';
      insert Order0;
            Consumable_order__c createIdSend1 = new Consumable_order__c();
            createIdSend1.Name = 'testMing2';
            createIdSend1.Order_status__c = '批准';
            createIdSend1.Deliver_date__c = Date.today();
            createIdSend1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            createIdSend1.Order_type__c = '订单';
            createIdSend1.Order_ProType__c = 'ENG';
            createIdSend1.SummonsForDirction__c = '销售给二级经销商';
            createIdSend1.Order_ForDealerText__c = 'Testaccount003';
            createIdSend1.Order_ForCustomerText__c = 'Test000';
            createIdSend1.SummonsStatus_c__c = '价格未定';
            createIdSend1.Dealer_Info__c = accountItem1.Id;
            createIdSend1.Delivery_detail_count__c = 5;
            insert new Consumable_order__c[]{createIdSend,createIdSend1};
            Consumable_orderdetails__c coc = new Consumable_orderdetails__c();
            coc.Name = 'Too001';
            coc.Dealer_Custom_Price__c = 999.00;
            coc.Consumable_count__c = 3;
            coc.Consumable_product__c = pro1.Id;
            coc.Box_Piece__c = '个';
            coc.isOutPattern__c = true;
            coc.Consumable_order__c = createIdSend.Id;
            coc.Unitprice_To_agency__c = 999.00;
            coc.Delivery_List_RMB__c = 999.00;
            coc.Shipment_Count__c = 9999.00;
            coc.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
      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';
      Order1.OutPattern__c = true;
      Order1.Arrive_Order__c = Order0.Id;
      Order1.SummonsStatus_c__c = '已提交';
      Order1.SummonsForDirction__c = '直接销售给医院';
      insert Order1;
      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;
      Orderdet.Shipment_Count__c = 10;
      Orderdet.isOutPattern__c = true;
      Orderdet.Delivery_List_RMB__c = 100;
      Orderdet.Box_Piece__c = '盒';
      insert Orderdet;
      Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c();
      Orderdet1.Name = 'OCM_01_001001';
      Orderdet1.Consumable_order_minor__c = Order1.Id;
      Orderdet1.Consumable_Product__c = pro1.Id;
      Orderdet1.Asset_Model_No__c = 'Test01';
      Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
      Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRF';
      Orderdet1.Cancellation_Date__c = null;
      Orderdet1.TracingCode__c = 'BXJRF';
      Orderdet1.SerialLotNo__c = '5ZK';
      Orderdet1.Arrive_date__c = Date.today();
      Orderdet1.exchangeOutPattern__c = true;
      Orderdet1.Consumable_ZS_order__c = Order1.Id;
      Orderdet1.Box_Piece__c = '盒';
      insert Orderdet1;
      System.Test.startTest();
      LexSummonsCreatController.init(Order1.Id, 'edit', 10, 1, '');
      System.Test.stopTest();
    }
  }
            Consumable_orderdetails__c coc1 = new Consumable_orderdetails__c();
            coc1.Name = 'Too002';
            coc1.Dealer_Custom_Price__c = 999.00;
            coc1.Consumable_count__c = 3;
            coc1.Consumable_product__c = pro1.Id;
            coc1.Box_Piece__c = '个';
            coc1.isOutPattern__c = true;
            coc1.Consumable_order__c = createIdSend.Id;
            coc1.Unitprice_To_agency__c = 999.00;
            coc1.Delivery_List_RMB__c = 999.00;
            coc1.Shipment_Count__c = null;
            coc1.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
  @isTest
  static void initMethodTest2() {
    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)'
    ];
    RecordType rectCoO = [
      SELECT Id
      FROM RecordType
      WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院'
    ];
    Account myAccount2 = new Account(
      RecordTypeId = rectCoO.Id,
      AgentCode_Ext__c = '9999900',
      Name = 'olympus'
    );
    Account myAccount1 = new Account(
      name = 'Testaccount001',
      Dealer_discount__c = 30,
      RecordTypeId = rectCo[0].Id
    );
    insert new List<account>{ myAccount1, myAccount2 };
    hospitalprice__c hp1 = new hospitalprice__c();
    hp1.hospital__c = myAccount2.Id;
    hp1.account__c = myAccount1.Id;
    insert hp1;
    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;
            Consumable_orderdetails__c coc2 = new Consumable_orderdetails__c();
            coc2.Name = 'Too003';
            coc2.Dealer_Custom_Price__c = 999.00;
            coc2.Consumable_count__c = 3;
            coc2.Consumable_product__c = pro1.Id;
            coc2.Box_Piece__c = '个';
            coc2.isOutPattern__c = true;
            coc2.Consumable_order__c = createIdSend.Id;
            coc2.Unitprice_To_agency__c = 999.00;
            coc2.Delivery_List_RMB__c = 0;
            coc2.Shipment_Count__c = 100.00;
            coc2.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
            Consumable_orderdetails__c coc3 = new Consumable_orderdetails__c();
            coc3.Name = 'Too004';
            coc3.Dealer_Custom_Price__c = 999.00;
            coc3.Consumable_count__c = 3;
            coc3.Consumable_product__c = pro1.Id;
            coc3.Box_Piece__c = '';
            coc3.isOutPattern__c = true;
            coc3.Consumable_order__c = createIdSend1.Id;
            coc3.Unitprice_To_agency__c = 999.00;
            coc3.Delivery_List_RMB__c = 0.00;
            coc3.Shipment_Count__c = 9999.00;
            coc3.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
            Consumable_orderdetails__c coc4 = new Consumable_orderdetails__c();
            coc4.Name = 'Too005';
            coc4.Dealer_Custom_Price__c = 999.00;
            coc4.Consumable_count__c = 3;
            coc4.Consumable_product__c = pro1.Id;
            coc4.Box_Piece__c = '';
            coc4.isOutPattern__c = true;
            coc4.Consumable_order__c = createIdSend1.Id;
            coc4.Unitprice_To_agency__c = 999.00;
            coc4.Delivery_List_RMB__c = 9999.00;
            coc4.Shipment_Count__c = 100.00;
            coc4.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
            Consumable_orderdetails__c coc5 = new Consumable_orderdetails__c();
            coc5.Name = 'Too006';
            coc5.Dealer_Custom_Price__c = 999.00;
            coc5.Consumable_count__c = 3;
            coc5.Consumable_product__c = pro1.Id;
            coc5.Box_Piece__c = '盒';
            coc5.isOutPattern__c = true;
            coc5.Consumable_order__c = createIdSend1.Id;
            coc5.Unitprice_To_agency__c = 999.00;
            coc5.Delivery_List_RMB__c = 9999.00;
            coc5.Shipment_Count__c = 9999.00;
            coc5.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
            Consumable_orderdetails__c coc6 = new Consumable_orderdetails__c();
            coc6.Name = 'Too007';
            coc6.Dealer_Custom_Price__c = 999.00;
            coc6.Consumable_count__c = 3;
            coc6.Consumable_product__c = pro1.Id;
            coc6.Box_Piece__c = '个';
            coc6.isOutPattern__c = true;
            coc6.Consumable_order__c = createIdSend1.Id;
            coc6.Unitprice_To_agency__c = 999.00;
            coc6.Delivery_List_RMB__c = 9999.00;
            coc6.Shipment_Count__c = 9999.00;
            coc6.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
            Consumable_orderdetails__c coc7 = new Consumable_orderdetails__c();
            coc7.Name = 'Too008';
            coc7.Dealer_Custom_Price__c = 999.00;
            coc7.Consumable_count__c = 3;
            coc7.Consumable_product__c = pro1.Id;
            coc7.Box_Piece__c = '盒';
            coc7.isOutPattern__c = true;
            coc7.Consumable_order__c = createIdSend1.Id;
            coc7.Unitprice_To_agency__c = 999.00;
            coc7.Delivery_List_RMB__c = 100;
            coc7.Shipment_Count__c = 0;
            coc7.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
            insert new Consumable_orderdetails__c[]{coc,coc1,coc2,coc3,coc4,coc5,coc6,coc7};
            Consumable_order_details2__c conOrderDetail1 = new Consumable_order_details2__c();
            conOrderDetail1.Name = 'OCM_01_001001';
            conOrderDetail1.Consumable_ZS_order__c = createIdSend.Id;
            conOrderDetail1.Consumable_Product__c = pro1.Id;
            conOrderDetail1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            conOrderDetail1.Bar_Code__c = '11111';
            conOrderDetail1.Arrive_date__c = Date.today().addDays(1);
            conOrderDetail1.Send_Date__c = null;
            conOrderDetail1.Used_date__c = null;
            conOrderDetail1.Return_date__c = null;
            conOrderDetail1.Consumable_order_minor__c = createIdSend.Id;
            conOrderDetail1.Lose_Flag__c = false;
            conOrderDetail1.Cancellation_Flag__c = false;
            conOrderDetail1.Box_Piece__c = '盒';
            conOrderDetail1.Sterilization_limit__c = Date.Today();
            insert new Consumable_order_details2__c[]{conOrderDetail1};
            List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
            LexSummonsCreatController.ConsumableorderdetailsInfoLwc c0 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
            c0.check = true;
            c0.oldCheck = false;
            c0.hospitalSpecialOffer = true;
            c0.orderdetails1 = coc;
            c0.orderdetails2 = conOrderDetail1;
            c0.Prod = pro1;
            c0.Boxnumber = 0.00;
            c0.Piecenumber = 0.00;
            c0.allnumber = 1999.00;
            c0.oldConsumableCount = 1999.00;
            c0.canSelect = true;
            c0.sortBy = true;
            c0.packinglist = 1;
            c0.approbation_No = '';
            c0.expiration_Date = Date.Today();
            c0.boxorpiecein = '';
            c0.boxorpiece = null;
            c0.boxorpieceMap = null;
            c0.concc = null;
            c0.BoxPiece = null;
            c0.hosPro = true;
            pageRecords.add(c0);
            List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords1 = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
            LexSummonsCreatController.ConsumableorderdetailsInfoLwc c1 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
            c1.check = true;
            c1.oldCheck = true;
            c1.hospitalSpecialOffer = true;
            c1.orderdetails1 = coc;
            c1.orderdetails2 = conOrderDetail1;
            c1.Prod = pro1;
            c1.Boxnumber = 0.00;
            c1.Piecenumber = 0.00;
            c1.allnumber = 1999.00;
            c1.oldConsumableCount = 1999.00;
            c1.canSelect = true;
            c1.sortBy = true;
            c1.packinglist = 1;
            c1.approbation_No = '';
            c1.expiration_Date = Date.Today();
            c1.boxorpiecein = '';
            c1.boxorpiece = null;
            c1.boxorpieceMap = null;
            c1.concc = null;
            c1.BoxPiece = null;
            c1.hosPro = true;
            pageRecords1.add(c1);
            List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords2 = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
            LexSummonsCreatController.ConsumableorderdetailsInfoLwc c2 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
            c2.check = true;
            c2.oldCheck = false;
            c2.hospitalSpecialOffer = true;
            c2.orderdetails1 = coc1;
            c2.orderdetails2 = conOrderDetail1;
            c2.Prod = pro1;
            c2.Boxnumber = 0.00;
            c2.Piecenumber = 0.00;
            c2.allnumber = 1999.00;
            c2.oldConsumableCount = 1999.00;
            c2.canSelect = true;
            c2.sortBy = true;
            c2.packinglist = 1;
            c2.approbation_No = '';
            c2.expiration_Date = Date.Today();
            c2.boxorpiecein = '';
            c2.boxorpiece = null;
            c2.boxorpieceMap = null;
            c2.concc = null;
            c2.BoxPiece = null;
            c2.hosPro = true;
            pageRecords2.add(c2);
            List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords3 = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
            LexSummonsCreatController.ConsumableorderdetailsInfoLwc c3 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
            c3.check = true;
            c3.oldCheck = true;
            c3.hospitalSpecialOffer = true;
            c3.orderdetails1 = coc2;
            c3.orderdetails2 = conOrderDetail1;
            c3.Prod = pro1;
            c3.Boxnumber = 0.00;
            c3.Piecenumber = 0.00;
            c3.allnumber = 199999.00;
            c3.oldConsumableCount = 1999.00;
            c3.canSelect = true;
            c3.sortBy = true;
            c3.packinglist = 1;
            c3.approbation_No = '';
            c3.expiration_Date = Date.Today();
            c3.boxorpiecein = '';
            c3.boxorpiece = null;
            c3.boxorpieceMap = null;
            c3.concc = null;
            c3.BoxPiece = null;
            c3.hosPro = true;
            pageRecords3.add(c3);
            List<LexSummonsCreatController.ConsumableorderdetailsInfo> consumable = new List<LexSummonsCreatController.ConsumableorderdetailsInfo>();
            LexSummonsCreatController.ConsumableorderdetailsInfo codi = new LexSummonsCreatController.ConsumableorderdetailsInfo();
            codi.check = true;
            codi.hospitalSpecialOffer = true;
            codi.packinglist = 0;
            codi.approbation_No = null;
            codi.expiration_Date = Date.Today();
            codi.boxorpiecein = null;
            codi.orderdetails1 = coc;
            codi.Prod = pro1;
            consumable.add(codi);
            System.Test.startTest();
            LexSummonsCreatController.save(createIdSend,'','','',pageRecords,accountId,createIdSend.Id,consumable,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend,'','','',pageRecords1,accountId,createIdSend.Id,consumable,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend,'','','',pageRecords2,accountId,createIdSend.Id,consumable,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend,'','','',pageRecords3,accountId,createIdSend.Id,consumable,agencyProType,userWorkLocation);
            System.Test.stopTest();
        }
    }
    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 };
    @isTest
    static void testSave(){
        Account accountItem1;
        Account accountItem2;
        User userTest;
        String rectCo = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Agency').getRecordTypeId();
        String rectHp = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('HP').getRecordTypeId();
        Profile prof = [SELECT Id FROM Profile WHERE Name ='901_经销商社区普通权限_2重验证(ET)'];
        accountItem1 = new Account(Name='Testaccount001',RecordTypeId = rectCo, AgentCode_Ext__c = '9999900',Contract_Decide_Start_Date__c = Date.today(),ENG_Dealer__c = true);
        insert accountItem1;
        accountItem2 = new Account(Name='Testaccount002',RecordTypeId = rectHp, AgentCode_Ext__c = '9999999', ParentId = accountItem1.Id);
        insert accountItem2;
        Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe', lastname='Plumber', accountId = accountItem1.Id);
        insert core;
        System.runAs(new user(ID = UserInfo.getUserID())) {
            userTest = New User(ContactId = core.id, Alias = 'newUser', Email='newuser@testorg.com', EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN', LocaleSidKey='zh_CN', ProfileId = prof.Id, TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com', UserPro_Type__c='ENG', Work_Location__c='北京');
            insert userTest;
        }
        System.runAs(userTest){
            String userId = UserInfo.getUserId();
            User thisUserInfo = [SELECT accountid, UserPro_Type__c, ContactId, Contact.AccountId,Contact.Account.Name, Work_Location__c FROM User WHERE id =:userId];
            String accountId = thisUserInfo.accountid;
            String accountName = thisUserInfo.Contact.Account.Name;
            String agencyProType = thisUserInfo.UserPro_Type__c;
            String userWorkLocation = thisUserInfo.Work_Location__c;
            thisUserInfo.UserPro_Type__c = '';
            update thisUserInfo;
            if (String.isBlank(thisUserInfo.UserPro_Type__c)) {
                agencyProType = 'ET';
            }
           Product2 prod07 = new Product2(Name='Test07',ProductCode='Test07',Asset_Model_No__c = 'Test07',Category3__c = 'Test7',Category4__c = 'Test77',Category5__c = 'Test777',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c = 1,Manual_Entry__c = false);
           insert new Product2[] {prod07};
            Product2__c pro1 = new Product2__c(Name='MH-155:白平衡帽',OT_CODE_Text__c='Test001',Product2__c = prod07.Id,Category3_text__c = 'test123', Category4_text__c = 'test123', Category5_text__c = 'test123');
         insert new Product2__c[] {pro1};
      Consumable_order__c Order0 = new Consumable_order__c();
      Order0.Name = 'OCM_01_000';
      Order0.Order_status__c = '批准';
      Order0.Order_type__c = '订单';
      Order0.Dealer_Info__c = myAccount1.id;
      Order0.RecordTypeid = System.Label.RT_ConOrder_Delivery;
      Order0.Order_ProType__c = 'ET';
      insert Order0;
            Consumable_order__c createIdSend = new Consumable_order__c();
            createIdSend.Name = 'testMing1';
            createIdSend.Order_status__c = '批准';
            createIdSend.Deliver_date__c = Date.today();
            createIdSend.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            createIdSend.Order_type__c = '订单';
            createIdSend.Order_ProType__c = 'ENG';
            createIdSend.SummonsForDirction__c = 'Test123456';
            createIdSend.Order_ForDealerText__c = '';
            createIdSend.Order_ForDealer__c = accountItem1.Id;
            createIdSend.Order_ForCustomerText__c = '';
            createIdSend.SummonsStatus_c__c = '批准';
            createIdSend.Dealer_Info__c = accountItem1.Id;
            createIdSend.Delivery_detail_count__c = 5;
      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_Arrive;
      Order1.Order_ProType__c = 'ET';
      Order1.OutPattern__c = true;
      Order1.Arrive_Order__c = Order0.Id;
      Order1.SummonsStatus_c__c = '已提交';
      Order1.SummonsForDirction__c = '直接销售给医院';
      insert Order1;
      Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c();
      Orderdet.Name = 'OCM_01_00101';
      Orderdet.Consumable_order__c = Order0.Id;
      Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
      Orderdet.Consumable_Product__c = pro1.Id;
      Orderdet.Consumable_count__c = 4;
      Orderdet.Shipment_Count__c = 10;
      Orderdet.isOutPattern__c = true;
      Orderdet.Delivery_List_RMB__c = 100;
      Orderdet.Box_Piece__c = '盒';
      insert Orderdet;
      Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c();
      Orderdet1.Name = 'OCM_01_001001';
      Orderdet1.Consumable_order_minor__c = Order1.Id;
      Orderdet1.Consumable_Product__c = pro1.Id;
      Orderdet1.Asset_Model_No__c = 'Test01';
      Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
      Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRF';
      Orderdet1.Cancellation_Date__c = null;
      Orderdet1.TracingCode__c = 'BXJRF';
      Orderdet1.SerialLotNo__c = '5ZK';
      Orderdet1.Arrive_date__c = Date.today();
      Orderdet1.exchangeOutPattern__c = true;
      Orderdet1.Consumable_ZS_order__c = Order1.Id;
      Orderdet1.Box_Piece__c = '盒';
      Orderdet1.Sterilization_limit__c = Date.today().addDays(2);
      insert Orderdet1;
      System.Test.startTest();
      LexSummonsCreatController.init('', 'edit', 10, 1, Order1.Id);
      System.Test.stopTest();
            Consumable_order__c createIdSend1 = new Consumable_order__c();
            createIdSend.Name = 'testMing1';
            createIdSend.Order_status__c = '批准';
            createIdSend.Deliver_date__c = Date.today();
            createIdSend.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            createIdSend.Order_type__c = '订单';
            createIdSend.Order_ProType__c = 'ENG';
            createIdSend.SummonsForDirction__c = '互相调货';
            createIdSend.Order_ForDealerText__c = 'Test';
            createIdSend.Order_ForDealer__c = accountItem1.Id;
            createIdSend.Order_ForCustomerText__c = '';
            createIdSend.SummonsStatus_c__c = '';
            createIdSend.Dealer_Info__c = accountItem1.Id;
            createIdSend.Delivery_detail_count__c = 5;
            Consumable_order__c createIdSend2 = new Consumable_order__c();
            createIdSend2.Name = 'testMing1';
            createIdSend2.Order_status__c = '批准';
            createIdSend2.Deliver_date__c = Date.today();
            createIdSend2.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            createIdSend2.Order_type__c = '订单';
            createIdSend2.Order_ProType__c = 'ENG';
            createIdSend2.SummonsForDirction__c = '直接销售给医院';
            createIdSend2.Order_ForDealerText__c = '';
            createIdSend2.Order_ForDealer__c = accountItem1.Id;
            createIdSend2.Order_ForCustomerText__c = '';
            createIdSend2.SummonsStatus_c__c = '价格未定';
            createIdSend2.Dealer_Info__c = accountItem1.Id;
            createIdSend2.Delivery_detail_count__c = 5;
            insert new Consumable_order__c[] {createIdSend,createIdSend1,createIdSend2};
            Consumable_orderdetails__c coc = new Consumable_orderdetails__c();
            coc.Name = 'Too001';
            coc.Dealer_Custom_Price__c = 999.00;
            coc.Consumable_count__c = 3;
            coc.Consumable_product__c = pro1.Id;
            coc.Box_Piece__c = '盒';
            coc.isOutPattern__c = true;
            coc.Consumable_order__c = createIdSend.Id;
            coc.Unitprice_To_agency__c = 999.00;
            coc.Delivery_List_RMB__c = 999.00;
            coc.Shipment_Count__c = 10000;
            coc.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
            Consumable_orderdetails__c coc1 = new Consumable_orderdetails__c();
            coc1.Name = 'Too001';
            coc1.Dealer_Custom_Price__c = 999.00;
            coc1.Consumable_count__c = 3;
            coc1.Consumable_product__c = pro1.Id;
            coc1.Box_Piece__c = '盒';
            coc1.isOutPattern__c = true;
            coc1.Consumable_order__c = createIdSend.Id;
            coc1.Unitprice_To_agency__c = 999.00;
            coc1.Delivery_List_RMB__c = -999.00;
            coc1.Shipment_Count__c = 10000;
            coc1.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
            Consumable_orderdetails__c coc2 = new Consumable_orderdetails__c();
            coc2.Name = 'Too001';
            coc2.Dealer_Custom_Price__c = 999.00;
            coc2.Consumable_count__c = 3;
            coc2.Consumable_product__c = pro1.Id;
            coc2.Box_Piece__c = '个';
            coc2.isOutPattern__c = true;
            coc2.Consumable_order__c = createIdSend.Id;
            coc2.Unitprice_To_agency__c = 999.00;
            coc2.Delivery_List_RMB__c = null;
            coc2.Shipment_Count__c = 10000;
            coc2.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
            Consumable_orderdetails__c coc3 = new Consumable_orderdetails__c();
            coc3.Name = 'Too001';
            coc3.Dealer_Custom_Price__c = 999.00;
            coc3.Consumable_count__c = 3;
            coc3.Consumable_product__c = pro1.Id;
            coc3.Box_Piece__c = '';
            coc3.isOutPattern__c = true;
            coc3.Consumable_order__c = createIdSend2.Id;
            coc3.Unitprice_To_agency__c = 999.00;
            coc3.Delivery_List_RMB__c = 0;
            coc3.Shipment_Count__c = 10000;
            coc3.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
            Consumable_orderdetails__c coc4 = new Consumable_orderdetails__c();
            coc4.Name = 'Too001';
            coc4.Dealer_Custom_Price__c = 999.00;
            coc4.Consumable_count__c = 3;
            coc4.Consumable_product__c = pro1.Id;
            coc4.Box_Piece__c = '';
            coc4.isOutPattern__c = true;
            coc4.Consumable_order__c = createIdSend2.Id;
            coc4.Unitprice_To_agency__c = 999.00;
            coc4.Delivery_List_RMB__c = 0;
            coc4.Shipment_Count__c = 10000;
            coc4.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
            Consumable_orderdetails__c coc5 = new Consumable_orderdetails__c();
            coc5.Name = 'Too001';
            coc5.Dealer_Custom_Price__c = 999.00;
            coc5.Consumable_count__c = 3;
            coc5.Consumable_product__c = pro1.Id;
            coc5.Box_Piece__c = '盒';
            coc5.isOutPattern__c = true;
            coc5.Consumable_order__c = createIdSend2.Id;
            coc5.Unitprice_To_agency__c = 999.00;
            coc5.Delivery_List_RMB__c = 100;
            coc5.Shipment_Count__c = 10000;
            coc5.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
            insert new Consumable_orderdetails__c[]{coc,coc1,coc2,coc3,coc4,coc5};
            Consumable_order_details2__c conOrderDetail1 = new Consumable_order_details2__c();
            conOrderDetail1.Name = 'OCM_01_001001';
            conOrderDetail1.Consumable_ZS_order__c = createIdSend.Id;
            conOrderDetail1.Consumable_Product__c = pro1.Id;
            conOrderDetail1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            conOrderDetail1.Bar_Code__c = '11111';
            conOrderDetail1.Arrive_date__c = Date.today().addDays(1);
            conOrderDetail1.Send_Date__c = null;
            conOrderDetail1.Used_date__c = null;
            conOrderDetail1.Return_date__c = null;
            conOrderDetail1.Consumable_order_minor__c = createIdSend.Id;
            conOrderDetail1.Lose_Flag__c = false;
            conOrderDetail1.Box_Piece__c = '盒';
            insert new Consumable_order_details2__c[]{conOrderDetail1};
            hospitalprice__c hp1 = new hospitalprice__c();
            hp1.hospital__c = accountId;
            hp1.account__c = accountId;
            hp1.product__c = pro1.Id;
            insert new hospitalprice__c[]{hp1};
            List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecordsList = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
            LexSummonsCreatController.ConsumableorderdetailsInfoLwc cod = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
            cod.check = true;
            cod.oldCheck = true;
            cod.hospitalSpecialOffer = true;
            cod.orderdetails1 = coc;
            cod.orderdetails2 = conOrderDetail1;
            cod.Prod = pro1;
            cod.Boxnumber = 0.00;
            cod.Piecenumber = 0.00;
            cod.allnumber = 1999.00;
            cod.oldConsumableCount = 1999.00;
            cod.canSelect = true;
            cod.sortBy = true;
            cod.packinglist = 1;
            cod.approbation_No = '';
            cod.expiration_Date = Date.Today();
            cod.boxorpiecein = '';
            cod.boxorpiece = null;
            cod.boxorpieceMap = null;
            cod.concc = null;
            cod.BoxPiece = null;
            cod.hosPro = true;
            pageRecordsList.add(cod);
            List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
            LexSummonsCreatController.ConsumableorderdetailsInfoLwc c7 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
            c7.check = false;
            c7.oldCheck = true;
            c7.hospitalSpecialOffer = false;
            c7.orderdetails1 = coc1;
            c7.orderdetails2 = conOrderDetail1;
            c7.Prod = pro1;
            c7.Boxnumber = 0.00;
            c7.Piecenumber = 0.00;
            c7.allnumber = 1999.00;
            c7.oldConsumableCount = 1999.00;
            c7.canSelect = true;
            c7.sortBy = true;
            c7.packinglist = 1;
            c7.approbation_No = '';
            c7.expiration_Date = Date.Today();
            c7.boxorpiecein = '';
            c7.boxorpiece = null;
            c7.boxorpieceMap = null;
            c7.concc = null;
            c7.BoxPiece = null;
            c7.hosPro = true;
            pageRecords.add(c7);
            List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords2 = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
            LexSummonsCreatController.ConsumableorderdetailsInfoLwc c9 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
            c9.check = true;
            c9.oldCheck = true;
            c9.hospitalSpecialOffer = true;
            c9.orderdetails1 = coc3;
            c9.orderdetails2 = conOrderDetail1;
            c9.Prod = pro1;
            c9.Boxnumber = 0.00;
            c9.Piecenumber = 0.00;
            c9.allnumber = 1999.00;
            c9.oldConsumableCount = 1999.00;
            c9.canSelect = true;
            c9.sortBy = true;
            c9.packinglist = 1;
            c9.approbation_No = '';
            c9.expiration_Date = Date.Today();
            c9.boxorpiecein = '';
            c9.boxorpiece = null;
            c9.boxorpieceMap = null;
            c9.concc = null;
            c9.BoxPiece = null;
            c9.hosPro = true;
            pageRecords2.add(c9);
            List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords3 = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
            LexSummonsCreatController.ConsumableorderdetailsInfoLwc c10 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
            c10.check = true;
            c10.oldCheck = false;
            c10.hospitalSpecialOffer = true;
            c10.orderdetails1 = coc4;
            c10.orderdetails2 = conOrderDetail1;
            c10.Prod = pro1;
            c10.Boxnumber = 0.00;
            c10.Piecenumber = 0.00;
            c10.allnumber = 1999.00;
            c10.oldConsumableCount = 1999.00;
            c10.canSelect = true;
            c10.sortBy = true;
            c10.packinglist = 1;
            c10.approbation_No = '';
            c10.expiration_Date = Date.Today();
            c10.boxorpiecein = '';
            c10.boxorpiece = null;
            c10.boxorpieceMap = null;
            c10.concc = null;
            c10.BoxPiece = null;
            c10.hosPro = true;
            pageRecords3.add(c10);
            List<LexSummonsCreatController.ConsumableorderdetailsInfo> consumable = new List<LexSummonsCreatController.ConsumableorderdetailsInfo>();
            LexSummonsCreatController.ConsumableorderdetailsInfo codi = new LexSummonsCreatController.ConsumableorderdetailsInfo();
            codi.check = true;
            codi.oldCheck = true;
            codi.hospitalSpecialOffer = true;
            codi.packinglist = 0;
            codi.approbation_No = null;
            codi.expiration_Date = Date.Today();
            codi.boxorpiecein = null;
            codi.orderdetails1 = coc;
            codi.Prod = pro1;
            consumable.add(codi);
            List<LexSummonsCreatController.ConsumableorderdetailsInfo> consumableList = new List<LexSummonsCreatController.ConsumableorderdetailsInfo>();
            LexSummonsCreatController.ConsumableorderdetailsInfo codi1 = new LexSummonsCreatController.ConsumableorderdetailsInfo();
            codi1.check = false;
            codi1.oldCheck = true;
            codi1.hospitalSpecialOffer = false;
            codi1.packinglist = 0;
            codi1.approbation_No = null;
            codi1.expiration_Date = Date.Today();
            codi1.boxorpiecein = null;
            codi1.orderdetails1 = coc;
            codi1.Prod = pro1;
            consumableList.add(codi1);
            Integer size = Integer.valueOf(System.Label.orderdetLimitsize);
            String ESetId = createIdSend.Id;
            String statusEdit = 'Test';
            String arrive = createIdSend.Id;
            System.Test.startTest();
            LexSummonsCreatController.firstInit(ESetId);
            LexSummonsCreatController.init(ESetId,statusEdit,1,100,arrive);
            LexSummonsCreatController.init(ESetId,null,1,100,arrive);
            LexSummonsCreatController.GoodsDelivery(createIdSend2,createIdSend2.Id,pageRecords);
            LexSummonsCreatController.save(createIdSend,accountId,'Test',accountItem1.Id,pageRecordsList,accountId,createIdSend.Id,consumable,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend,accountId,'Test',accountItem1.Id,pageRecords,accountId,createIdSend.Id,consumable,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend,accountId,'Test',accountItem1.Id,null,accountId,createIdSend.Id,null,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend,accountId,'Test',accountItem1.Id,pageRecords,accountId,null,consumableList,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend2,accountId,'Test',null,pageRecords,accountId,createIdSend2.Id,null,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend2,accountId,'Test',null,pageRecords2,accountId,createIdSend2.Id,null,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend2,accountId,'Test',null,pageRecords3,accountId,createIdSend2.Id,null,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend1,'','',accountItem1.Id,pageRecords3,accountId,createIdSend2.Id,null,agencyProType,userWorkLocation);
            System.Test.stopTest();
        }
    }
  }
}
    @isTest
    static void testAttachment(){
        Account accountItem1;
        Account accountItem2;
        User userTest;
        String rectCo = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Agency').getRecordTypeId();
        String rectHp = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('HP').getRecordTypeId();
        Profile prof = [SELECT Id FROM Profile WHERE Name ='901_经销商社区普通权限_2重验证(ET)'];
        accountItem1 = new Account(Name='Testaccount001',RecordTypeId = rectCo, AgentCode_Ext__c = '9999900',Contract_Decide_Start_Date__c = Date.today(),ENG_Dealer__c = true);
        insert accountItem1;
        accountItem2 = new Account(Name='Testaccount002',RecordTypeId = rectHp, AgentCode_Ext__c = '9999999', ParentId = accountItem1.Id);
        insert accountItem2;
        Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe', lastname='Plumber', accountId = accountItem1.Id);
        insert core;
        System.runAs(new user(ID = UserInfo.getUserID())) {
            userTest = New User(ContactId = core.id, Alias = 'newUser', Email='newuser@testorg.com', EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN', LocaleSidKey='zh_CN', ProfileId = prof.Id, TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com', UserPro_Type__c='ENG', Work_Location__c='北京');
            insert userTest;
        }
        System.runAs(userTest){
            String userId = UserInfo.getUserId();
            User thisUserInfo = [SELECT accountid, UserPro_Type__c, ContactId, Contact.AccountId,Contact.Account.Name, Work_Location__c FROM User WHERE id =:userId];
            String accountId = thisUserInfo.accountid;
            String accountName = thisUserInfo.Contact.Account.Name;
            String agencyProType = thisUserInfo.UserPro_Type__c;
            String userWorkLocation = thisUserInfo.Work_Location__c;
            thisUserInfo.UserPro_Type__c = '';
            update thisUserInfo;
            if (String.isBlank(thisUserInfo.UserPro_Type__c)) {
                agencyProType = 'ET';
            }
           Product2 prod07 = new Product2(Name='Test07',ProductCode='Test07',Asset_Model_No__c = 'Test07',Category3__c = 'Test7',Category4__c = 'Test77',Category5__c = 'Test777',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c = 1,Manual_Entry__c = false);
           insert new Product2[] {prod07};
            Product2__c pro1 = new Product2__c(Name='MH-155:白平衡帽',OT_CODE_Text__c='Test001',Product2__c = prod07.Id,Category3_text__c = 'test123', Category4_text__c = 'test123', Category5_text__c = 'test123');
         insert new Product2__c[] {pro1};
            //发货
            Consumable_order__c createIdSend = new Consumable_order__c();
            createIdSend.Name = 'testMing1';
            createIdSend.Order_status__c = '批准';
            createIdSend.Deliver_date__c = Date.today();
            createIdSend.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            createIdSend.Order_type__c = '订单';
            createIdSend.Order_ProType__c = 'ENG';
            createIdSend.SummonsForDirction__c = '直接销售给医院';
            createIdSend.Order_ForDealerText__c = 'Test';
            createIdSend.Order_ForCustomerText__c = 'Test';
            createIdSend.SummonsStatus_c__c = '批准';
            createIdSend.Dealer_Info__c = accountItem1.Id;
            createIdSend.Delivery_detail_count__c = 5;
            Consumable_order__c createIdSend1 = new Consumable_order__c();
            createIdSend1.Name = 'testMing1';
            createIdSend1.Order_status__c = '批准';
            createIdSend1.Deliver_date__c = Date.today();
            createIdSend1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            createIdSend1.Order_type__c = '订单';
            createIdSend1.Order_ProType__c = 'ENG';
            createIdSend1.SummonsForDirction__c = '医院试用';
            createIdSend1.Order_ForDealerText__c = 'Test';
            createIdSend1.Order_ForCustomerText__c = '';
            createIdSend1.SummonsStatus_c__c = '批准';
            createIdSend1.Dealer_Info__c = accountItem1.Id;
            createIdSend1.Delivery_detail_count__c = 5;
            Consumable_order__c createIdSend2 = new Consumable_order__c();
            createIdSend2.Name = 'testMing1';
            createIdSend2.Order_status__c = '批准';
            createIdSend2.Deliver_date__c = Date.today();
            createIdSend2.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            createIdSend2.Order_type__c = '订单';
            createIdSend2.Order_ProType__c = 'ENG';
            createIdSend2.SummonsForDirction__c = '互相调货';
            createIdSend2.Order_ForDealerText__c = '';
            createIdSend2.Order_ForCustomerText__c = 'Test';
            createIdSend2.SummonsStatus_c__c = '批准';
            createIdSend2.Dealer_Info__c = accountItem1.Id;
            createIdSend2.Delivery_detail_count__c = 5;
            insert new Consumable_order__c[] {createIdSend,createIdSend1,createIdSend2};
            Consumable_orderdetails__c coc = new Consumable_orderdetails__c();
            coc.Name = 'Too001';
            coc.Dealer_Custom_Price__c = 999.00;
            coc.Consumable_count__c = 3;
            coc.Consumable_product__c = pro1.Id;
            coc.Box_Piece__c = '盒';
            coc.isOutPattern__c = true;
            coc.Consumable_order__c = createIdSend.Id;
            coc.Unitprice_To_agency__c = 999.00;
            coc.Delivery_List_RMB__c = 999.00;
            coc.Shipment_Count__c = null;
            coc.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
            Consumable_orderdetails__c coc2 = new Consumable_orderdetails__c();
            coc2.Name = 'Too001';
            coc2.Dealer_Custom_Price__c = 999.00;
            coc2.Consumable_count__c = 3;
            coc2.Consumable_product__c = pro1.Id;
            coc2.Box_Piece__c = '个';
            coc2.isOutPattern__c = true;
            coc2.Consumable_order__c = createIdSend.Id;
            coc2.Unitprice_To_agency__c = 999.00;
            coc2.Delivery_List_RMB__c = 0;
            coc2.Shipment_Count__c = 0;
            coc2.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
            insert new Consumable_orderdetails__c[]{coc,coc2};
            Consumable_order_details2__c conOrderDetail1 = new Consumable_order_details2__c();
            conOrderDetail1.Name = 'OCM_01_001001';
            conOrderDetail1.Consumable_ZS_order__c = createIdSend.Id;
            conOrderDetail1.Consumable_Product__c = pro1.Id;
            conOrderDetail1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            conOrderDetail1.Bar_Code__c = '11111';
            conOrderDetail1.Arrive_date__c = Date.today().addDays(1);
            conOrderDetail1.Send_Date__c = null;
            conOrderDetail1.Used_date__c = null;
            conOrderDetail1.Return_date__c = null;
            conOrderDetail1.Consumable_order_minor__c = createIdSend.Id;
            conOrderDetail1.Lose_Flag__c = false;
            conOrderDetail1.Box_Piece__c = '盒';
            insert new Consumable_order_details2__c[]{conOrderDetail1};
            hospitalprice__c hp1 = new hospitalprice__c();
            hp1.hospital__c = accountId;
            hp1.account__c = accountId;
            hp1.product__c = pro1.Id;
            insert new hospitalprice__c[]{hp1};
            Attachment attach = new Attachment();
            attach.Name='A-65224941-20200923--1.docx';
            Blob bodyBlob= Blob.valueOf('Unit Test Attachment Body');
            attach.body = bodyBlob;
            attach.ParentId = createIdSend.id;
            attach.ContentType = 'application/pdf';
            insert new Attachment[] {attach};
            System.Test.startTest();
            List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecordsLwcLwc = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
            LexSummonsCreatController.ConsumableorderdetailsInfoLwc c5 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
            c5.check = true;
            c5.hospitalSpecialOffer = true;
            c5.orderdetails1 = coc;
            c5.allnumber = 1999.00;
            pageRecordsLwcLwc.add(c5);
            List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecordsList= new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
            LexSummonsCreatController.ConsumableorderdetailsInfoLwc c8 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
            c8.check = true;
            c8.hospitalSpecialOffer = true;
            c8.orderdetails1 = coc2;
            c8.allnumber = 1999.00;
            pageRecordsList.add(c8);
            List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
            LexSummonsCreatController.ConsumableorderdetailsInfoLwc c6 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
            c6.check = false;
            c6.hospitalSpecialOffer = false;
            c6.orderdetails1 = coc;
            c6.allnumber = 1999.00;
            pageRecords.add(c6);
            List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecordsLwc = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
            LexSummonsCreatController.ConsumableorderdetailsInfoLwc c7 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
            c7.check = true;
            c7.oldCheck = true;
            c7.hospitalSpecialOffer = true;
            c7.orderdetails1 = coc;
            c7.orderdetails2 = conOrderDetail1;
            c7.Prod = pro1;
            c7.Boxnumber = 0.00;
            c7.Piecenumber = 0.00;
            c7.allnumber = 1999.00;
            c7.oldConsumableCount = 1999.00;
            c7.canSelect = true;
            c7.sortBy = true;
            c7.packinglist = 1;
            c7.approbation_No = '';
            c7.expiration_Date = Date.Today();
            c7.boxorpiecein = '';
            c7.boxorpiece = null;
            c7.boxorpieceMap = null;
            c7.concc = null;
            c7.BoxPiece = null;
            c7.hosPro = true;
            pageRecordsLwc.add(c7);
            List<LexSummonsCreatController.ConsumableorderdetailsInfo> consumable = new List<LexSummonsCreatController.ConsumableorderdetailsInfo>();
            LexSummonsCreatController.ConsumableorderdetailsInfo codi = new LexSummonsCreatController.ConsumableorderdetailsInfo();
            codi.check = true;
            codi.oldCheck = true;
            codi.hospitalSpecialOffer = true;
            codi.packinglist = 0;
            codi.approbation_No = null;
            codi.expiration_Date = Date.Today();
            codi.boxorpiecein = null;
            codi.orderdetails1 = coc;
            codi.Prod = pro1;
            LexSummonsCreatController.ConsumableorderdetailsInfo codi1 = new LexSummonsCreatController.ConsumableorderdetailsInfo();
            codi1.check = false;
            codi1.oldCheck = true;
            codi1.hospitalSpecialOffer = false;
            codi1.packinglist = 0;
            codi1.approbation_No = null;
            codi1.expiration_Date = Date.Today();
            codi1.boxorpiecein = null;
            codi1.orderdetails1 = coc;
            codi1.Prod = pro1;
            consumable.add(codi);
            Integer size = Integer.valueOf(System.Label.orderdetLimitsize);
            String ESetId = createIdSend.Id;
            String statusEdit = 'Test';
            String arrive = createIdSend.Id;
            LexSummonsCreatController.firstInit(ESetId);
            LexSummonsCreatController.init(ESetId,statusEdit,1,100,arrive);
            LexSummonsCreatController.save(createIdSend,'Test','Test','Test',pageRecordsLwc,accountId,createIdSend.Id,consumable,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend1,'Test','Test','Test',pageRecordsLwc,accountId,createIdSend1.Id,consumable,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend2,'','','',pageRecordsLwc,accountId,createIdSend2.Id,consumable,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend,'','','',pageRecordsList,accountId,null,consumable,agencyProType,userWorkLocation);
            LexSummonsCreatController.searchConsumableorderdetails(agencyProType,accountName,userWorkLocation,'ishos','Test07','Test7','Test77','Test777',true,pageRecordsLwc,consumable,'',1,100);
            LexSummonsCreatController.ConsumableorderdetailsInfo con = new LexSummonsCreatController.ConsumableorderdetailsInfo(attach);
            con.concc = attach;
            con.hospitalSpecialOffer = false;
            con.hosPro = false;
            System.Test.stopTest();
        }
    }
    @isTest
    static void testSave1(){
        Account accountItem1;
        Account accountItem2;
        User userTest;
        String rectCo = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Agency').getRecordTypeId();
        String rectHp = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('HP').getRecordTypeId();
        Profile prof = [SELECT Id FROM Profile WHERE Name ='901_经销商社区普通权限_2重验证(ET)'];
        accountItem1 = new Account(Name='Testaccount001',RecordTypeId = rectCo, AgentCode_Ext__c = '9999900',Contract_Decide_Start_Date__c = Date.today(),ENG_Dealer__c = true);
        insert accountItem1;
        accountItem2 = new Account(Name='Testaccount002',RecordTypeId = rectHp, AgentCode_Ext__c = '9999999', ParentId = accountItem1.Id);
        insert accountItem2;
        Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe', lastname='Plumber', accountId = accountItem1.Id);
        insert core;
        System.runAs(new user(ID = UserInfo.getUserID())) {
            userTest = New User(ContactId = core.id, Alias = 'newUser', Email='newuser@testorg.com', EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN', LocaleSidKey='zh_CN', ProfileId = prof.Id, TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com', UserPro_Type__c='ENG', Work_Location__c='北京');
            insert userTest;
        }
        System.runAs(userTest){
            String userId = UserInfo.getUserId();
            User thisUserInfo = [SELECT accountid, UserPro_Type__c, ContactId, Contact.AccountId,Contact.Account.Name, Work_Location__c FROM User WHERE id =:userId];
            String accountId = thisUserInfo.accountid;
            String accountName = thisUserInfo.Contact.Account.Name;
            String agencyProType = thisUserInfo.UserPro_Type__c;
            String userWorkLocation = thisUserInfo.Work_Location__c;
            thisUserInfo.UserPro_Type__c = '';
            update thisUserInfo;
            if (String.isBlank(thisUserInfo.UserPro_Type__c)) {
                agencyProType = 'ET';
            }
           Product2 prod07 = new Product2(Name='Test07',ProductCode='Test07',Asset_Model_No__c = 'Test07',Category3__c = 'Test7',Category4__c = 'Test77',Category5__c = 'Test777',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c = 1,Manual_Entry__c = false);
           insert new Product2[] {prod07};
            Product2__c pro1 = new Product2__c(Name='MH-155:白平衡帽',OT_CODE_Text__c='Test001',Product2__c = prod07.Id,Category3_text__c = 'test123', Category4_text__c = 'test123', Category5_text__c = 'test123');
         insert new Product2__c[] {pro1};
            Consumable_order__c createIdSend = new Consumable_order__c();
            createIdSend.Name = 'testMing1';
            createIdSend.Order_status__c = '批准';
            createIdSend.Deliver_date__c = Date.today();
            createIdSend.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            createIdSend.Order_type__c = '订单';
            createIdSend.Order_ProType__c = 'ENG';
            createIdSend.SummonsForDirction__c = '互相调货';
            createIdSend.Order_ForDealerText__c = '';
            createIdSend.Order_ForCustomerText__c = '';
            createIdSend.SummonsStatus_c__c = '';
            createIdSend.Dealer_Info__c = accountItem1.Id;
            createIdSend.Delivery_detail_count__c = 5;
            Consumable_order__c createIdSend1 = new Consumable_order__c();
            createIdSend1.Name = 'testMing1';
            createIdSend1.Order_status__c = '批准';
            createIdSend1.Deliver_date__c = Date.today();
            createIdSend1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            createIdSend1.Order_type__c = '订单';
            createIdSend1.Order_ProType__c = 'ENG';
            createIdSend1.SummonsForDirction__c = '互相调货';
            createIdSend1.Order_ForDealerText__c = '';
            createIdSend1.Order_ForCustomerText__c = '';
            createIdSend1.SummonsStatus_c__c = '';
            createIdSend1.Arrive_Order__c = createIdSend.Id;
            createIdSend1.Order_ForDealerTextID__c = accountItem1.Id;
            createIdSend1.Dealer_Info__c = accountItem1.Id;
            createIdSend1.Delivery_detail_count__c = 5;
            insert new Consumable_order__c[] {createIdSend,createIdSend1};
            Consumable_orderdetails__c coc = new Consumable_orderdetails__c();
            coc.Name = 'Too001';
            coc.Dealer_Custom_Price__c = 999.00;
            coc.Consumable_count__c = 3;
            coc.Consumable_product__c = pro1.Id;
            coc.Box_Piece__c = '盒';
            coc.isOutPattern__c = true;
            coc.Consumable_order__c = createIdSend.Id;
            coc.Unitprice_To_agency__c = 999.00;
            coc.Delivery_List_RMB__c = 999.00;
            coc.Shipment_Count__c = null;
            coc.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
            Consumable_orderdetails__c coc1 = new Consumable_orderdetails__c();
            coc1.Name = 'Too001';
            coc1.Dealer_Custom_Price__c = 999.00;
            coc1.Consumable_count__c = 3;
            coc1.Consumable_product__c = pro1.Id;
            coc1.Box_Piece__c = '盒';
            coc1.isOutPattern__c = true;
            coc1.Consumable_order__c = createIdSend.Id;
            coc1.Unitprice_To_agency__c = 999.00;
            coc1.Delivery_List_RMB__c = null;
            coc1.Shipment_Count__c = 10000;
            coc1.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
            insert new Consumable_orderdetails__c[]{coc,coc1};
            Consumable_order_details2__c conOrderDetail1 = new Consumable_order_details2__c();
            conOrderDetail1.Name = 'OCM_01_001001';
            conOrderDetail1.Consumable_ZS_order__c = createIdSend.Id;
            conOrderDetail1.Consumable_Product__c = pro1.Id;
            conOrderDetail1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            conOrderDetail1.Bar_Code__c = '11111';
            conOrderDetail1.Arrive_date__c = Date.today().addDays(1);
            conOrderDetail1.Send_Date__c = null;
            conOrderDetail1.Used_date__c = null;
            conOrderDetail1.Return_date__c = null;
            conOrderDetail1.Consumable_order_minor__c = createIdSend.Id;
            conOrderDetail1.Lose_Flag__c = false;
            conOrderDetail1.Box_Piece__c = '盒';
            insert new Consumable_order_details2__c[]{conOrderDetail1};
            hospitalprice__c hp1 = new hospitalprice__c();
            hp1.hospital__c = accountId;
            hp1.account__c = accountId;
            hp1.product__c = pro1.Id;
            insert new hospitalprice__c[]{hp1};
            Integer size = Integer.valueOf(System.Label.orderdetLimitsize);
            String ESetId = createIdSend.Id;
            String statusEdit = 'Test';
            String arrive = createIdSend.Id;
            List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecordsLwc = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
            LexSummonsCreatController.ConsumableorderdetailsInfoLwc c7 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
            c7.check = true;
            c7.oldCheck = true;
            c7.hospitalSpecialOffer = true;
            c7.orderdetails1 = coc;
            c7.orderdetails2 = conOrderDetail1;
            c7.Prod = pro1;
            c7.Boxnumber = 0.00;
            c7.Piecenumber = 0.00;
            c7.allnumber = 1999.00;
            c7.oldConsumableCount = 1999.00;
            c7.canSelect = true;
            c7.sortBy = true;
            c7.packinglist = 1;
            c7.approbation_No = '';
            c7.expiration_Date = Date.Today();
            c7.boxorpiecein = '';
            c7.boxorpiece = null;
            c7.boxorpieceMap = null;
            c7.concc = null;
            c7.BoxPiece = null;
            c7.hosPro = true;
            pageRecordsLwc.add(c7);
            List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords1 = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
            LexSummonsCreatController.ConsumableorderdetailsInfoLwc c8 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
            c8.check = true;
            c8.oldCheck = true;
            c8.hospitalSpecialOffer = true;
            c8.orderdetails1 = coc1;
            c8.orderdetails2 = conOrderDetail1;
            c8.Prod = null;
            c8.Boxnumber = 0.00;
            c8.Piecenumber = 0.00;
            c8.allnumber = 1999.00;
            c8.oldConsumableCount = 1999.00;
            c8.canSelect = true;
            c8.sortBy = true;
            c8.packinglist = 1;
            c8.approbation_No = '';
            c8.expiration_Date = Date.Today();
            c8.boxorpiecein = '';
            c8.boxorpiece = null;
            c8.boxorpieceMap = null;
            c8.concc = null;
            c8.BoxPiece = null;
            c8.hosPro = true;
            pageRecords1.add(c8);
            List<LexSummonsCreatController.ConsumableorderdetailsInfo> consumable = new List<LexSummonsCreatController.ConsumableorderdetailsInfo>();
            LexSummonsCreatController.ConsumableorderdetailsInfo codi = new LexSummonsCreatController.ConsumableorderdetailsInfo();
            codi.check = true;
            codi.oldCheck = true;
            codi.hospitalSpecialOffer = true;
            codi.packinglist = 0;
            codi.approbation_No = null;
            codi.expiration_Date = Date.Today();
            codi.boxorpiecein = null;
            codi.orderdetails1 = coc;
            codi.Prod = pro1;
            LexSummonsCreatController.ConsumableorderdetailsInfo codi1 = new LexSummonsCreatController.ConsumableorderdetailsInfo();
            codi1.check = false;
            codi1.oldCheck = true;
            codi1.hospitalSpecialOffer = false;
            codi1.packinglist = 0;
            codi1.approbation_No = null;
            codi1.expiration_Date = Date.Today();
            codi1.boxorpiecein = null;
            codi1.orderdetails1 = coc;
            codi1.Prod = pro1;
            consumable.add(codi);
            System.Test.startTest();
            LexSummonsCreatController.save(createIdSend,'','','',pageRecordsLwc,accountId,createIdSend.Id,consumable,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend1,'','','',pageRecordsLwc,accountId,null,consumable,agencyProType,userWorkLocation);
            LexSummonsCreatController.save(createIdSend,'','','',pageRecords1,accountId,null,consumable,agencyProType,userWorkLocation);
            System.Test.stopTest();
        }
    }
    static testMethod void testInnerClass(){
        Account accountItem1;
        Account accountItem2;
        User userTest;
        String rectCo = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('Agency').getRecordTypeId();
        String rectHp = Schema.SObjectType.Account.getRecordTypeInfosByDeveloperName().get('HP').getRecordTypeId();
        Profile prof = [SELECT Id FROM Profile WHERE Name ='901_经销商社区普通权限_2重验证(ET)'];
        accountItem1 = new Account(Name='Testaccount001',RecordTypeId = rectCo, AgentCode_Ext__c = '9999900');
        insert accountItem1;
        accountItem2 = new Account(Name='Testaccount002',RecordTypeId = rectHp, AgentCode_Ext__c = '9999999', ParentId = accountItem1.Id,Contract_Decide_Start_Date__c = Date.today(),ENG_Dealer__c = true,BillingCity = null);
        insert accountItem2;
        Contact core = new Contact(email='jplumber@salesforce.com', firstname='Joe', lastname='Plumber', accountId = accountItem1.Id);
        insert core;
        System.runAs(new user(ID = UserInfo.getUserID())) {
            userTest = New User(ContactId = core.id, Alias = 'newUser', Email='newuser@testorg.com', EmailEncodingKey='UTF-8', LastName='TestUser', LanguageLocaleKey='zh_CN', LocaleSidKey='zh_CN', ProfileId = prof.Id, TimeZoneSidKey='Asia/Shanghai', UserName='testUser@testorg.com', UserPro_Type__c='ENG', Work_Location__c='北京');
            insert userTest;
        }
        System.runAs(userTest){
            String userId = UserInfo.getUserId();
            User thisUserInfo = [SELECT accountid, UserPro_Type__c, ContactId, Contact.AccountId,Contact.Account.Name, Work_Location__c FROM User WHERE id =:userId];
            String accountId = thisUserInfo.accountid;
            String accountName = thisUserInfo.Contact.Account.Name;
            String agencyProType = thisUserInfo.UserPro_Type__c;
            String userWorkLocation = thisUserInfo.Work_Location__c;
            thisUserInfo.UserPro_Type__c = '';
            update thisUserInfo;
            if (String.isBlank(thisUserInfo.UserPro_Type__c)) {
                agencyProType = 'ET';
            }
           Product2 prod07 = new Product2(Name='Test07',ProductCode='Test07',Asset_Model_No__c = 'Test07', ProductCode_Ext__c = 'Test07',Category3__c = 'Test7',Category4__c = 'Test77',Category5__c = 'Test777',SFDA_Status__c = '有効',Dealer_special_Object__c = true,Packing_list_manual__c = 1,Manual_Entry__c = false);
           insert new Product2[] {prod07};
            Product2__c pro1 = new Product2__c(Name='MH-155:白平衡帽',OT_CODE_Text__c='Test001',Product2__c = prod07.Id,Category3_text__c = 'test123', Category4_text__c = 'test123', Category5_text__c = 'test123');
         insert new Product2__c[] {pro1};
            Consumable_order__c createIdSend = new Consumable_order__c();
            createIdSend.Name = 'testMing1';
            createIdSend.Order_status__c = '批准';
            createIdSend.Deliver_date__c = Date.today();
            createIdSend.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            createIdSend.Order_type__c = '订单';
            createIdSend.Order_ProType__c = 'ENG';
            createIdSend.SummonsForDirction__c = '测试0001';
            createIdSend.Order_ForDealerText__c = 'Testaccount003';
            createIdSend.Order_ForCustomerText__c = 'Test000';
            createIdSend.SummonsStatus_c__c = '批准';
            createIdSend.orderPattern__c = 'hospitalorder';
            createIdSend.Dealer_Info__c = accountItem1.Id;
            createIdSend.Delivery_detail_count__c = 5;
            Consumable_order__c createIdSend3 = new Consumable_order__c();
            createIdSend3.Name = 'testMing123456';
            createIdSend3.Order_status__c = '批准';
            createIdSend3.Deliver_date__c = Date.today();
            createIdSend3.Arrive_Order__c = createIdSend.Id;
            createIdSend3.RecordTypeid = System.Label.RT_ConOrder_Delivery;
            createIdSend3.Order_type__c = '订单';
            createIdSend3.Order_ProType__c = 'ENG';
            createIdSend3.SummonsForDirction__c = '互相调货';
            createIdSend3.Order_ForDealerText__c = '';
            createIdSend3.Order_ForCustomerText__c = 'Test001';
            createIdSend3.SummonsStatus_c__c = '批准';
            createIdSend3.Dealer_Info__c = accountItem1.Id;
            createIdSend3.Delivery_detail_count__c = 5;
            //到货
            Consumable_order__c createIdArrived = new Consumable_order__c();
            createIdArrived.Name = 'testMing2';
            createIdArrived.Order_status__c = '批准';
            createIdArrived.Deliver_date__c = Date.today();
            createIdArrived.RecordTypeid = System.Label.RT_ConOrder_Arrive;
            createIdArrived.Order_type__c = '订单';
            createIdArrived.Order_ProType__c = 'ET';
            createIdArrived.Arrive_Order__c = createIdSend.Id;
            createIdArrived.SummonsStatus_c__c = '已提交';
            createIdArrived.orderPattern__c = 'promotionorder';
            createIdArrived.Dealer_Info__c = accountItem1.Id;
            createIdArrived.Delivery_detail_count__c = 5;
            insert new Consumable_order__c[]{createIdSend,createIdSend3,createIdArrived};
            Consumable_orderdetails__c coc = new Consumable_orderdetails__c();
            coc.Name = 'Too001';
            coc.Dealer_Custom_Price__c = 999.00;
            coc.Consumable_count__c = 3;
            coc.Consumable_product__c = pro1.Id;
            coc.Box_Piece__c = '盒';
            coc.isOutPattern__c = true;
            coc.Consumable_order__c = createIdSend.Id;
            coc.Unitprice_To_agency__c = 999.00;
            coc.Delivery_List_RMB__c = -999.00;
            coc.Shipment_Count__c = 9999.00;
            coc.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
            Consumable_orderdetails__c coc1 = new Consumable_orderdetails__c();
            coc1.Name = 'Too001';
            coc1.Dealer_Custom_Price__c = 999.00;
            coc1.Consumable_count__c = 3;
            coc1.Consumable_product__c = pro1.Id;
            coc1.Box_Piece__c = '盒';
            coc1.isOutPattern__c = true;
            coc1.Consumable_order__c = createIdSend3.Id;
            coc1.Unitprice_To_agency__c = 999.00;
            coc1.Delivery_List_RMB__c = 999.00;
            coc1.Shipment_Count__c = 9999.00;
            coc1.RecordTypeid = System.Label.RT_ConOrderDetail1_Order;
            insert new Consumable_orderdetails__c[]{coc,coc1};
            Consumable_order_details2__c conOrderDetail1 = new Consumable_order_details2__c();
            conOrderDetail1.Name = 'OCM_01_001001';
            conOrderDetail1.Consumable_ZS_order__c = createIdSend.Id;
            conOrderDetail1.Consumable_Product__c = pro1.Id;
            conOrderDetail1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            conOrderDetail1.Bar_Code__c = '11111';
            conOrderDetail1.Arrive_date__c = Date.today().addDays(1);
            conOrderDetail1.Send_Date__c = null;
            conOrderDetail1.Used_date__c = null;
            conOrderDetail1.Return_date__c = null;
            conOrderDetail1.Consumable_Arrived_order__c = createIdSend.Id;
            conOrderDetail1.Consumable_order_minor__c = createIdSend.Id;
            conOrderDetail1.Lose_Flag__c = false;
            conOrderDetail1.Cancellation_Flag__c = false;
            conOrderDetail1.exchangeOutPattern__c = true;
            conOrderDetail1.Box_Piece__c = '盒';
            conOrderDetail1.Sterilization_limit__c = Date.Today();
            Consumable_order_details2__c conOrderDetail2 = new Consumable_order_details2__c();
            conOrderDetail2.Name = 'OCM_01_001002';
            conOrderDetail2.Consumable_ZS_order__c = createIdArrived.Id;
            conOrderDetail2.Consumable_Product__c = pro1.Id;
            conOrderDetail2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
            conOrderDetail2.Bar_Code__c = '22222';
            conOrderDetail2.Arrive_date__c = Date.today().addDays(1);
            conOrderDetail2.Send_Date__c = null;
            conOrderDetail2.Used_date__c = null;
            conOrderDetail2.Return_date__c = null;
            conOrderDetail2.Consumable_Arrived_order__c = createIdArrived.Id;
            conOrderDetail2.Consumable_order_minor__c = createIdArrived.Id;
            conOrderDetail2.Lose_Flag__c = false;
            conOrderDetail2.exchangeOutPattern__c = false;
            conOrderDetail2.Cancellation_Flag__c = false;
            conOrderDetail2.Box_Piece__c = '个';
            conOrderDetail2.Sterilization_limit__c = Date.Today();
            insert new Consumable_order_details2__c[]{conOrderDetail1,conOrderDetail2};
            List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
            LexSummonsCreatController.ConsumableorderdetailsInfoLwc c6 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
            c6.check = true;
            c6.oldCheck = true;
            c6.hospitalSpecialOffer = true;
            c6.orderdetails1 = coc1;
            c6.orderdetails2 = conOrderDetail1;
            c6.Prod = pro1;
            c6.Boxnumber = 0.00;
            c6.Piecenumber = 0.00;
            c6.allnumber = 1999.00;
            c6.oldConsumableCount = 1999.00;
            c6.canSelect = true;
            c6.sortBy = true;
            c6.packinglist = 1;
            c6.approbation_No = '';
            c6.expiration_Date = Date.Today();
            c6.boxorpiecein = '';
            c6.boxorpiece = null;
            c6.boxorpieceMap = null;
            c6.concc = null;
            c6.BoxPiece = null;
            c6.hosPro = true;
            pageRecords.add(c6);
            List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pageRecords1 = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
            LexSummonsCreatController.ConsumableorderdetailsInfoLwc c111 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
            c111.check = true;
            c111.oldCheck = true;
            c111.hospitalSpecialOffer = false;
            c111.orderdetails1 = coc1;
            c111.orderdetails2 = conOrderDetail1;
            c111.Prod = pro1;
            c111.Boxnumber = 0.00;
            c111.Piecenumber = 0.00;
            c111.allnumber = 1999.00;
            c111.oldConsumableCount = 1999.00;
            c111.canSelect = true;
            c111.sortBy = true;
            c111.packinglist = 1;
            c111.approbation_No = '';
            c111.expiration_Date = Date.Today();
            c111.boxorpiecein = '';
            c111.boxorpiece = null;
            c111.boxorpieceMap = null;
            c111.concc = null;
            c111.BoxPiece = null;
            c111.hosPro = true;
            pageRecords1.add(c111);
            List<LexSummonsCreatController.ConsumableorderdetailsInfo> consumable = new List<LexSummonsCreatController.ConsumableorderdetailsInfo>();
            LexSummonsCreatController.ConsumableorderdetailsInfo codi = new LexSummonsCreatController.ConsumableorderdetailsInfo();
            codi.check = true;
            codi.hospitalSpecialOffer = true;
            codi.packinglist = 0;
            codi.approbation_No = null;
            codi.expiration_Date = Date.Today();
            codi.boxorpiecein = null;
            codi.orderdetails1 = coc;
            codi.Prod = pro1;
            consumable.add(codi);
            System.Test.startTest();
            LexSummonsCreatController.init(null,'Test',1,100,createIdArrived.Id);
            LexSummonsCreatController.init(null,'Test',1,100,null);
            LexSummonsCreatController.init(null,null,1,100,createIdArrived.Id);
            LexSummonsCreatController.categoryAllload('Test7');
            LexSummonsCreatController.categoryload('Test7','Test77');
            LexSummonsCreatController.searchConsumableorderdetails('ET','Testaccount001','北京','ishos','Test07','Test7','Test77','Test777',true,pageRecords,consumable,'',1,1);
            LexSummonsCreatController.searchConsumableorderdetails('ET','Testaccount001','北京','nothos','Test07','Test7','Test77','Test777',true,pageRecords,consumable,'',1,1);
            LexSummonsCreatController.searchConsumableorderdetails('ET','Testaccount001','北京','ishos','Test07','Test7','Test77','Test777',true,pageRecords1,consumable,'',1,1);
            LexSummonsCreatController.searchConsumableorderdetails('ET','Testaccount001','北京','nothos','Test07','Test7','Test77','Test777',true,pageRecords1,consumable,'',1,1);
            List<LexSummonsCreatController.ConsumableorderdetailsInfo> cro = new List<LexSummonsCreatController.ConsumableorderdetailsInfo>();
            cro.sort();
            System.Test.stopTest();
        }
    }
    @isTest
    static void saveMethodTest1(){
        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)'];
        RecordType rectCoO = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院'];
      Account myAccount2 = new Account(RecordTypeId = rectCoO.Id, AgentCode_Ext__c = '9999900', Name = 'olympus');
      Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id);
      insert new account[]{myAccount1,myAccount2};
        hospitalprice__c hp1 = new hospitalprice__c();
        hp1.hospital__c = myAccount2.Id;
        hp1.account__c = myAccount1.Id;
        insert hp1;
      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',Work_Location__c='北京');
      System.runAs(new User(Id = UserInfo.getUserId())){
            insert MyUser_Test;
        }
      System.runAs(MyUser_Test){
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',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};
            Consumable_order__c Order0 = new Consumable_order__c();
         Order0.Name = 'OCM_01_000';
         Order0.Order_status__c = '批准';
         Order0.Order_type__c = '订单';
         Order0.Dealer_Info__c = myAccount1.id;
         Order0.RecordTypeid = System.Label.RT_ConOrder_Delivery;
         Order0.Order_ProType__c = 'ET';
         insert Order0;
         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';
            Order1.OutPattern__c = true;
            Order1.Arrive_Order__c = Order0.Id;
         insert Order1;
         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;
            Orderdet.Shipment_Count__c = 10;
            Orderdet.isOutPattern__c = true;
            Orderdet.Delivery_List_RMB__c = 100;
            Orderdet.Box_Piece__c = '盒';
         insert Orderdet;
         Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c();
         Orderdet1.Name = 'OCM_01_001001';
         Orderdet1.Consumable_order_minor__c = Order1.Id;
         Orderdet1.Consumable_Product__c = pro1.Id;
         Orderdet1.Asset_Model_No__c = 'Test01';
         Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
         Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRF';
         Orderdet1.Cancellation_Date__c = null;
         Orderdet1.TracingCode__c = 'BXJRF';
         Orderdet1.SerialLotNo__c = '5ZK';
            Orderdet1.Arrive_date__c = Date.today();
            Orderdet1.exchangeOutPattern__c = true;
            Orderdet1.Consumable_ZS_order__c = Order1.Id;
            Orderdet1.Box_Piece__c = '盒';
         insert Orderdet1;
         System.Test.startTest();
            LexSummonsCreatController.init(Order1.Id, 'edit', 10, 1, '');
            List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc> pList = new List<LexSummonsCreatController.ConsumableorderdetailsInfoLwc>();
            LexSummonsCreatController.ConsumableorderdetailsInfoLwc p = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
            p.check = true;
            p.oldcheck = true;
            p.hospitalSpecialOffer = true;
            p.orderdetails1 = Orderdet;
            p.orderdetails2 = Orderdet1;
            p.Prod = pro1;
            p.Boxnumber = 2;
            p.Piecenumber = 2;
            pList.add(p);
            List<LexSummonsCreatController.ConsumableorderdetailsInfo> consumable = new List<LexSummonsCreatController.ConsumableorderdetailsInfo>();
            LexSummonsCreatController.ConsumableorderdetailsInfo codi = new LexSummonsCreatController.ConsumableorderdetailsInfo();
            codi.check = true;
            codi.hospitalSpecialOffer = true;
            codi.packinglist = 0;
            codi.approbation_No = null;
            codi.expiration_Date = Date.Today();
            codi.boxorpiecein = null;
            codi.orderdetails1 = Orderdet;
            codi.orderdetails2 = Orderdet1;
            codi.Prod = pro1;
            consumable.add(codi);
            LexSummonsCreatController.coc.SummonsForDirction__c = '直接销售给医院';
            LexSummonsCreatController.coc.Order_ForCustomerText__c = '消化科';
            LexSummonsCreatController.save(LexSummonsCreatController.coc, myAccount2.Id, myAccount2.Name, '', pList, myAccount1.Id, '', consumable, 'ET', '');
            Orderdet.Box_Piece__c = '个';
            LexSummonsCreatController.save(LexSummonsCreatController.coc, myAccount2.Id, myAccount2.Name, '', pList, myAccount1.Id, '', consumable, 'ET', '');
            p.Piecenumber = 20;
            LexSummonsCreatController.save(LexSummonsCreatController.coc, myAccount2.Id, myAccount2.Name, '', pList, myAccount1.Id, '', consumable, 'ET', '');
         System.Test.stopTest();
      }
    }
    @isTest
    static void initMethodTest1(){
        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)'];
        RecordType rectCoO = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院'];
      Account myAccount2 = new Account(RecordTypeId = rectCoO.Id, AgentCode_Ext__c = '9999900', Name = 'olympus');
      Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id);
      insert new account[]{myAccount1,myAccount2};
        hospitalprice__c hp1 = new hospitalprice__c();
        hp1.hospital__c = myAccount2.Id;
        hp1.account__c = myAccount1.Id;
        insert hp1;
      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',Work_Location__c='北京');
      System.runAs(new User(Id = UserInfo.getUserId())){
            insert MyUser_Test;
        }
      System.runAs(MyUser_Test){
            Product2 prod01 = new Product2(Name='Test01',ProductCode='Test01',Asset_Model_No__c = 'Test01',SFDA_Status__c = '有効',JANCODE__c = '04953170200311',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};
            Consumable_order__c Order0 = new Consumable_order__c();
         Order0.Name = 'OCM_01_000';
         Order0.Order_status__c = '批准';
         Order0.Order_type__c = '订单';
         Order0.Dealer_Info__c = myAccount1.id;
         Order0.RecordTypeid = System.Label.RT_ConOrder_Delivery;
         Order0.Order_ProType__c = 'ET';
         insert Order0;
         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';
            Order1.OutPattern__c = true;
            Order1.Arrive_Order__c = Order0.Id;
            Order1.SummonsStatus_c__c = '已提交';
            Order1.SummonsForDirction__c = '直接销售给医院';
         insert Order1;
         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;
            Orderdet.Shipment_Count__c = 10;
            Orderdet.isOutPattern__c = true;
            Orderdet.Delivery_List_RMB__c = 100;
            Orderdet.Box_Piece__c = '盒';
         insert Orderdet;
         Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c();
         Orderdet1.Name = 'OCM_01_001001';
         Orderdet1.Consumable_order_minor__c = Order1.Id;
         Orderdet1.Consumable_Product__c = pro1.Id;
         Orderdet1.Asset_Model_No__c = 'Test01';
         Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
         Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRF';
         Orderdet1.Cancellation_Date__c = null;
         Orderdet1.TracingCode__c = 'BXJRF';
         Orderdet1.SerialLotNo__c = '5ZK';
            Orderdet1.Arrive_date__c = Date.today();
            Orderdet1.exchangeOutPattern__c = true;
            Orderdet1.Consumable_ZS_order__c = Order1.Id;
            Orderdet1.Box_Piece__c = '盒';
         insert Orderdet1;
         System.Test.startTest();
            LexSummonsCreatController.init(Order1.Id, 'edit', 10, 1, '');
         System.Test.stopTest();
      }
    }
    @isTest
    static void initMethodTest2(){
        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)'];
        RecordType rectCoO = [select Id from RecordType where IsActive = true and SobjectType = 'Account' and Name = '病院'];
      Account myAccount2 = new Account(RecordTypeId = rectCoO.Id, AgentCode_Ext__c = '9999900', Name = 'olympus');
      Account myAccount1 = new Account(name='Testaccount001',Dealer_discount__c =30,RecordTypeId = rectCo[0].Id);
      insert new account[]{myAccount1,myAccount2};
        hospitalprice__c hp1 = new hospitalprice__c();
        hp1.hospital__c = myAccount2.Id;
        hp1.account__c = myAccount1.Id;
        insert hp1;
      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;
        }
      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 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};
            Consumable_order__c Order0 = new Consumable_order__c();
         Order0.Name = 'OCM_01_000';
         Order0.Order_status__c = '批准';
         Order0.Order_type__c = '订单';
         Order0.Dealer_Info__c = myAccount1.id;
         Order0.RecordTypeid = System.Label.RT_ConOrder_Delivery;
         Order0.Order_ProType__c = 'ET';
         insert Order0;
         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_Arrive;
         Order1.Order_ProType__c = 'ET';
            Order1.OutPattern__c = true;
            Order1.Arrive_Order__c = Order0.Id;
            Order1.SummonsStatus_c__c = '已提交';
            Order1.SummonsForDirction__c = '直接销售给医院';
         insert Order1;
         Consumable_orderdetails__c Orderdet = new Consumable_orderdetails__c();
         Orderdet.Name = 'OCM_01_00101';
         Orderdet.Consumable_order__c = Order0.Id;
         Orderdet.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
         Orderdet.Consumable_Product__c = pro1.Id;
         Orderdet.Consumable_count__c = 4;
            Orderdet.Shipment_Count__c = 10;
            Orderdet.isOutPattern__c = true;
            Orderdet.Delivery_List_RMB__c = 100;
            Orderdet.Box_Piece__c = '盒';
         insert Orderdet;
         Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c();
         Orderdet1.Name = 'OCM_01_001001';
         Orderdet1.Consumable_order_minor__c = Order1.Id;
         Orderdet1.Consumable_Product__c = pro1.Id;
         Orderdet1.Asset_Model_No__c = 'Test01';
         Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
         Orderdet1.Bar_Code__c = '01049531702003111115120017181000105ZK250BXJRF';
         Orderdet1.Cancellation_Date__c = null;
         Orderdet1.TracingCode__c = 'BXJRF';
         Orderdet1.SerialLotNo__c = '5ZK';
            Orderdet1.Arrive_date__c = Date.today();
            Orderdet1.exchangeOutPattern__c = true;
            Orderdet1.Consumable_ZS_order__c = Order1.Id;
            Orderdet1.Box_Piece__c = '盒';
            Orderdet1.Sterilization_limit__c= Date.today().addDays(2);
         insert Orderdet1;
         System.Test.startTest();
            LexSummonsCreatController.init('', 'edit', 10, 1, Order1.Id);
         System.Test.stopTest();
      }
    }
}