buli
2023-07-11 cd05a7b0ab8dd5838f8998fb36fc0435fd9c5b84
force-app/main/default/classes/LexSummonsCreatControllerTest.cls
@@ -2,61 +2,987 @@
private class LexSummonsCreatControllerTest {
  @isTest
  static void testInit() {
    System.Test.startTest();
    Account accountItem1;
    Account accountItem2;
    User userTest;
    User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
    System.runAs(thisUser) {
      List<RecordType> rectCo = [
        SELECT Id
        FROM RecordType
        WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '販売店'
      ];
      if (rectCo.size() == 0) {
        return;
      }
      List<RecordType> rectHp = [
        SELECT Id
        FROM RecordType
        WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院'
      ];
      if (rectHp.size() == 0) {
        return;
      }
      List<RecordType> rectHos = [
        SELECT Id
        FROM RecordType
        WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '病院'
      ];
      if (rectHos.size() == 0) {
        return;
      }
    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;
      Profile prof = [
        SELECT Id
        FROM Profile
        WHERE Name = '901_经销商社区普通权限_2重验证(ET)'
    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 };
    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
      ];
      accountItem1 = new Account(
        Name = 'Testaccount001',
        RecordTypeId = rectCo[0].Id,
        AgentCode_Ext__c = '9999900'
      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 accountItem1;
      accountItem2 = new Account(
        Name = 'Testaccount002',
        RecordTypeId = rectHp[0].Id,
        AgentCode_Ext__c = '9999999'
      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 accountItem2;
      Contact core = new Contact(
        email = 'jplumber@salesforce.com',
        firstname = 'Joe',
        lastname = 'Plumber',
        accountId = accountItem1.Id
      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;
      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 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 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 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 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 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 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 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
      };
      System.debug('createIdSend9.id = ' + createIdSend9.id);
      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 core;
      insert new List<Consumable_order_LinkTable__c>{ order_LinkTable1 };
      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 = 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;
      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 };
      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',
@@ -81,27 +1007,19 @@
          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';
      }
      String accountName;
      Account[] accountInfo = [
        SELECT Name
        FROM account
        WHERE id = :accountId
        LIMIT 1
      ];
      if (accountInfo.size() > 0) {
        accountName = accountInfo[0].Name;
      }
      Product2 prod07 = new Product2(
        Name = 'Test07',
@@ -115,32 +1033,7 @@
        Packing_list_manual__c = 1,
        Manual_Entry__c = false
      );
      Product2 prod08 = new Product2(
        Name = 'Test08',
        ProductCode = 'Test08',
        Asset_Model_No__c = 'Test08',
        Category3__c = 'Test8',
        Category4__c = 'Test88',
        Category5__c = 'Test888',
        SFDA_Status__c = '有効',
        Dealer_special_Object__c = true,
        Packing_list_manual__c = 1,
        Manual_Entry__c = false
      );
      Product2 prod09 = new Product2(
        Name = 'Test09',
        ProductCode = 'Test09',
        Asset_Model_No__c = 'Test09',
        Category3__c = 'Test9',
        Category4__c = 'Test99',
        Category5__c = 'Test999',
        SFDA_Status__c = '有効',
        Dealer_special_Object__c = true,
        Packing_list_manual__c = 1,
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod07, prod08, prod09 };
      insert new List<Product2>{ prod07 };
      Product2__c pro1 = new Product2__c(
        Name = 'MH-155:白平衡帽',
        OT_CODE_Text__c = 'Test001',
@@ -149,16 +1042,1338 @@
        Category4_text__c = 'test123',
        Category5_text__c = 'test123'
      );
      insert pro1;
      Product2__c proH = new Product2__c(
        Name = 'MB-677:BNC电缆',
        OT_CODE_Text__c = 'Test002',
        Product2__c = prod08.Id,
      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 proH;
      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';
@@ -167,56 +2382,75 @@
      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;
      insert createIdSend;
      //发票信息
      Consumable_order__c invoiceorder = new Consumable_order__c(
        Name = 'invoice01',
        Order_type__c = '发票',
        Invoice_status__c = '已完成',
        Invoice_Date__c = Date.today(),
        RecordTypeid = System.Label.RT_ConOrder_Invoice,
        SummonsForDirction__c = '直接销售给医院',
        Order_status__c = '草案中',
        Dealer_info__c = accountItem1.Id
      );
      insert invoiceorder;
      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 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 = 'ENG';
      createIdArrived.Arrive_Order__c = createIdSend.Id;
      createIdArrived.Dealer_Info__c = accountItem1.Id;
      createIdArrived.Delivery_detail_count__c = 5;
      insert createIdArrived;
      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
      };
      List<Consumable_orderdetails__c> orderdetails = new List<Consumable_orderdetails__c>();
      Consumable_orderdetails__c coc = new Consumable_orderdetails__c(
        Name = 'Too001',
        Dealer_Custom_Price__c = 999.00,
        Consumable_count__c = 3,
        Consumable_product__c = pro1.Id,
        Box_Piece__c = '盒',
        isOutPattern__c = true,
        Consumable_order__c = createIdArrived.Id,
        Unitprice_To_agency__c = 999.00,
        Delivery_List_RMB__c = 999.00,
        Shipment_Count__c = 999.00,
        RecordTypeid = System.Label.RT_ConOrderDetail1_Order
      );
      orderdetails.add(coc);
      insert orderdetails;
      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 = createIdArrived.Id;
      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';
@@ -224,69 +2458,1312 @@
      conOrderDetail1.Send_Date__c = null;
      conOrderDetail1.Used_date__c = null;
      conOrderDetail1.Return_date__c = null;
      conOrderDetail1.Consumable_order_minor__c = createIdArrived.Id;
      conOrderDetail1.Consumable_order_minor__c = createIdSend.Id;
      conOrderDetail1.Lose_Flag__c = false;
      conOrderDetail1.Box_Piece__c = '盒';
      insert conOrderDetail1;
      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 = null;
      String statusEdit = null;
      String arrive = null;
      String ESetId = createIdSend.Id;
      String statusEdit = 'Test';
      String arrive = createIdSend.Id;
      LexSummonsCreatController.firstInit(ESetId);
      LexSummonsCreatController.init(ESetId, statusEdit, 1, 100, arrive);
      List<LexSummonsCreatController.ConsumableorderdetailsInfo> inList = LexSummonsCreatController.consumableorderdetailsRecords;
      List<LexSummonsCreatController.ConsumableorderdetailsInfo> inList1 = new List<LexSummonsCreatController.ConsumableorderdetailsInfo>();
      for (LexSummonsCreatController.ConsumableorderdetailsInfo ass : inList) {
        ass.orderdetails2 = conOrderDetail1;
        inList1.add(ass);
      }
      LexSummonsCreatController.ConsumableorderdetailsInfo c0 = new LexSummonsCreatController.ConsumableorderdetailsInfo();
      LexSummonsCreatController.ConsumableorderdetailsInfo c1 = new LexSummonsCreatController.ConsumableorderdetailsInfo(
        coc
      LexSummonsCreatController.save(
        createIdSend,
        'Test',
        'Test',
        'Test',
        pageRecordsLwc,
        accountId,
        createIdSend.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      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;
      c1.Boxnumber = 0;
      c1.Piecenumber = 0;
      c1.BoxPiece = coc.Box_Piece__c;
      c1.hospitalSpecialOffer = false;
      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 c2 = new LexSummonsCreatController.ConsumableorderdetailsInfo(
        proH
      LexSummonsCreatController.save(
        createIdSend1,
        'Test',
        'Test',
        'Test',
        pageRecordsLwc,
        accountId,
        createIdSend1.Id,
        consumable,
        agencyProType,
        userWorkLocation
      );
      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.ConsumableorderdetailsInfoLwc c3 = new LexSummonsCreatController.ConsumableorderdetailsInfoLwc();
      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();
    }
    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() {
    System.Test.startTest();
    List<LexSummonsCreatController.ConsumableorderdetailsInfo> cro = new List<LexSummonsCreatController.ConsumableorderdetailsInfo>();
    cro.sort();
    System.Test.stopTest();
    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;
    }
    System.runAs(MyUser_Test) {
      Product2 prod01 = new Product2(
        Name = 'Test01',
        ProductCode = 'Test01',
        Asset_Model_No__c = 'Test01',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200311',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      Product2 prod02 = new Product2(
        Name = 'Test02',
        ProductCode = 'Test02',
        Asset_Model_No__c = 'Test02',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200312',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod01, prod02 };
      Product2__c pro1 = new Product2__c(
        Name = 'Pro001',
        OT_CODE_Text__c = 'N3047730',
        Product2__c = prod01.Id
      );
      Product2__c pro2 = new Product2__c(
        Name = 'Pro002',
        OT_CODE_Text__c = 'N3047731',
        Product2__c = prod02.Id
      );
      insert new List<Product2__c>{ pro1, pro2 };
      Consumable_order__c 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 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;
    }
    System.runAs(MyUser_Test) {
      Product2 prod01 = new Product2(
        Name = 'Test01',
        ProductCode = 'Test01',
        Asset_Model_No__c = 'Test01',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200311',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      Product2 prod02 = new Product2(
        Name = 'Test02',
        ProductCode = 'Test02',
        Asset_Model_No__c = 'Test02',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200312',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod01, prod02 };
      Product2__c pro1 = new Product2__c(
        Name = 'Pro001',
        OT_CODE_Text__c = 'N3047730',
        Product2__c = prod01.Id
      );
      Product2__c pro2 = new Product2__c(
        Name = 'Pro002',
        OT_CODE_Text__c = 'N3047731',
        Product2__c = prod02.Id
      );
      insert new List<Product2__c>{ pro1, pro2 };
      Consumable_order__c 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 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;
    }
    System.runAs(MyUser_Test) {
      Product2 prod01 = new Product2(
        Name = 'Test01',
        ProductCode = 'Test01',
        Asset_Model_No__c = 'Test01',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200311',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      Product2 prod02 = new Product2(
        Name = 'Test02',
        ProductCode = 'Test02',
        Asset_Model_No__c = 'Test02',
        SFDA_Status__c = '有効',
        JANCODE__c = '04953170200312',
        Dealer_special_Object__c = true,
        Manual_Entry__c = false
      );
      insert new List<Product2>{ prod01, prod02 };
      Product2__c pro1 = new Product2__c(
        Name = 'Pro001',
        OT_CODE_Text__c = 'N3047730',
        Product2__c = prod01.Id
      );
      Product2__c pro2 = new Product2__c(
        Name = 'Pro002',
        OT_CODE_Text__c = 'N3047731',
        Product2__c = prod02.Id
      );
      insert new List<Product2__c>{ pro1, pro2 };
      Consumable_order__c 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();
    }
  }
}