From af7b716a60d889acea95560abba0e46eee008b8f Mon Sep 17 00:00:00 2001
From: buli <137736985@qq.com>
Date: 星期三, 05 七月 2023 13:54:50 +0800
Subject: [PATCH] backup0705

---
 force-app/main/default/classes/LexSummonsCreatController.cls | 6204 ++++++++++++++++++++++++++++++++---------------------------
 1 files changed, 3,339 insertions(+), 2,865 deletions(-)

diff --git a/force-app/main/default/classes/LexSummonsCreatController.cls b/force-app/main/default/classes/LexSummonsCreatController.cls
index df46d82..1b620e4 100644
--- a/force-app/main/default/classes/LexSummonsCreatController.cls
+++ b/force-app/main/default/classes/LexSummonsCreatController.cls
@@ -1,441 +1,498 @@
 public without sharing class LexSummonsCreatController {
-    public static Map<String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe();
+  public static Map<String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe();
 
-    /*****************妞滅储鐢�******************/
-    //缁忛攢鍟嗙敤鎴蜂骇鍝佸垎绫伙紙ET銆丒NG锛�
-    @AuraEnabled
-    public static String agencyProType { get; set; }
-    public static Consumable_order__c coc { get; set; } // 鐢籿iew鐢紝 鍙兘鏄� 鍑哄簱鎸囩ず鍗曪紝 涔熸湁鍙兘鏄埌璐у崟锛� 涔熸湁鍙兘 绌篿nstance
-    public static User localuser { get; set; }
-    public static String category1 { get; set; }
-    public static Integer noOfRecords { get; set; }
-    //public String category_Goods {get ; set;}
-    public static Boolean cansee { get; set; }
-    public static Integer size { get; set; }
-    //缁忛攢鍟嗗畾浠锋煡鐪嬫潈闄�
-    //public static ApexPages.StandardSetController setCon { get; set; }
-    public static Boolean dealerPricesee { get; set; }
-    /*****************鐢婚潰鍒濆鍖栫敤********************************/
-    /******20160313_add**************/
-    public static String IdCheck { get; set; }
-    public static Boolean editAble { get; set; }
-    public static String statusEdit { get; set; }
-    public static String alertMessage { get; set; }
-    public static String SearchDone { get; set; }
-    public static List<String> zaikuId = new List<String>();
-    public static List<String> orderzaikuId = new List<String>();
-    //闄勪欢
-    public static List<ConsumableorderdetailsInfo> attachmentRecoeds { get; set; }
-    public static Boolean getExistarrive() {
-        return (coc.Arrive_Order__c != null);
+  /*****************妞滅储鐢�******************/
+  //缁忛攢鍟嗙敤鎴蜂骇鍝佸垎绫伙紙ET銆丒NG锛�
+  @AuraEnabled
+  public static String agencyProType { get; set; }
+  public static Consumable_order__c coc { get; set; } // 鐢籿iew鐢紝 鍙兘鏄� 鍑哄簱鎸囩ず鍗曪紝 涔熸湁鍙兘鏄埌璐у崟锛� 涔熸湁鍙兘 绌篿nstance
+  public static User localuser { get; set; }
+  public static String category1 { get; set; }
+  public static Integer noOfRecords { get; set; }
+  //public String category_Goods {get ; set;}
+  public static Boolean cansee { get; set; }
+  public static Integer size { get; set; }
+  //缁忛攢鍟嗗畾浠锋煡鐪嬫潈闄�
+  //public static ApexPages.StandardSetController setCon { get; set; }
+  public static Boolean dealerPricesee { get; set; }
+  /*****************鐢婚潰鍒濆鍖栫敤********************************/
+  /******20160313_add**************/
+  public static String IdCheck { get; set; }
+  public static Boolean editAble { get; set; }
+  public static String statusEdit { get; set; }
+  public static String alertMessage { get; set; }
+  public static String SearchDone { get; set; }
+  public static List<String> zaikuId = new List<String>();
+  public static List<String> orderzaikuId = new List<String>();
+  //闄勪欢
+  public static List<ConsumableorderdetailsInfo> attachmentRecoeds { get; set; }
+  public static Boolean getExistarrive() {
+    return (coc.Arrive_Order__c != null);
+  }
+  //鎬讳环鏍艰绠楃粨鏋�
+  @AuraEnabled
+  public static Decimal sumPrice { get; set; }
+  /******20160317_add**************/
+  public static String SummonsFlag { get; set; } // 鏂拌: hidden, 鏇存柊: visible
+  public static String category5 { get; set; }
+  public static String category4 { get; set; }
+  public static String category3 { get; set; }
+  public static List<SelectOption> categoryOptionList { get; set; }
+  public static List<SelectOption> category4OptionList { get; set; }
+  public static List<SelectOption> category5OptionList { get; set; }
+  @AuraEnabled
+  public static Map<String, String> categoryOptionMap { get; set; }
+  @AuraEnabled
+  public static Map<String, String> category4OptionMap { get; set; }
+  @AuraEnabled
+  public static Map<String, String> category5OptionMap { get; set; }
+  /*****************鐢婚潰琛ㄧずBean******************/
+  private static List<ConsumableorderdetailsInfo> consumableorderdetailsSelectRecords = new List<ConsumableorderdetailsInfo>();
+  //鏄庣粏2
+  @AuraEnabled
+  public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords {
+    get;
+    set;
+  }
+  //閿欒鏄庣粏
+  @AuraEnabled
+  public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecordserror {
+    get;
+    set;
+  }
+  @AuraEnabled
+  public static List<ConsumableorderdetailsInfo> pageRecords { get; set; }
+  public static List<ConsumableorderdetailsInfoLwc> pageRecordsLwc { get; set; }
+  //public List<List<ConsumableorderdetailsInfo>> consumableorderdetailsRecordsview { get; set; }
+  public static List<ConsumableorderdetailsInfo> consumableorderdetails2Records {
+    get;
+    set;
+  }
+  public static List<Consumable_order__c> consumableInvoiceRecords { get; set; }
+  private static List<ConsumableorderdetailsInfo> consumableproductdetailsRecords = new List<ConsumableorderdetailsInfo>();
+  private static List<Attachment> attachmentinfo = new List<Attachment>();
+  public static List<Product2__c> product2Selected = new List<Product2__c>();
+  @AuraEnabled
+  public static Map<String, String> orderpieceorboxMap { get; set; }
+  @AuraEnabled
+  public static List<Consumable_orderdetails__c> orderdetails { get; set; }
+  @AuraEnabled
+  public static Map<String, Decimal> orderagencypriceMap { get; set; }
+  @AuraEnabled
+  public static Map<String, Decimal> orderpriceMap { get; set; }
+  @AuraEnabled
+  public static Map<String, Decimal> orderdetCountMap { get; set; }
+  @AuraEnabled
+  public static Boolean hasSpecialHos { get; set; }
+  //閫夋嫨浜у搧size
+  public static Integer consumableorderdetailsCount {
+    get {
+      return pageRecords == null ? 0 : pageRecords.size();
     }
-    //鎬讳环鏍艰绠楃粨鏋�
-    @AuraEnabled
-    public static Decimal sumPrice { get; set; }
-    /******20160317_add**************/
-    public static String SummonsFlag { get; set; } // 鏂拌: hidden, 鏇存柊: visible
-    public static String category5 { get; set; }
-    public static String category4 { get; set; }
-    public static String category3 { get; set; }
-    public static List<SelectOption> categoryOptionList { get; set; }
-    public static List<SelectOption> category4OptionList { get; set; }
-    public static List<SelectOption> category5OptionList { get; set; }
-    @AuraEnabled
-    public static Map<String, String> categoryOptionMap { get; set; }
-    @AuraEnabled
-    public static Map<String, String> category4OptionMap { get; set; }
-    @AuraEnabled
-    public static Map<String, String> category5OptionMap { get; set; }
-    /*****************鐢婚潰琛ㄧずBean******************/
-    private static List<ConsumableorderdetailsInfo> consumableorderdetailsSelectRecords = new List<ConsumableorderdetailsInfo>();
-    //鏄庣粏2
-    @AuraEnabled
-    public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords { get; set; }
-    //閿欒鏄庣粏
-    @AuraEnabled
-    public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecordserror { get; set; }
-    @AuraEnabled
-    public static List<ConsumableorderdetailsInfo> pageRecords { get; set; }
-    public static List<ConsumableorderdetailsInfoLwc> pageRecordsLwc { get; set; }
-    //public List<List<ConsumableorderdetailsInfo>> consumableorderdetailsRecordsview { get; set; }
-    public static List<ConsumableorderdetailsInfo> consumableorderdetails2Records { get; set; }
-    public static List<Consumable_order__c> consumableInvoiceRecords { get; set; }
-    private static List<ConsumableorderdetailsInfo> consumableproductdetailsRecords = new List<ConsumableorderdetailsInfo>();
-    private static List<Attachment> attachmentinfo = new List<Attachment>();
-    public static List<Product2__c> product2Selected = new List<Product2__c>();
-    @AuraEnabled
-    public static Map<String, String> orderpieceorboxMap { get; set; }
-    @AuraEnabled
-    public static List<Consumable_orderdetails__c> orderdetails { get; set; }
-    @AuraEnabled
-    public static Map<String, Decimal> orderagencypriceMap { get; set; }
-    @AuraEnabled
-    public static Map<String, Decimal> orderpriceMap { get; set; }
-    @AuraEnabled
-    public static Map<String, Decimal> orderdetCountMap { get; set; }
-    @AuraEnabled
-    public static Boolean hasSpecialHos { get; set; }
-    //閫夋嫨浜у搧size
-    public static Integer consumableorderdetailsCount {
-        get {
-            return pageRecords == null ? 0 : pageRecords.size();
+  }
+  //娑堣�楀搧鏄庣粏2鏁伴噺
+  public static Integer consumableorderdetails2Count {
+    get {
+      return consumableorderdetails2Records == null
+        ? 0
+        : consumableorderdetails2Records.size();
+    }
+  }
+  //璁㈣揣鍗曞彿
+  public static String consumableorderId {
+    get {
+      return (coc.Arrive_Order__c);
+    }
+  }
+  //閫夋嫨妗�
+  public static List<SelectOption> provinceOpts { get; set; }
+  @AuraEnabled
+  public static Map<String, String> provinceOptsMap { get; set; }
+  public static String SecondDealer { get; set; }
+  //public List<SelectOption> orderForHospitalOpts { get; set; }
+  public static String HospitalInfo { get; set; }
+  public static String HospitalName { get; set; }
+
+  public static Boolean EditDelCommitBtnDisabled { get; private set; }
+  public static Boolean saveBtnDisabled { get; private set; }
+  public static Boolean SorderBtnDisabled { get; private set; }
+
+  // page
+  public static Integer pagesize { get; set; }
+  public static Integer pageToken { get; set; }
+  //public static String sortField { get; set; }
+  //public static String sortOrder { get; set; }
+  public static Integer totalcount { get; set; }
+  public static Integer addSize { get; set; }
+  //List<ConsumableorderdetailsInfoLwc> reSetLwc
+  public static List<ConsumableorderdetailsInfo> addData { get; set; }
+  public static Map<String, String> skipData { get; set; }
+  // 淇濆瓨鍚庡姩浣滐細 1.妫�绱� 2.鎺掑簭
+  // public static String sortKey { get; set; }
+  // public static String preSortKey { get; private set; }
+  // public static Boolean sortOrderAsc { get; private set; }
+  // public static String[] sortOrder { get; private set; }
+  // private static String[] columus = new List<String>{
+  //     'Consumable_Product__r.Name',
+  //     'Consumable_Product__r.Asset_Model_No__c',
+  //     'Consumable_Product__r.Intra_Trade_List_RMB__c',
+  //     '',
+  //     '',
+  //     'Consumable_Product__r.Category3__c',
+  //     'Consumable_Product__r.Category4__c',
+  //     'Consumable_Product__r.Category5__c'
+  // };
+  // private static String[] columus_no = new List<String>{
+  //     'Product2__c.Name',
+  //     'Product2__c.Asset_Model_No__c',
+  //     'Product2__c.Intra_Trade_List_RMB__c',
+  //     '',
+  //     '',
+  //     'Category3__c',
+  //     'Category4__c',
+  //     'Category5__c'
+  // };
+
+  //鍒拌揣鍗曟槑缁�1
+  private static List<Consumable_Orderdetails__c> consumableorderdetailsSelected = new List<Consumable_Orderdetails__c>();
+  //鍒拌揣鍗曟槑缁�2
+  private static List<Consumable_order_details2__c> consumablearriveproductdetailsSelected = new List<Consumable_order_details2__c>();
+
+  //鍑哄簱鍗曟槑缁�2
+  private static List<Consumable_order_details2__c> consumableorderdetails2RecordsList = new List<Consumable_order_details2__c>();
+  /*****************銈姐兗銉堟檪鍐嶆绱㈡潯浠讹紙鐢婚潰銇嬨倝銇叆鍔涙潯浠躲倰鐒¤銇欍倠銇熴倎锛�******************/
+  //private String cate1ForSort = null;
+  private static String accountid = null;
+  @AuraEnabled
+  public static String accountName { get; set; }
+
+  // 浜у搧 ID
+  private static String ESetId = '';
+  @AuraEnabled
+  public static String arriveorder { get; set; }
+  private static String userId = '';
+  //private String[] ProidListAll = new String[]{};
+
+  // 鐧诲綍鑰呭伐浣滃湴
+  @AuraEnabled
+  public static String userWorkLocation { get; set; }
+
+  //add by rentx 2021-01-29
+  public static List<SelectOption> outOutPatternOptionList { get; set; }
+  @AuraEnabled
+  public static Map<String, String> outOutPatternOptionMap { get; set; }
+  public static String outOutPattern { get; set; }
+  public static Boolean hasHos { get; set; }
+  @AuraEnabled
+  public static Boolean hasHosPro { get; set; }
+
+  private static Map<String, String> HosProMap = new Map<String, String>();
+  //add by rentx 2021-01-29
+
+  public LexSummonsCreatController() {
+    System.debug('LexSummonsCreatController');
+    size = Integer.valueOf(System.Label.orderdetLimitsize);
+    // ESetId = ApexPages.currentPage().getParameters().get('esetId');
+    // arriveorder = ApexPages.currentPage().getParameters().get('arriveorder');
+    // statusEdit = ApexPages.currentPage().getParameters().get('KeyWords');
+    provinceOpts = new List<SelectOption>();
+    provinceOptsMap = new Map<String, String>();
+    pageRecords = new List<ConsumableorderdetailsInfo>();
+    consumableproductdetailsRecords = new List<ConsumableorderdetailsInfo>();
+    consumableorderdetailsSelectRecords = new List<ConsumableorderdetailsInfo>();
+    attachmentRecoeds = new List<ConsumableorderdetailsInfo>();
+    consumableorderdetails2Records = new List<ConsumableorderdetailsInfo>();
+    consumableInvoiceRecords = new List<Consumable_order__c>();
+    categoryOptionList = new List<SelectOption>();
+    category4OptionList = new List<SelectOption>();
+    category5OptionList = new List<SelectOption>();
+
+    categoryOptionMap = new Map<String, String>();
+    category4OptionMap = new Map<String, String>();
+    category5OptionMap = new Map<String, String>();
+
+    outOutPatternOptionMap = new Map<String, String>();
+    outOutPatternOptionMap.put('', '-鏃�-');
+    outOutPatternOptionMap.put('ishos', '鍖婚櫌鐗逛环浜у搧');
+    outOutPatternOptionMap.put('nothos', '闈炲尰闄㈢壒浠蜂骇鍝�');
+
+    outOutPatternOptionList.add(new SelectOption('', '-鏃�-'));
+    outOutPatternOptionList.add(new SelectOption('ishos', '鍖婚櫌鐗逛环浜у搧'));
+    outOutPatternOptionList.add(new SelectOption('nothos', '闈炲尰闄㈢壒浠蜂骇鍝�'));
+    HospitalName = '';
+  }
+
+  public static void firstInit(String ESetidJs) {
+    System.debug('enter firstInit');
+    ESetid = ESetidJs;
+    System.debug('ESetid = ' + ESetid);
+    size = Integer.valueOf(System.Label.orderdetLimitsize);
+    provinceOpts = new List<SelectOption>();
+    provinceOptsMap = new Map<String, String>();
+    pageRecords = new List<ConsumableorderdetailsInfo>();
+    consumableproductdetailsRecords = new List<ConsumableorderdetailsInfo>();
+    consumableorderdetailsSelectRecords = new List<ConsumableorderdetailsInfo>();
+    attachmentRecoeds = new List<ConsumableorderdetailsInfo>();
+    consumableorderdetails2Records = new List<ConsumableorderdetailsInfo>();
+    consumableInvoiceRecords = new List<Consumable_order__c>();
+    categoryOptionList = new List<SelectOption>();
+    category4OptionList = new List<SelectOption>();
+    category5OptionList = new List<SelectOption>();
+
+    categoryOptionMap = new Map<String, String>();
+    category4OptionMap = new Map<String, String>();
+    category5OptionMap = new Map<String, String>();
+
+    outOutPatternOptionMap = new Map<String, String>();
+    outOutPatternOptionMap.put('', '-鏃�-');
+    outOutPatternOptionMap.put('ishos', '鍖婚櫌鐗逛环浜у搧');
+    outOutPatternOptionMap.put('nothos', '闈炲尰闄㈢壒浠蜂骇鍝�');
+
+    // outOutPatternOptionList.add(new SelectOption('', '-鏃�-'));
+    // outOutPatternOptionList.add(new SelectOption('ishos', '鍖婚櫌鐗逛环浜у搧'));
+    // outOutPatternOptionList.add(new SelectOption('nothos', '闈炲尰闄㈢壒浠蜂骇鍝�'));
+    HospitalName = '';
+  }
+
+  // 鐢婚潰鍒濆鍖�
+  @AuraEnabled
+  public static ResponseBodyLWC init(
+    String ESetidJs,
+    String statusEdit,
+    Integer pageSizeLWC,
+    Integer pageTokenLWC,
+    String arriveorderLWC
+  ) {
+    try {
+      firstInit(ESetidJs);
+      statusEdit = statusEdit;
+      arriveorder = arriveorderLWC;
+      HospitalName = '';
+      provinceOpts = new List<SelectOption>();
+      provinceOptsMap = new Map<String, String>();
+      ResponseBodyLWC res = new ResponseBodyLWC();
+      Map<String, object> data = new Map<String, object>();
+      res.entity = data;
+      // public static Integer pagesize { get; set; }
+      // public static Integer pageToken { get; set; }
+      // public static String sortField { get; set; }
+      // public static String sortOrder { get; set; }
+      pagesize = pageSizeLWC;
+      pageToken = pageTokenLWC > 2000 ? 2000 : pageTokenLWC;
+
+      // sortKey = '1';
+      // preSortKey = '1';
+      // sortOrderAsc = false;
+      // sortOrder = new List<String>(8);
+      // sortOrder = new List<String>{ ' ', ' ', ' ', ' ', '鈫�', '', '', '' };
+      //cate1ForSort = '';
+      sumPrice = 0;
+      IdCheck = EsetId;
+      if (
+        ESetId != null &&
+        ESetId != '' &&
+        (statusEdit == '' ||
+        statusEdit == null)
+      ) {
+        editAble = false;
+      } else if (
+        (ESetId == null || ESetId == '') &&
+        (statusEdit == '' ||
+        statusEdit == null)
+      ) {
+        editAble = true;
+      } else if (
+        ESetId != null &&
+        ESetId != '' &&
+        statusEdit != '' &&
+        statusEdit != null
+      ) {
+        editAble = true;
+      }
+      userId = UserInfo.getUserId();
+      localuser = [
+        SELECT id, State_Hospital__c
+        FROM User
+        WHERE id = :UserInfo.getUserId()
+      ];
+      //userId = '00510000005QO75';
+      user Useracc = [
+        SELECT accountid, Work_Location__c, UserPro_Type__c
+        FROM user
+        WHERE id = :userId
+      ];
+      accountid = Useracc.accountid;
+      userWorkLocation = Useracc.Work_Location__c;
+      agencyProType = Useracc.UserPro_Type__c;
+      if (String.isBlank(Useracc.UserPro_Type__c)) {
+        agencyProType = 'ET';
+      }
+      Account accountInfo = [SELECT Name FROM account WHERE id = :accountid];
+      accountName = accountInfo.Name;
+      //coc.Order_date__c = Date.today();
+      list<Dealer_elationship__c> Dealerelationship = new List<Dealer_elationship__c>();
+      Dealerelationship = [
+        SELECT Dealer_subordinate__c, Dealer_subordinate__r.Name
+        FROM Dealer_elationship__c
+        WHERE Dealer_principal__c = :accountid
+      ];
+
+      List<Agency_Hospital_Link__c> AgencyHospitalLink = new List<Agency_Hospital_Link__c>();
+      AgencyHospitalLink = [
+        SELECT Id, Hospital__c, Hospital__r.Name
+        FROM Agency_Hospital_Link__c
+        WHERE Agency__c = :accountid
+      ];
+
+      //add by rentx 2021-3-1 start
+      //鍒ゆ柇褰撳墠缁忛攢鍟嗕笅鏄惁鏈夌壒浠峰尰闄�
+      List<hospitalprice__c> hlist = [
+        SELECT id, product__c
+        FROM hospitalprice__c
+        WHERE account__c = :accountid
+      ];
+      if (hlist == null || hlist.size() == 0) {
+        hasHos = false;
+      } else {
+        for (hospitalprice__c hp : hlist) {
+          HosProMap.put(hp.product__c, '');
         }
-    }
-    //娑堣�楀搧鏄庣粏2鏁伴噺
-    public static Integer consumableorderdetails2Count {
-        get {
-            return consumableorderdetails2Records == null ? 0 : consumableorderdetails2Records.size();
-        }
-    }
-    //璁㈣揣鍗曞彿
-    public static String consumableorderId {
-        get {
-            return (coc.Arrive_Order__c);
-        }
-    }
-    //閫夋嫨妗�
-    public static List<SelectOption> provinceOpts { get; set; }
-    @AuraEnabled
-    public static Map<String, String> provinceOptsMap { get; set; }
-    public static String SecondDealer { get; set; }
-    //public List<SelectOption> orderForHospitalOpts { get; set; }
-    public static String HospitalInfo { get; set; }
-    public static String HospitalName { get; set; }
+        hasHos = true;
+      }
+      //add by rentx 2021-3-1 end
 
-    public static Boolean EditDelCommitBtnDisabled { get; private set; }
-    public static Boolean saveBtnDisabled { get; private set; }
-    public static Boolean SorderBtnDisabled { get; private set; }
+      saveBtnDisabled = false;
+      SorderBtnDisabled = false;
+      String sqlagencyProType = '%' + agencyProType + '%';
+      coc = new Consumable_order__c();
+      consumableorderdetailsSelectRecords = new List<ConsumableorderdetailsInfo>();
+      Map<String, ConsumableorderdetailsInfo> MidMap = new Map<String, ConsumableorderdetailsInfo>();
+      //add by rentx 2021-01-29
+      Map<String, ConsumableorderdetailsInfo> MidMap2 = new Map<String, ConsumableorderdetailsInfo>();
+      //add by rentx 2021-01-29
 
-    // page
-    public static Integer pagesize { get; set; }
-    public static Integer pageToken { get; set; }
-    //public static String sortField { get; set; }
-    //public static String sortOrder { get; set; }
-    public static Integer totalcount { get; set; }
-    public static Integer addSize { get; set; }
-    //List<ConsumableorderdetailsInfoLwc> reSetLwc
-    public static List<ConsumableorderdetailsInfo> addData { get; set; }
-    public static Map<String, String> skipData { get; set; }
-    // 淇濆瓨鍚庡姩浣滐細 1.妫�绱� 2.鎺掑簭
-    // public static String sortKey { get; set; }
-    // public static String preSortKey { get; private set; }
-    // public static Boolean sortOrderAsc { get; private set; }
-    // public static String[] sortOrder { get; private set; }
-    // private static String[] columus = new List<String>{
-    //     'Consumable_Product__r.Name',
-    //     'Consumable_Product__r.Asset_Model_No__c',
-    //     'Consumable_Product__r.Intra_Trade_List_RMB__c',
-    //     '',
-    //     '',
-    //     'Consumable_Product__r.Category3__c',
-    //     'Consumable_Product__r.Category4__c',
-    //     'Consumable_Product__r.Category5__c'
-    // };
-    // private static String[] columus_no = new List<String>{
-    //     'Product2__c.Name',
-    //     'Product2__c.Asset_Model_No__c',
-    //     'Product2__c.Intra_Trade_List_RMB__c',
-    //     '',
-    //     '',
-    //     'Category3__c',
-    //     'Category4__c',
-    //     'Category5__c'
-    // };
-
-    //鍒拌揣鍗曟槑缁�1
-    private static List<Consumable_Orderdetails__c> consumableorderdetailsSelected = new List<Consumable_Orderdetails__c>();
-    //鍒拌揣鍗曟槑缁�2
-    private static List<Consumable_order_details2__c> consumablearriveproductdetailsSelected = new List<Consumable_order_details2__c>();
-
-    //鍑哄簱鍗曟槑缁�2
-    private static List<Consumable_order_details2__c> consumableorderdetails2RecordsList = new List<Consumable_order_details2__c>();
-    /*****************銈姐兗銉堟檪鍐嶆绱㈡潯浠讹紙鐢婚潰銇嬨倝銇叆鍔涙潯浠躲倰鐒¤銇欍倠銇熴倎锛�******************/
-    //private String cate1ForSort = null;
-    private static String accountid = null;
-    @AuraEnabled
-    public static String accountName { get; set; }
-
-    // 浜у搧 ID
-    private static String ESetId = '';
-    @AuraEnabled
-    public static String arriveorder { get; set; }
-    private static String userId = '';
-    //private String[] ProidListAll = new String[]{};
-
-    // 鐧诲綍鑰呭伐浣滃湴
-    @AuraEnabled
-    public static String userWorkLocation { get; set; }
-
-    //add by rentx 2021-01-29
-    public static List<SelectOption> outOutPatternOptionList { get; set; }
-    @AuraEnabled
-    public static Map<String, String> outOutPatternOptionMap { get; set; }
-    public static String outOutPattern { get; set; }
-    public static Boolean hasHos { get; set; }
-    @AuraEnabled
-    public static Boolean hasHosPro { get; set; }
-
-    private static Map<String, String> HosProMap = new Map<String, String>();
-    //add by rentx 2021-01-29
-
-    public LexSummonsCreatController() {
-        System.debug('LexSummonsCreatController');
-        size = Integer.valueOf(System.Label.orderdetLimitsize);
-        // ESetId = ApexPages.currentPage().getParameters().get('esetId');
-        // arriveorder = ApexPages.currentPage().getParameters().get('arriveorder');
-        // statusEdit = ApexPages.currentPage().getParameters().get('KeyWords');
-        provinceOpts = new List<SelectOption>();
-        provinceOptsMap = new Map<String, String>();
-        pageRecords = new List<ConsumableorderdetailsInfo>();
-        consumableproductdetailsRecords = new List<ConsumableorderdetailsInfo>();
-        consumableorderdetailsSelectRecords = new List<ConsumableorderdetailsInfo>();
-        attachmentRecoeds = new List<ConsumableorderdetailsInfo>();
-        consumableorderdetails2Records = new List<ConsumableorderdetailsInfo>();
-        consumableInvoiceRecords = new List<Consumable_order__c>();
-        categoryOptionList = new List<SelectOption>();
-        category4OptionList = new List<SelectOption>();
-        category5OptionList = new List<SelectOption>();
-
-        categoryOptionMap = new Map<String, String>();
-        category4OptionMap = new Map<String, String>();
-        category5OptionMap = new Map<String, String>();
-
-        outOutPatternOptionMap = new Map<String, String>();
-        outOutPatternOptionMap.put('', '-鏃�-');
-        outOutPatternOptionMap.put('ishos', '鍖婚櫌鐗逛环浜у搧');
-        outOutPatternOptionMap.put('nothos', '闈炲尰闄㈢壒浠蜂骇鍝�');
-
-        outOutPatternOptionList.add(new SelectOption('', '-鏃�-'));
-        outOutPatternOptionList.add(new SelectOption('ishos', '鍖婚櫌鐗逛环浜у搧'));
-        outOutPatternOptionList.add(new SelectOption('nothos', '闈炲尰闄㈢壒浠蜂骇鍝�'));
-        HospitalName = '';
-    }
-
-    public static void firstInit(String ESetidJs) {
-        System.debug('enter firstInit');
-        ESetid = ESetidJs;
-        System.debug('ESetid = ' + ESetid);
-        size = Integer.valueOf(System.Label.orderdetLimitsize);
-        provinceOpts = new List<SelectOption>();
-        provinceOptsMap = new Map<String, String>();
-        pageRecords = new List<ConsumableorderdetailsInfo>();
-        consumableproductdetailsRecords = new List<ConsumableorderdetailsInfo>();
-        consumableorderdetailsSelectRecords = new List<ConsumableorderdetailsInfo>();
-        attachmentRecoeds = new List<ConsumableorderdetailsInfo>();
-        consumableorderdetails2Records = new List<ConsumableorderdetailsInfo>();
-        consumableInvoiceRecords = new List<Consumable_order__c>();
-        categoryOptionList = new List<SelectOption>();
-        category4OptionList = new List<SelectOption>();
-        category5OptionList = new List<SelectOption>();
-
-        categoryOptionMap = new Map<String, String>();
-        category4OptionMap = new Map<String, String>();
-        category5OptionMap = new Map<String, String>();
-
-        outOutPatternOptionMap = new Map<String, String>();
-        outOutPatternOptionMap.put('', '-鏃�-');
-        outOutPatternOptionMap.put('ishos', '鍖婚櫌鐗逛环浜у搧');
-        outOutPatternOptionMap.put('nothos', '闈炲尰闄㈢壒浠蜂骇鍝�');
-
-        // outOutPatternOptionList.add(new SelectOption('', '-鏃�-'));
-        // outOutPatternOptionList.add(new SelectOption('ishos', '鍖婚櫌鐗逛环浜у搧'));
-        // outOutPatternOptionList.add(new SelectOption('nothos', '闈炲尰闄㈢壒浠蜂骇鍝�'));
-        HospitalName = '';
-    }
-
-    // 鐢婚潰鍒濆鍖�
-    @AuraEnabled
-    public static ResponseBodyLWC init(String ESetidJs, String statusEdit, Integer pageSizeLWC, Integer pageTokenLWC,String arriveorderLWC) {
-        try {
-            firstInit(ESetidJs);
-            statusEdit = statusEdit;
-            arriveorder = arriveorderLWC;
-            HospitalName = '';
-            provinceOpts = new List<SelectOption>();
-            provinceOptsMap = new Map<String, String>();
-            ResponseBodyLWC res = new ResponseBodyLWC();
-            Map<String, object> data = new Map<String, object>();
-            res.entity = data;
-            // public static Integer pagesize { get; set; }
-            // public static Integer pageToken { get; set; }
-            // public static String sortField { get; set; }
-            // public static String sortOrder { get; set; }
-            pagesize = pageSizeLWC;
-            pageToken = pageTokenLWC > 2000 ? 2000 : pageTokenLWC;
-
-            // sortKey = '1';
-            // preSortKey = '1';
-            // sortOrderAsc = false;
-            // sortOrder = new List<String>(8);
-            // sortOrder = new List<String>{ ' ', ' ', ' ', ' ', '鈫�', '', '', '' };
-            //cate1ForSort = '';
-            sumPrice = 0;
-            IdCheck = EsetId;
-            if (ESetId != null && ESetId != '' && (statusEdit == '' || statusEdit == null)) {
-                editAble = false;
-            } else if ((ESetId == null || ESetId == '') && (statusEdit == '' || statusEdit == null)) {
-                editAble = true;
-            } else if (ESetId != null && ESetId != '' && statusEdit != '' && statusEdit != null) {
-                editAble = true;
-            }
-            userId = UserInfo.getUserId();
-            localuser = [SELECT id, State_Hospital__c FROM User WHERE id = :UserInfo.getUserId()];
-            //userId = '00510000005QO75';
-            user Useracc = [SELECT accountid, Work_Location__c, UserPro_Type__c FROM user WHERE id = :userId];
-            accountid = Useracc.accountid;
-            userWorkLocation = Useracc.Work_Location__c;
-            agencyProType = Useracc.UserPro_Type__c;
-            if (String.isBlank(Useracc.UserPro_Type__c)) {
-                agencyProType = 'ET';
-            }
-            Account accountInfo = [SELECT Name FROM account WHERE id = :accountid];
-            accountName = accountInfo.Name;
-            //coc.Order_date__c = Date.today();
-            list<Dealer_elationship__c> Dealerelationship = new List<Dealer_elationship__c>();
-            Dealerelationship = [
-                SELECT Dealer_subordinate__c, Dealer_subordinate__r.Name
-                FROM Dealer_elationship__c
-                WHERE Dealer_principal__c = :accountid
-            ];
-
-            List<Agency_Hospital_Link__c> AgencyHospitalLink = new List<Agency_Hospital_Link__c>();
-            AgencyHospitalLink = [SELECT Id, Hospital__c, Hospital__r.Name FROM Agency_Hospital_Link__c WHERE Agency__c = :accountid];
-
-            //add by rentx 2021-3-1 start
-            //鍒ゆ柇褰撳墠缁忛攢鍟嗕笅鏄惁鏈夌壒浠峰尰闄�
-            List<hospitalprice__c> hlist = [SELECT id, product__c FROM hospitalprice__c WHERE account__c = :accountid];
-            if (hlist == null || hlist.size() == 0) {
-                hasHos = false;
+      List<AggregateResult> orderdetailCount = [
+        SELECT count(id), Consumable_Product__c cpc, Box_Piece__c
+        FROM Consumable_order_details2__c
+        WHERE
+          Dealer_Arrive__c = TRUE
+          AND Dealer_Shipment__c = FALSE
+          AND Dealer_Saled__c = FALSE
+          AND Lose_Flag__c = FALSE
+          AND Cancellation_Flag__c = FALSE
+          AND Bar_Code__c != NULL
+          AND Isoverdue__c = 1
+          AND Product_Type__c LIKE :sqlagencyProType
+          AND Dealer_Info_text__c = :accountName
+          AND Arrive_Owner_Work_Location__c = :userWorkLocation
+        GROUP BY Consumable_Product__c, Box_Piece__c
+      ];
+      for (AggregateResult orderdetail : orderdetailCount) {
+        zaikuId.add(String.valueOf(orderdetail.get('cpc')));
+      }
+      System.debug('sqlagencyProType = ' + sqlagencyProType);
+      System.debug('userWorkLocation = ' + userWorkLocation);
+      System.debug('accountName = ' + accountName);
+      List<Consumable_order_details2__c> CountDel = [
+        SELECT
+          Id,
+          Bar_Code__c,
+          Name,
+          Inventory_date__c,
+          Consumable_Product__c,
+          Consumable_Product__r.Asset_Model_No__c,
+          Recordtypeid,
+          Box_Piece__c,
+          ProductPacking_list_manual__c,
+          //add by rentx 2020-11-27 start
+          hospitalSpecialOffer__c
+        //add by rentx 2020-11-27 end
+        FROM Consumable_order_details2__c
+        WHERE
+          Dealer_Arrive__c = TRUE
+          AND Dealer_Shipment__c = FALSE
+          AND Dealer_Saled__c = FALSE
+          AND Dealer_Returned__c = FALSE
+          AND Lose_Flag__c = FALSE
+          AND Cancellation_Flag__c = FALSE
+          AND Bar_Code__c != NULL
+          AND Isoverdue__c = 1
+          AND Product_Type__c LIKE :sqlagencyProType
+          AND Arrive_Owner_Work_Location__c = :userWorkLocation
+          AND Dealer_Info_text__c = :accountName
+      ];
+      // 鏂拌
+      if (ESetId == null || ESetId == '') {
+        SummonsFlag = 'hidden';
+        String msoql = makeSoqlinventory();
+        initStandardController(msoql);
+        System.debug('msoql = ' + msoql);
+        product2Selected = Database.query(msoql);
+        if (String.isBlank(arriveorder)) {
+          EditDelCommitBtnDisabled = true;
+          for (Integer i = 0; i < product2Selected.size(); i++) {
+            MidMap.put(
+              product2Selected[i].Id,
+              new ConsumableorderdetailsInfo(product2Selected[i])
+            );
+          }
+          for (Integer i = 0; i < CountDel.size(); i++) {
+            String str = '';
+            if (CountDel[i].hospitalSpecialOffer__c) {
+              str = 'isHos';
             } else {
-                for (hospitalprice__c hp : hlist) {
-                    HosProMap.put(hp.product__c, '');
+              str = 'notHos';
+            }
+            //鏄庣粏2瀵瑰簲鐨勪骇鍝佸瓨鍦ㄤ簬MidMap涓�
+            if (MidMap.containsKey(CountDel[i].Consumable_Product__c)) {
+              //璁剧疆map涓璳ey鐨勫悗缂� 鐢ㄤ簬鍖哄垎鍖婚櫌鐗逛环鍜岄潪鍖婚櫌鐗逛环
+              if (
+                MidMap2.containsKey(CountDel[i].Consumable_Product__c + str)
+              ) {
+                ConsumableorderdetailsInfo Jstage = MidMap2.get(
+                  CountDel[i].Consumable_Product__c + str
+                );
+                Jstage.allnumber = Jstage.allnumber + 1;
+                if (CountDel[i].Box_Piece__c == '鐩�') {
+                  Jstage.Boxnumber = Jstage.Boxnumber + 1;
+                } else if (CountDel[i].Box_Piece__c == '涓�') {
+                  Jstage.Piecenumber = Jstage.Piecenumber + 1;
                 }
-                hasHos = true;
+                if (CountDel[i].hospitalSpecialOffer__c) {
+                  Jstage.hospitalSpecialOffer = true;
+                } else {
+                  Jstage.hospitalSpecialOffer = false;
+                }
+                if (HosProMap.containsKey(Jstage.Prod.Id)) {
+                  Jstage.hosPro = true;
+                }
+                MidMap2.put(CountDel[i].Consumable_Product__c + str, Jstage);
+              } else {
+                //midmap2涓病鏈夊搴旂殑浜у搧
+                ConsumableorderdetailsInfo Jstage = MidMap.get(
+                    CountDel[i].Consumable_Product__c
+                  )
+                  .clone();
+                Jstage.allnumber = Jstage.allnumber + 1;
+                if (CountDel[i].Box_Piece__c == '鐩�') {
+                  Jstage.Boxnumber = Jstage.Boxnumber + 1;
+                } else if (CountDel[i].Box_Piece__c == '涓�') {
+                  Jstage.Piecenumber = Jstage.Piecenumber + 1;
+                }
+                if (CountDel[i].hospitalSpecialOffer__c) {
+                  Jstage.hospitalSpecialOffer = true;
+                } else {
+                  Jstage.hospitalSpecialOffer = false;
+                }
+                if (HosProMap.containsKey(Jstage.Prod.Id)) {
+                  Jstage.hosPro = true;
+                }
+                //Jstage.BoxPiece = CountDel[i].Box_Piece__c;
+                MidMap2.put(CountDel[i].Consumable_Product__c + str, Jstage);
+              }
             }
-            //add by rentx 2021-3-1 end
-
-            saveBtnDisabled = false;
-            SorderBtnDisabled = false;
-            String sqlagencyProType = '%' + agencyProType + '%';
-            coc = new Consumable_order__c();
-            consumableorderdetailsSelectRecords = new List<ConsumableorderdetailsInfo>();
-            Map<String, ConsumableorderdetailsInfo> MidMap = new Map<String, ConsumableorderdetailsInfo>();
-            //add by rentx 2021-01-29
-            Map<String, ConsumableorderdetailsInfo> MidMap2 = new Map<String, ConsumableorderdetailsInfo>();
-            //add by rentx 2021-01-29
-
-            List<AggregateResult> orderdetailCount = [
-                SELECT count(id), Consumable_Product__c cpc, Box_Piece__c
-                FROM Consumable_order_details2__c
-                WHERE
-                    Dealer_Arrive__c = TRUE
-                    AND Dealer_Shipment__c = FALSE
-                    AND Dealer_Saled__c = FALSE
-                    AND Lose_Flag__c = FALSE
-                    AND Cancellation_Flag__c = FALSE
-                    AND Bar_Code__c != NULL
-                    AND Isoverdue__c = 1
-                    AND Product_Type__c LIKE :sqlagencyProType
-                    AND Dealer_Info_text__c = :accountName
-                    AND Arrive_Owner_Work_Location__c = :userWorkLocation
-                GROUP BY Consumable_Product__c, Box_Piece__c
-            ];
-            for (AggregateResult orderdetail : orderdetailCount) {
-                zaikuId.add(String.valueOf(orderdetail.get('cpc')));
-            }
-            System.debug('sqlagencyProType = ' + sqlagencyProType);
-            System.debug('userWorkLocation = ' + userWorkLocation);
-            System.debug('accountName = ' + accountName);
-            List<Consumable_order_details2__c> CountDel = [
-                SELECT
-                    Id,
-                    Bar_Code__c,
-                    Name,
-                    Inventory_date__c,
-                    Consumable_Product__c,
-                    Consumable_Product__r.Asset_Model_No__c,
-                    Recordtypeid,
-                    Box_Piece__c,
-                    ProductPacking_list_manual__c,
-                    //add by rentx 2020-11-27 start
-                    hospitalSpecialOffer__c
-                //add by rentx 2020-11-27 end
-                FROM Consumable_order_details2__c
-                WHERE
-                    Dealer_Arrive__c = TRUE
-                    AND Dealer_Shipment__c = FALSE
-                    AND Dealer_Saled__c = FALSE
-                    AND Dealer_Returned__c = FALSE
-                    AND Lose_Flag__c = FALSE
-                    AND Cancellation_Flag__c = FALSE
-                    AND Bar_Code__c != NULL
-                    AND Isoverdue__c = 1
-                    AND Product_Type__c LIKE :sqlagencyProType
-                    AND Arrive_Owner_Work_Location__c = :userWorkLocation
-                    AND Dealer_Info_text__c = :accountName
-            ];
-            // 鏂拌
-            if (ESetId == null || ESetId == '') {
-                SummonsFlag = 'hidden';
-                String msoql = makeSoqlinventory();
-                initStandardController(msoql);
-                System.debug('msoql = ' + msoql);
-                product2Selected = Database.query(msoql);
-                if (String.isBlank(arriveorder)) {
-                    EditDelCommitBtnDisabled = true;
-                    for (Integer i = 0; i < product2Selected.size(); i++) {
-                        MidMap.put(product2Selected[i].Id, new ConsumableorderdetailsInfo(product2Selected[i]));
-                    }
-                    for (Integer i = 0; i < CountDel.size(); i++) {
-                        String str = '';
-                        if (CountDel[i].hospitalSpecialOffer__c) {
-                            str = 'isHos';
-                        } else {
-                            str = 'notHos';
-                        }
-                        //鏄庣粏2瀵瑰簲鐨勪骇鍝佸瓨鍦ㄤ簬MidMap涓�
-                        if (MidMap.containsKey(CountDel[i].Consumable_Product__c)) {
-                            //璁剧疆map涓璳ey鐨勫悗缂� 鐢ㄤ簬鍖哄垎鍖婚櫌鐗逛环鍜岄潪鍖婚櫌鐗逛环
-                            if (MidMap2.containsKey(CountDel[i].Consumable_Product__c + str)) {
-                                ConsumableorderdetailsInfo Jstage = MidMap2.get(CountDel[i].Consumable_Product__c + str);
-                                Jstage.allnumber = Jstage.allnumber + 1;
-                                if (CountDel[i].Box_Piece__c == '鐩�') {
-                                    Jstage.Boxnumber = Jstage.Boxnumber + 1;
-                                } else if (CountDel[i].Box_Piece__c == '涓�') {
-                                    Jstage.Piecenumber = Jstage.Piecenumber + 1;
-                                }
-                                if (CountDel[i].hospitalSpecialOffer__c) {
-                                    Jstage.hospitalSpecialOffer = true;
-                                } else {
-                                    Jstage.hospitalSpecialOffer = false;
-                                }
-                                if (HosProMap.containsKey(Jstage.Prod.Id)) {
-                                    Jstage.hosPro = true;
-                                }
-                                MidMap2.put(CountDel[i].Consumable_Product__c + str, Jstage);
-                            } else {
-                                //midmap2涓病鏈夊搴旂殑浜у搧
-                                ConsumableorderdetailsInfo Jstage = MidMap.get(CountDel[i].Consumable_Product__c).clone();
-                                Jstage.allnumber = Jstage.allnumber + 1;
-                                if (CountDel[i].Box_Piece__c == '鐩�') {
-                                    Jstage.Boxnumber = Jstage.Boxnumber + 1;
-                                } else if (CountDel[i].Box_Piece__c == '涓�') {
-                                    Jstage.Piecenumber = Jstage.Piecenumber + 1;
-                                }
-                                if (CountDel[i].hospitalSpecialOffer__c) {
-                                    Jstage.hospitalSpecialOffer = true;
-                                } else {
-                                    Jstage.hospitalSpecialOffer = false;
-                                }
-                                if (HosProMap.containsKey(Jstage.Prod.Id)) {
-                                    Jstage.hosPro = true;
-                                }
-                                //Jstage.BoxPiece = CountDel[i].Box_Piece__c;
-                                MidMap2.put(CountDel[i].Consumable_Product__c + str, Jstage);
-                            }
-                        }
-                        System.debug('MidMap2.size() = ' + MidMap2.size());
-                        /*//鐒跺悗寰幆CountDel鍘讳慨鏀筸ap閲岀殑allnumber
+            System.debug('MidMap2.size() = ' + MidMap2.size());
+            /*//鐒跺悗寰幆CountDel鍘讳慨鏀筸ap閲岀殑allnumber
                             if(MidMap.containsKey(CountDel[i].Consumable_Product__c)){
                                 ConsumableorderdetailsInfo Jstage = MidMap.get(CountDel[i].Consumable_Product__c);
                                 Jstage.allnumber = Jstage.allnumber+1 ;
@@ -452,135 +509,144 @@
                                 //Jstage.BoxPiece = CountDel[i].Box_Piece__c;
                                 MidMap.put(CountDel[i].Consumable_Product__c+str, Jstage);
                             }*/
-                    }
+          }
 
-                    //update by rentx 2021-01-29 end
+          //update by rentx 2021-01-29 end
 
-                    //鍐嶆妸map閲岀殑鍊间粠鏂拌祴缁機onsumableorderdetailsRecords
-                    //update by rentx 2021-01-29
-                    // for(ConsumableorderdetailsInfo bss : MidMap.values()){
-                    for (ConsumableorderdetailsInfo bss : MidMap2.values()) {
-                        //update by rentx 2021-01-29
-                        //if(bss.allnumber>0){
-                        bss.packinglist = Integer.valueOf(bss.Prod.Product2__r.Packing_list_manual__c);
-                        bss.approbation_No = bss.Prod.Product2__r.SFDA_Approbation_No__c;
-                        bss.expiration_Date = bss.Prod.Product2__r.SFDA_Expiration_Date__c;
-                        consumableorderdetailsSelectRecords.add(bss);
-                        //}
-                    }
+          //鍐嶆妸map閲岀殑鍊间粠鏂拌祴缁機onsumableorderdetailsRecords
+          //update by rentx 2021-01-29
+          // for(ConsumableorderdetailsInfo bss : MidMap.values()){
+          for (ConsumableorderdetailsInfo bss : MidMap2.values()) {
+            //update by rentx 2021-01-29
+            //if(bss.allnumber>0){
+            bss.packinglist = Integer.valueOf(
+              bss.Prod.Product2__r.Packing_list_manual__c
+            );
+            bss.approbation_No = bss.Prod.Product2__r.SFDA_Approbation_No__c;
+            bss.expiration_Date = bss.Prod.Product2__r.SFDA_Expiration_Date__c;
+            consumableorderdetailsSelectRecords.add(bss);
+            //}
+          }
 
-                    Integer ishosnum = 0;
-                    for (ConsumableorderdetailsInfo ass : consumableorderdetailsSelectRecords) {
-                        //ass.sortBy = sortOrderAsc;
-                        //add by rentx 2021-3-10
-                        if (ass.hospitalSpecialOffer) {
-                            ishosnum = ishosnum + 1;
-                        }
-                    }
-                    if (ishosnum > 0) {
-                        hasHosPro = true;
-                    } else {
-                        hasHosPro = false;
-                    }
-                    consumableorderdetailsSelectRecords.sort();
-                    //add by rentx
-                    noOfRecords = consumableorderdetailsSelectRecords.size();
-                    //add by rentx
-                    System.debug('makepagerecords1');
-                    makepagerecords();
-                    //listCut();
-                } else {
-                    if (statusEdit == '' || statusEdit == null) {
-                        editAble = false;
-                    } else if (statusEdit != '' && statusEdit != null) {
-                        editAble = true;
-                    }
-                    // upadte start by vivek 2019-7-15
-                    // coc = [SELECT Id,Name,Summons_Order_type__c,SummonsStatus_c__c,Order_ForDealerText__c,
-                    //             Dealer_Info__c,Order_ForDealer__c,Order_ForDealer__r.Name,Order_ForDealerTextID__c,
-                    //             Order_ForHospital__c,SummonsForDirction__c,Order_date__c,Arrive_Order__c,
-                    //             Order_status__c,Shipment_total_amount__c,Offers_Price__c,
-                    //             Billed_Status__c,ShipmentAccount__c,Order_Dealer_Info__c,Order_ForCustomerText__c,ConInvoice_Code__c,Onchange_order__c
-                    //         FROM Consumable_order__c
-                    //         WHERE Id =:arriveorder AND Order_Owner_WorkLocal__c =: userWorkLocation
-                    //         AND recordtypeid = :System.Label.RT_ConOrder_Arrive];
-                    coc = [
-                        SELECT
-                            Id,
-                            Name,
-                            Summons_Order_type__c,
-                            NoConfirmedPrice__c,
-                            SummonsStatus_c__c,
-                            Order_ForDealerText__c,
-                            Dealer_Info__c,
-                            Order_ForDealer__c,
-                            Order_ForDealer__r.Name,
-                            Order_ForDealerTextID__c,
-                            Order_ForHospital__c,
-                            SummonsForDirction__c,
-                            Order_date__c,
-                            Arrive_Order__c,
-                            Order_status__c,
-                            Shipment_total_amount__c,
-                            Offers_Price__c,
-                            Billed_Status__c,
-                            ShipmentAccount__c,
-                            Order_Dealer_Info__c,
-                            Order_ForCustomerText__c,
-                            ConInvoice_Code__c,
-                            Onchange_order__c,
-                            OutPattern__c
-                        FROM Consumable_order__c
-                        WHERE
-                            Id = :arriveorder
-                            AND Order_Owner_WorkLocal__c = :userWorkLocation
-                            AND recordtypeid = :System.Label.RT_ConOrder_Arrive
-                    ];
-                    // update end by vivek 2019-7-15
-                    //鏄庣粏1鑾峰彇
-                    consumableorderdetailsSelected = [
-                        SELECT
-                            Id,
-                            Dealer_Custom_Price__c,
-                            Delivery_List_RMB__c,
-                            Consumable_Product__r.Name__c,
-                            Name,
-                            Consumable_order__c,
-                            Consumable_Product__c,
-                            Consumable_Product__r.Name,
-                            Consumable_Product__r.Category3__c,
-                            Consumable_Product__r.Category4__c,
-                            Consumable_Product__r.Category5__c,
-                            Shipment_Count__c,
-                            Consumable_Product__r.Intra_Trade_List_RMB__c,
-                            Consumable_Product__r.Asset_Model_No__c,
-                            Sum_of_money__c,
-                            Box_Piece__c,
-                            ProductPacking_list_manual__c,
-                            Consumable_Product__r.SFDA_Status__c,
-                            Consumable_count__c,
-                            Invoiced_Procount__c,
-                            RrturnPro_count__c,
-                            InvoiceProNot_count__c,
-                            //Unitprice_To_agency__c,
-                            Consumable_Product__r.Product2__r.SFDA_Approbation_No__c,
-                            Consumable_Product__r.Product2__r.SFDA_Expiration_Date__c
-                        FROM Consumable_Orderdetails__c
-                        WHERE Consumable_order__c = :coc.Arrive_Order__c
-                        ORDER BY Name
-                    ];
-                    for (Consumable_Orderdetails__c cdc1 : consumableorderdetailsSelected) {
-                        orderzaikuId.add(cdc1.Consumable_Product__c);
-                    }
-                    msoql = makeSoqlorderdet();
-                    product2Selected = Database.query(msoql);
-                    size = product2Selected.size();
-                    initStandardController(msoql);
-                    for (Integer i = 0; i < product2Selected.size(); i++) {
-                        MidMap.put(product2Selected[i].Id, new ConsumableorderdetailsInfo(product2Selected[i]));
-                    }
-                    //update by rentx 2021-01-29
-                    /*for(Integer i = 0 ; i< CountDel.size();i++){
+          Integer ishosnum = 0;
+          for (
+            ConsumableorderdetailsInfo ass : consumableorderdetailsSelectRecords
+          ) {
+            //ass.sortBy = sortOrderAsc;
+            //add by rentx 2021-3-10
+            if (ass.hospitalSpecialOffer) {
+              ishosnum = ishosnum + 1;
+            }
+          }
+          if (ishosnum > 0) {
+            hasHosPro = true;
+          } else {
+            hasHosPro = false;
+          }
+          consumableorderdetailsSelectRecords.sort();
+          //add by rentx
+          noOfRecords = consumableorderdetailsSelectRecords.size();
+          //add by rentx
+          System.debug('makepagerecords1');
+          makepagerecords();
+          //listCut();
+        } else {
+          if (statusEdit == '' || statusEdit == null) {
+            editAble = false;
+          } else if (statusEdit != '' && statusEdit != null) {
+            editAble = true;
+          }
+          // upadte start by vivek 2019-7-15
+          // coc = [SELECT Id,Name,Summons_Order_type__c,SummonsStatus_c__c,Order_ForDealerText__c,
+          //             Dealer_Info__c,Order_ForDealer__c,Order_ForDealer__r.Name,Order_ForDealerTextID__c,
+          //             Order_ForHospital__c,SummonsForDirction__c,Order_date__c,Arrive_Order__c,
+          //             Order_status__c,Shipment_total_amount__c,Offers_Price__c,
+          //             Billed_Status__c,ShipmentAccount__c,Order_Dealer_Info__c,Order_ForCustomerText__c,ConInvoice_Code__c,Onchange_order__c
+          //         FROM Consumable_order__c
+          //         WHERE Id =:arriveorder AND Order_Owner_WorkLocal__c =: userWorkLocation
+          //         AND recordtypeid = :System.Label.RT_ConOrder_Arrive];
+          coc = [
+            SELECT
+              Id,
+              Name,
+              Summons_Order_type__c,
+              NoConfirmedPrice__c,
+              SummonsStatus_c__c,
+              Order_ForDealerText__c,
+              Dealer_Info__c,
+              Order_ForDealer__c,
+              Order_ForDealer__r.Name,
+              Order_ForDealerTextID__c,
+              Order_ForHospital__c,
+              SummonsForDirction__c,
+              Order_date__c,
+              Arrive_Order__c,
+              Order_status__c,
+              Shipment_total_amount__c,
+              Offers_Price__c,
+              Billed_Status__c,
+              ShipmentAccount__c,
+              Order_Dealer_Info__c,
+              Order_ForCustomerText__c,
+              ConInvoice_Code__c,
+              Onchange_order__c,
+              OutPattern__c
+            FROM Consumable_order__c
+            WHERE
+              Id = :arriveorder
+              AND Order_Owner_WorkLocal__c = :userWorkLocation
+              AND recordtypeid = :System.Label.RT_ConOrder_Arrive
+          ];
+          // update end by vivek 2019-7-15
+          //鏄庣粏1鑾峰彇
+          consumableorderdetailsSelected = [
+            SELECT
+              Id,
+              Dealer_Custom_Price__c,
+              Delivery_List_RMB__c,
+              Consumable_Product__r.Name__c,
+              Name,
+              Consumable_order__c,
+              Consumable_Product__c,
+              Consumable_Product__r.Name,
+              Consumable_Product__r.Category3__c,
+              Consumable_Product__r.Category4__c,
+              Consumable_Product__r.Category5__c,
+              Shipment_Count__c,
+              Consumable_Product__r.Intra_Trade_List_RMB__c,
+              Consumable_Product__r.Asset_Model_No__c,
+              Sum_of_money__c,
+              Box_Piece__c,
+              ProductPacking_list_manual__c,
+              Consumable_Product__r.SFDA_Status__c,
+              Consumable_count__c,
+              Invoiced_Procount__c,
+              RrturnPro_count__c,
+              InvoiceProNot_count__c,
+              //Unitprice_To_agency__c,
+              Consumable_Product__r.Product2__r.SFDA_Approbation_No__c,
+              Consumable_Product__r.Product2__r.SFDA_Expiration_Date__c
+            FROM Consumable_Orderdetails__c
+            WHERE Consumable_order__c = :coc.Arrive_Order__c
+            ORDER BY Name
+          ];
+          for (
+            Consumable_Orderdetails__c cdc1 : consumableorderdetailsSelected
+          ) {
+            orderzaikuId.add(cdc1.Consumable_Product__c);
+          }
+          msoql = makeSoqlorderdet();
+          product2Selected = Database.query(msoql);
+          size = product2Selected.size();
+          initStandardController(msoql);
+          for (Integer i = 0; i < product2Selected.size(); i++) {
+            MidMap.put(
+              product2Selected[i].Id,
+              new ConsumableorderdetailsInfo(product2Selected[i])
+            );
+          }
+          //update by rentx 2021-01-29
+          /*for(Integer i = 0 ; i< CountDel.size();i++){
                             //鐒跺悗寰幆CountDel鍘讳慨鏀筸ap閲岀殑allnumber
                             if(MidMap.containsKey(CountDel[i].Consumable_Product__c)){
                                 ConsumableorderdetailsInfo Jstage = MidMap.get(CountDel[i].Consumable_Product__c);
@@ -595,275 +661,327 @@
                             }
 
                         }*/
-                    for (Integer i = 0; i < CountDel.size(); i++) {
-                        String str = '';
-                        if (CountDel[i].hospitalSpecialOffer__c) {
-                            str = 'isHos';
-                        } else {
-                            str = 'notHos';
-                        }
-                        //鏄庣粏2瀵瑰簲鐨勪骇鍝佸瓨鍦ㄤ簬MidMap涓�
-                        if (MidMap.containsKey(CountDel[i].Consumable_Product__c)) {
-                            //璁剧疆map涓璳ey鐨勫悗缂� 鐢ㄤ簬鍖哄垎鍖婚櫌鐗逛环鍜岄潪鍖婚櫌鐗逛环
-                            if (MidMap2.containsKey(CountDel[i].Consumable_Product__c + str)) {
-                                ConsumableorderdetailsInfo Jstage = MidMap2.get(CountDel[i].Consumable_Product__c + str);
-                                Jstage.allnumber = Jstage.allnumber + 1;
-                                if (CountDel[i].Box_Piece__c == '鐩�') {
-                                    Jstage.Boxnumber = Jstage.Boxnumber + 1;
-                                } else if (CountDel[i].Box_Piece__c == '涓�') {
-                                    Jstage.Piecenumber = Jstage.Piecenumber + 1;
-                                }
-                                if (CountDel[i].hospitalSpecialOffer__c) {
-                                    Jstage.hospitalSpecialOffer = true;
-                                } else {
-                                    Jstage.hospitalSpecialOffer = false;
-                                }
-
-                                if (HosProMap.containsKey(Jstage.Prod.Id)) {
-                                    Jstage.hosPro = true;
-                                }
-                                MidMap2.put(CountDel[i].Consumable_Product__c + str, Jstage);
-                            } else {
-                                //midmap2涓病鏈夊搴旂殑浜у搧
-                                ConsumableorderdetailsInfo Jstage = MidMap.get(CountDel[i].Consumable_Product__c).clone();
-                                Jstage.allnumber = Jstage.allnumber + 1;
-                                if (CountDel[i].Box_Piece__c == '鐩�') {
-                                    Jstage.Boxnumber = Jstage.Boxnumber + 1;
-                                } else if (CountDel[i].Box_Piece__c == '涓�') {
-                                    Jstage.Piecenumber = Jstage.Piecenumber + 1;
-                                }
-                                if (CountDel[i].hospitalSpecialOffer__c) {
-                                    Jstage.hospitalSpecialOffer = true;
-                                } else {
-                                    Jstage.hospitalSpecialOffer = false;
-                                }
-
-                                if (HosProMap.containsKey(Jstage.Prod.Id)) {
-                                    Jstage.hosPro = true;
-                                }
-                                //Jstage.BoxPiece = CountDel[i].Box_Piece__c;
-                                MidMap2.put(CountDel[i].Consumable_Product__c + str, Jstage);
-                            }
-                        }
-                    }
-
-                    //鍐嶆妸map閲岀殑鍊间粠鏂拌祴缁機onsumableorderdetailsRecords
-                    //update by rentx 2021-01-29
-                    // for(ConsumableorderdetailsInfo bss : MidMap.values()){
-                    for (ConsumableorderdetailsInfo bss : MidMap2.values()) {
-                        //update by rentx 2021-01-29
-                        bss.packinglist = Integer.valueOf(bss.Prod.Product2__r.Packing_list_manual__c);
-                        bss.approbation_No = bss.Prod.Product2__r.SFDA_Approbation_No__c;
-                        bss.expiration_Date = bss.Prod.Product2__r.SFDA_Expiration_Date__c;
-                        consumableorderdetailsSelectRecords.add(bss);
-                    }
-                    //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, 'test11111' + consumableorderdetailsSelected.size()));
-                    //return;
-
-                    Integer ishosnum = 0;
-                    for (ConsumableorderdetailsInfo ass : consumableorderdetailsSelectRecords) {
-                        //ass.sortBy = sortOrderAsc;
-                        for (Consumable_Orderdetails__c cdc1 : consumableorderdetailsSelected) {
-                            cdc1.Shipment_Count__c = cdc1.Consumable_count__c;
-                            if (ass.prod.Id == cdc1.Consumable_Product__c) {
-                                ass.check = true;
-                                ass.orderdetails1 = cdc1;
-                            }
-                        }
-                        if (ass.hospitalSpecialOffer == true) {
-                            ishosnum = ishosnum + 1;
-                        }
-                    }
-                    if (ishosnum > 0) {
-                        hasHosPro = true;
-                    } else {
-                        hasHosPro = false;
-                    }
-
-                    consumableorderdetailsSelectRecords.sort();
-                    //add by rentx
-                    noOfRecords = consumableorderdetailsSelectRecords.size();
-                    //add by rentx
-                    System.debug('makepagerecords2');
-                    makepagerecords();
-                    consumablearriveproductdetailsSelected = [
-                        SELECT
-                            Id,
-                            Name,
-                            Intra_Trade_List_RMB__c,
-                            Asset_Model_No__c,
-                            Consumable_Product__c,
-                            Consumable_Product__r.Name,
-                            Consumable_Product__r.Name__c,
-                            Consumable_Product__r.Category3__c,
-                            Consumable_Product__r.Category4__c,
-                            Consumable_Product__r.Category5__c,
-                            Sterilization_limit__c,
-                            Deliver_date__c,
-                            Bar_Code__c,
-                            Arrive_date__c,
-                            Send_Date__c,
-                            Consumable_order_minor__r.Name,
-                            Consumable_order_minor__c,
-                            Dealer_Arrive__c,
-                            Delivery_List_RMB__c,
-                            Box_Piece__c,
-                            ProductPacking_list_manual__c,
-                            //add by rentx start
-                            hospitalSpecialOffer__c
-                        //add by rentx end
-                        FROM Consumable_order_details2__c
-                        WHERE
-                            Consumable_order_minor__c = :coc.Arrive_Order__c
-                            AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery
-                            AND Dealer_Arrive__c = TRUE
-                        ORDER BY Name
-                    ];
-                    for (Integer i = 0; i < consumablearriveproductdetailsSelected.size(); i++) {
-                        if (
-                            consumablearriveproductdetailsSelected[i].hospitalSpecialOffer__c &&
-                            HosProMap.containsKey(consumablearriveproductdetailsSelected[i].Consumable_product__c)
-                        ) {
-                            coc.OutPattern__c = true;
-                        }
-                        consumableproductdetailsRecords.add(new ConsumableorderdetailsInfo(consumablearriveproductdetailsSelected[i]));
-                    }
-                }
+          for (Integer i = 0; i < CountDel.size(); i++) {
+            String str = '';
+            if (CountDel[i].hospitalSpecialOffer__c) {
+              str = 'isHos';
             } else {
-                // 鏇存柊銆�
-                SummonsFlag = 'visible';
-                // update start by vivek 2019-7-15 add 鈥淣oConfirmedPrice__c鈥� in select
-                consumableInvoiceRecords = [
-                    SELECT Id, Name, Invoice_Date__c, NoConfirmedPrice__c, Invoice_total_amount__c, Invoice_status__c
-                    FROM Consumable_order__c
-                    WHERE
-                        Id IN (SELECT Invoice_Code_link__c FROM Consumable_order_LinkTable__c WHERE Outboundorder_Code_link__c = :ESetId)
-                        AND Invoice_status__c != '鑽夋涓�'
-                ];
-
-                System.debug('coc ESetId = ' + ESetId);
-                System.debug('coc userWorkLocation = ' + userWorkLocation);
-                coc = [
-                    SELECT
-                        Id,
-                        Name,
-                        Summons_Order_type__c,
-                        NoConfirmedPrice__c,
-                        SummonsStatus_c__c,
-                        Order_ForDealerText__c,
-                        Dealer_Info__c,
-                        Order_ForDealer__c,
-                        Order_ForDealer__r.Name,
-                        Order_ForDealerTextID__c,
-                        Order_ForHospital__c,
-                        SummonsForDirction__c,
-                        Order_date__c,
-                        Arrive_Order__c,
-                        Order_status__c,
-                        Shipment_total_amount__c,
-                        Offers_Price__c,
-                        Billed_Status__c,
-                        ShipmentAccount__c,
-                        Order_Dealer_Info__c,
-                        Order_ForCustomerText__c,
-                        ConInvoice_Code__c,
-                        Onchange_order__c,
-                        OutPattern__c
-                    FROM Consumable_order__c
-                    WHERE Id = :ESetId AND Order_Owner_WorkLocal__c = :userWorkLocation AND Order_type__c = '浼犵エ'
-                ];
-                // update start by vivek 2019-7-15
-                if (getExistarrive()) {
-                    arriveorder = coc.Arrive_Order__c;
+              str = 'notHos';
+            }
+            //鏄庣粏2瀵瑰簲鐨勪骇鍝佸瓨鍦ㄤ簬MidMap涓�
+            if (MidMap.containsKey(CountDel[i].Consumable_Product__c)) {
+              //璁剧疆map涓璳ey鐨勫悗缂� 鐢ㄤ簬鍖哄垎鍖婚櫌鐗逛环鍜岄潪鍖婚櫌鐗逛环
+              if (
+                MidMap2.containsKey(CountDel[i].Consumable_Product__c + str)
+              ) {
+                ConsumableorderdetailsInfo Jstage = MidMap2.get(
+                  CountDel[i].Consumable_Product__c + str
+                );
+                Jstage.allnumber = Jstage.allnumber + 1;
+                if (CountDel[i].Box_Piece__c == '鐩�') {
+                  Jstage.Boxnumber = Jstage.Boxnumber + 1;
+                } else if (CountDel[i].Box_Piece__c == '涓�') {
+                  Jstage.Piecenumber = Jstage.Piecenumber + 1;
                 }
-                // 鍒拌揣璁㈠崟鏉ョ殑鏃跺��
-                if (getExistarrive()) {
-                    if (editAble) {
-                        alertMessage = '鍒拌揣璁㈠崟鐩存帴鍑哄簱锛屽嚭搴撳崟鏄庣粏涓嶅彲缂栬緫';
-                    }
-                    if (coc.SummonsStatus_c__c == '宸叉彁浜�' || coc.SummonsStatus_c__c == '鎵瑰噯') {
-                        system.debug('coc.SummonsStatus_c__c : ' + coc.SummonsStatus_c__c);
-                        saveBtnDisabled = true;
-                        SorderBtnDisabled = true;
-                        EditDelCommitBtnDisabled = false;
-                    }
-                    //鍖婚櫌浜岀骇缁忛攢鍟嗗垎绫�
-                    Integer io = 0;
-                    while (io < Dealerelationship.size()) {
-                        if (coc.Order_ForDealer__c == Dealerelationship[io].Dealer_subordinate__c) {
-                            SecondDealer = Dealerelationship[io].Dealer_subordinate__c;
-                            coc.Order_ForDealer__c = null;
-                            io = io + Dealerelationship.size();
-                        }
-                        io++;
-                    }
+                if (CountDel[i].hospitalSpecialOffer__c) {
+                  Jstage.hospitalSpecialOffer = true;
+                } else {
+                  Jstage.hospitalSpecialOffer = false;
+                }
 
-                    Integer ik = 0;
-                    while (ik < AgencyHospitalLink.size()) {
-                        if (coc.Order_ForHospital__c == AgencyHospitalLink[ik].Hospital__c) {
-                            HospitalInfo = AgencyHospitalLink[ik].Hospital__c;
-                            HospitalName = AgencyHospitalLink[ik].Hospital__r.Name;
-                            coc.Order_ForHospital__c = null;
-                            ik = ik + AgencyHospitalLink.size();
-                        }
-                        ik++;
-                    }
-                    //鍑哄簱鍗曟槑缁�1鍙栧緱
-                    consumableorderdetailsSelected = [
-                        SELECT
-                            Id,
-                            Dealer_Custom_Price__c,
-                            Delivery_List_RMB__c,
-                            Consumable_Product__r.Name__c,
-                            Consumable_Product__r.SFDA_Status__c,
-                            Name,
-                            Consumable_order__c,
-                            Consumable_Product__c,
-                            Consumable_Product__r.Name,
-                            Shipment_Count__c,
-                            Consumable_Product__r.Intra_Trade_List_RMB__c,
-                            Consumable_Product__r.Asset_Model_No__c,
-                            Consumable_Product__r.Category3__c,
-                            Consumable_Product__r.Category4__c,
-                            Consumable_Product__r.Category5__c,
-                            Shipment_amount__c,
-                            //Unitprice_To_agency__c,
-                            Box_Piece__c,
-                            ProductPacking_list_manual__c,
-                            Invoiced_Procount__c,
-                            RrturnPro_count__c,
-                            InvoiceProNot_count__c,
-                            Consumable_Product__r.Product2__r.SFDA_Approbation_No__c,
-                            Consumable_Product__r.Product2__r.SFDA_Expiration_Date__c,
-                            isOutPattern__c
-                        FROM Consumable_orderdetails__c
-                        WHERE Consumable_order__c = :ESetId AND Consumable_order__r.Order_Owner_WorkLocal__c = :userWorkLocation
-                        ORDER BY Name
-                    ];
-                    Map<String, Consumable_Orderdetails__c> cocMap = new Map<String, Consumable_Orderdetails__c>();
+                if (HosProMap.containsKey(Jstage.Prod.Id)) {
+                  Jstage.hosPro = true;
+                }
+                MidMap2.put(CountDel[i].Consumable_Product__c + str, Jstage);
+              } else {
+                //midmap2涓病鏈夊搴旂殑浜у搧
+                ConsumableorderdetailsInfo Jstage = MidMap.get(
+                    CountDel[i].Consumable_Product__c
+                  )
+                  .clone();
+                Jstage.allnumber = Jstage.allnumber + 1;
+                if (CountDel[i].Box_Piece__c == '鐩�') {
+                  Jstage.Boxnumber = Jstage.Boxnumber + 1;
+                } else if (CountDel[i].Box_Piece__c == '涓�') {
+                  Jstage.Piecenumber = Jstage.Piecenumber + 1;
+                }
+                if (CountDel[i].hospitalSpecialOffer__c) {
+                  Jstage.hospitalSpecialOffer = true;
+                } else {
+                  Jstage.hospitalSpecialOffer = false;
+                }
 
-                    for (Consumable_Orderdetails__c cdc1 : consumableorderdetailsSelected) {
-                        sumPrice += cdc1.Shipment_amount__c;
-                        orderzaikuId.add(cdc1.Consumable_Product__c);
-                        //add by rentx 2021-2-26
-                        String tempId = cdc1.Consumable_product__c;
-                        if (cdc1.isOutPattern__c) {
-                            cocMap.put(tempId + 'ishos', cdc1);
-                        } else {
-                            cocMap.put(tempId + 'nothos', cdc1);
-                        }
-                        //add by rentx 2021-2-26
-                    }
-                    String msoql = makeSoqlorderdet();
-                    product2Selected = Database.query(msoql);
-                    size = product2Selected.size();
-                    initStandardController(msoql);
+                if (HosProMap.containsKey(Jstage.Prod.Id)) {
+                  Jstage.hosPro = true;
+                }
+                //Jstage.BoxPiece = CountDel[i].Box_Piece__c;
+                MidMap2.put(CountDel[i].Consumable_Product__c + str, Jstage);
+              }
+            }
+          }
 
-                    for (Integer i = 0; i < product2Selected.size(); i++) {
-                        MidMap.put(product2Selected[i].Id, new ConsumableorderdetailsInfo(product2Selected[i]));
-                    }
-                    //update by rentx 2021-01-29
-                    /*for(Integer i = 0 ; i< CountDel.size();i++){
+          //鍐嶆妸map閲岀殑鍊间粠鏂拌祴缁機onsumableorderdetailsRecords
+          //update by rentx 2021-01-29
+          // for(ConsumableorderdetailsInfo bss : MidMap.values()){
+          for (ConsumableorderdetailsInfo bss : MidMap2.values()) {
+            //update by rentx 2021-01-29
+            bss.packinglist = Integer.valueOf(
+              bss.Prod.Product2__r.Packing_list_manual__c
+            );
+            bss.approbation_No = bss.Prod.Product2__r.SFDA_Approbation_No__c;
+            bss.expiration_Date = bss.Prod.Product2__r.SFDA_Expiration_Date__c;
+            consumableorderdetailsSelectRecords.add(bss);
+          }
+          //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, 'test11111' + consumableorderdetailsSelected.size()));
+          //return;
+
+          Integer ishosnum = 0;
+          for (
+            ConsumableorderdetailsInfo ass : consumableorderdetailsSelectRecords
+          ) {
+            //ass.sortBy = sortOrderAsc;
+            for (
+              Consumable_Orderdetails__c cdc1 : consumableorderdetailsSelected
+            ) {
+              cdc1.Shipment_Count__c = cdc1.Consumable_count__c;
+              if (ass.prod.Id == cdc1.Consumable_Product__c) {
+                ass.check = true;
+                ass.orderdetails1 = cdc1;
+              }
+            }
+            if (ass.hospitalSpecialOffer == true) {
+              ishosnum = ishosnum + 1;
+            }
+          }
+          if (ishosnum > 0) {
+            hasHosPro = true;
+          } else {
+            hasHosPro = false;
+          }
+
+          consumableorderdetailsSelectRecords.sort();
+          //add by rentx
+          noOfRecords = consumableorderdetailsSelectRecords.size();
+          //add by rentx
+          System.debug('makepagerecords2');
+          makepagerecords();
+          consumablearriveproductdetailsSelected = [
+            SELECT
+              Id,
+              Name,
+              Intra_Trade_List_RMB__c,
+              Asset_Model_No__c,
+              Consumable_Product__c,
+              Consumable_Product__r.Name,
+              Consumable_Product__r.Name__c,
+              Consumable_Product__r.Category3__c,
+              Consumable_Product__r.Category4__c,
+              Consumable_Product__r.Category5__c,
+              Sterilization_limit__c,
+              Deliver_date__c,
+              Bar_Code__c,
+              Arrive_date__c,
+              Send_Date__c,
+              Consumable_order_minor__r.Name,
+              Consumable_order_minor__c,
+              Dealer_Arrive__c,
+              Delivery_List_RMB__c,
+              Box_Piece__c,
+              ProductPacking_list_manual__c,
+              //add by rentx start
+              hospitalSpecialOffer__c
+            //add by rentx end
+            FROM Consumable_order_details2__c
+            WHERE
+              Consumable_order_minor__c = :coc.Arrive_Order__c
+              AND recordtypeid = :System.Label.RT_ConOrderDetail2_Delivery
+              AND Dealer_Arrive__c = TRUE
+            ORDER BY Name
+          ];
+          for (
+            Integer i = 0;
+            i < consumablearriveproductdetailsSelected.size();
+            i++
+          ) {
+            if (
+              consumablearriveproductdetailsSelected[i]
+                .hospitalSpecialOffer__c &&
+              HosProMap.containsKey(
+                consumablearriveproductdetailsSelected[i].Consumable_product__c
+              )
+            ) {
+              coc.OutPattern__c = true;
+            }
+            consumableproductdetailsRecords.add(
+              new ConsumableorderdetailsInfo(
+                consumablearriveproductdetailsSelected[i]
+              )
+            );
+          }
+        }
+      } else {
+        // 鏇存柊銆�
+        SummonsFlag = 'visible';
+        // update start by vivek 2019-7-15 add 鈥淣oConfirmedPrice__c鈥� in select
+        consumableInvoiceRecords = [
+          SELECT
+            Id,
+            Name,
+            Invoice_Date__c,
+            NoConfirmedPrice__c,
+            Invoice_total_amount__c,
+            Invoice_status__c
+          FROM Consumable_order__c
+          WHERE
+            Id IN (
+              SELECT Invoice_Code_link__c
+              FROM Consumable_order_LinkTable__c
+              WHERE Outboundorder_Code_link__c = :ESetId
+            )
+            AND Invoice_status__c != '鑽夋涓�'
+        ];
+
+        System.debug('coc ESetId = ' + ESetId);
+        System.debug('coc userWorkLocation = ' + userWorkLocation);
+        coc = [
+          SELECT
+            Id,
+            Name,
+            Summons_Order_type__c,
+            NoConfirmedPrice__c,
+            SummonsStatus_c__c,
+            Order_ForDealerText__c,
+            Dealer_Info__c,
+            Order_ForDealer__c,
+            Order_ForDealer__r.Name,
+            Order_ForDealerTextID__c,
+            Order_ForHospital__c,
+            SummonsForDirction__c,
+            Order_date__c,
+            Arrive_Order__c,
+            Order_status__c,
+            Shipment_total_amount__c,
+            Offers_Price__c,
+            Billed_Status__c,
+            ShipmentAccount__c,
+            Order_Dealer_Info__c,
+            Order_ForCustomerText__c,
+            ConInvoice_Code__c,
+            Onchange_order__c,
+            OutPattern__c
+          FROM Consumable_order__c
+          WHERE
+            Id = :ESetId
+            AND Order_Owner_WorkLocal__c = :userWorkLocation
+            AND Order_type__c = '浼犵エ'
+        ];
+        // update start by vivek 2019-7-15
+        if (getExistarrive()) {
+          arriveorder = coc.Arrive_Order__c;
+        }
+        // 鍒拌揣璁㈠崟鏉ョ殑鏃跺��
+        if (getExistarrive()) {
+          if (editAble) {
+            alertMessage = '鍒拌揣璁㈠崟鐩存帴鍑哄簱锛屽嚭搴撳崟鏄庣粏涓嶅彲缂栬緫';
+          }
+          if (
+            coc.SummonsStatus_c__c == '宸叉彁浜�' ||
+            coc.SummonsStatus_c__c == '鎵瑰噯'
+          ) {
+            system.debug('coc.SummonsStatus_c__c : ' + coc.SummonsStatus_c__c);
+            saveBtnDisabled = true;
+            SorderBtnDisabled = true;
+            EditDelCommitBtnDisabled = false;
+          }
+          //鍖婚櫌浜岀骇缁忛攢鍟嗗垎绫�
+          Integer io = 0;
+          while (io < Dealerelationship.size()) {
+            if (
+              coc.Order_ForDealer__c ==
+              Dealerelationship[io].Dealer_subordinate__c
+            ) {
+              SecondDealer = Dealerelationship[io].Dealer_subordinate__c;
+              coc.Order_ForDealer__c = null;
+              io = io + Dealerelationship.size();
+            }
+            io++;
+          }
+
+          Integer ik = 0;
+          while (ik < AgencyHospitalLink.size()) {
+            if (
+              coc.Order_ForHospital__c == AgencyHospitalLink[ik].Hospital__c
+            ) {
+              HospitalInfo = AgencyHospitalLink[ik].Hospital__c;
+              HospitalName = AgencyHospitalLink[ik].Hospital__r.Name;
+              coc.Order_ForHospital__c = null;
+              ik = ik + AgencyHospitalLink.size();
+            }
+            ik++;
+          }
+          //鍑哄簱鍗曟槑缁�1鍙栧緱
+          consumableorderdetailsSelected = [
+            SELECT
+              Id,
+              Dealer_Custom_Price__c,
+              Delivery_List_RMB__c,
+              Consumable_Product__r.Name__c,
+              Consumable_Product__r.SFDA_Status__c,
+              Name,
+              Consumable_order__c,
+              Consumable_Product__c,
+              Consumable_Product__r.Name,
+              Shipment_Count__c,
+              Consumable_Product__r.Intra_Trade_List_RMB__c,
+              Consumable_Product__r.Asset_Model_No__c,
+              Consumable_Product__r.Category3__c,
+              Consumable_Product__r.Category4__c,
+              Consumable_Product__r.Category5__c,
+              Shipment_amount__c,
+              //Unitprice_To_agency__c,
+              Box_Piece__c,
+              ProductPacking_list_manual__c,
+              Invoiced_Procount__c,
+              RrturnPro_count__c,
+              InvoiceProNot_count__c,
+              Consumable_Product__r.Product2__r.SFDA_Approbation_No__c,
+              Consumable_Product__r.Product2__r.SFDA_Expiration_Date__c,
+              isOutPattern__c
+            FROM Consumable_orderdetails__c
+            WHERE
+              Consumable_order__c = :ESetId
+              AND Consumable_order__r.Order_Owner_WorkLocal__c = :userWorkLocation
+            ORDER BY Name
+          ];
+          Map<String, Consumable_Orderdetails__c> cocMap = new Map<String, Consumable_Orderdetails__c>();
+
+          for (
+            Consumable_Orderdetails__c cdc1 : consumableorderdetailsSelected
+          ) {
+            sumPrice += cdc1.Shipment_amount__c;
+            orderzaikuId.add(cdc1.Consumable_Product__c);
+            //add by rentx 2021-2-26
+            String tempId = cdc1.Consumable_product__c;
+            if (cdc1.isOutPattern__c) {
+              cocMap.put(tempId + 'ishos', cdc1);
+            } else {
+              cocMap.put(tempId + 'nothos', cdc1);
+            }
+            //add by rentx 2021-2-26
+          }
+          String msoql = makeSoqlorderdet();
+          product2Selected = Database.query(msoql);
+          size = product2Selected.size();
+          initStandardController(msoql);
+
+          for (Integer i = 0; i < product2Selected.size(); i++) {
+            MidMap.put(
+              product2Selected[i].Id,
+              new ConsumableorderdetailsInfo(product2Selected[i])
+            );
+          }
+          //update by rentx 2021-01-29
+          /*for(Integer i = 0 ; i< CountDel.size();i++){
                             //鐒跺悗寰幆CountDel鍘讳慨鏀筸ap閲岀殑allnumber
                             if(MidMap.containsKey(CountDel[i].Consumable_Product__c)){
                                 ConsumableorderdetailsInfo Jstage =  MidMap.get(CountDel[i].Consumable_Product__c);
@@ -878,2119 +996,2475 @@
                             }
                         }*/
 
-                    for (Integer i = 0; i < CountDel.size(); i++) {
-                        String str = '';
-                        if (CountDel[i].hospitalSpecialOffer__c) {
-                            str = 'isHos';
-                        } else {
-                            str = 'notHos';
-                        }
-                        //鏄庣粏2瀵瑰簲鐨勪骇鍝佸瓨鍦ㄤ簬MidMap涓�
-                        if (MidMap.containsKey(CountDel[i].Consumable_Product__c)) {
-                            //璁剧疆map涓璳ey鐨勫悗缂� 鐢ㄤ簬鍖哄垎鍖婚櫌鐗逛环鍜岄潪鍖婚櫌鐗逛环
-                            if (MidMap2.containsKey(CountDel[i].Consumable_Product__c + str)) {
-                                ConsumableorderdetailsInfo Jstage = MidMap2.get(CountDel[i].Consumable_Product__c + str);
-                                Jstage.allnumber = Jstage.allnumber + 1;
-                                if (CountDel[i].Box_Piece__c == '鐩�') {
-                                    Jstage.Boxnumber = Jstage.Boxnumber + 1;
-                                } else if (CountDel[i].Box_Piece__c == '涓�') {
-                                    Jstage.Piecenumber = Jstage.Piecenumber + 1;
-                                }
-                                if (CountDel[i].hospitalSpecialOffer__c) {
-                                    Jstage.hospitalSpecialOffer = true;
-                                } else {
-                                    Jstage.hospitalSpecialOffer = false;
-                                }
-
-                                if (HosProMap.containsKey(Jstage.Prod.Id)) {
-                                    Jstage.hosPro = true;
-                                }
-                                MidMap2.put(CountDel[i].Consumable_Product__c + str, Jstage);
-                            } else {
-                                //midmap2涓病鏈夊搴旂殑浜у搧
-                                ConsumableorderdetailsInfo Jstage = MidMap.get(CountDel[i].Consumable_Product__c).clone();
-                                Jstage.allnumber = Jstage.allnumber + 1;
-                                if (CountDel[i].Box_Piece__c == '鐩�') {
-                                    Jstage.Boxnumber = Jstage.Boxnumber + 1;
-                                } else if (CountDel[i].Box_Piece__c == '涓�') {
-                                    Jstage.Piecenumber = Jstage.Piecenumber + 1;
-                                }
-                                if (CountDel[i].hospitalSpecialOffer__c) {
-                                    Jstage.hospitalSpecialOffer = true;
-                                } else {
-                                    Jstage.hospitalSpecialOffer = false;
-                                }
-                                if (HosProMap.containsKey(Jstage.Prod.Id)) {
-                                    Jstage.hosPro = true;
-                                }
-                                //Jstage.BoxPiece = CountDel[i].Box_Piece__c;
-                                MidMap2.put(CountDel[i].Consumable_Product__c + str, Jstage);
-                            }
-                        }
-                    }
-                    //update by rentx 2021-01-29
-                    consumableorderdetailsSelectRecords = new List<ConsumableorderdetailsInfo>();
-                    //鍐嶆妸map閲岀殑鍊间粠鏂拌祴缁機onsumableorderdetailsRecords
-                    //update by rentx 2021-01-29
-                    // for(ConsumableorderdetailsInfo bss : MidMap.values()){
-                    for (ConsumableorderdetailsInfo bss : MidMap2.values()) {
-                        //update by rentx 2021-01-29
-
-                        //if(bss.allnumber > 0){
-                        //bss.UnitpriceToagency = bss.orderdetails1.Unitprice_To_agency__c == null  || bss.orderdetails1.Unitprice_To_agency__c == 0 ? '' :bss.orderdetails1.Unitprice_To_agency__c.format();
-                        bss.packinglist = Integer.valueOf(bss.Prod.Product2__r.Packing_list_manual__c);
-                        bss.approbation_No = bss.Prod.Product2__r.SFDA_Approbation_No__c;
-                        bss.expiration_Date = bss.Prod.Product2__r.SFDA_Expiration_Date__c;
-
-                        //update by rentx 2021-2-26 start
-                        if (cocMap.containsKey(bss.Prod.Id + 'ishos') && bss.hospitalSpecialOffer == true) {
-                            consumableorderdetailsSelectRecords.add(bss);
-                        } else if (cocMap.containsKey(bss.Prod.Id + 'nothos') && bss.hospitalSpecialOffer == false) {
-                            consumableorderdetailsSelectRecords.add(bss);
-                        }
-                        //update by rentx 2021-2-26 end
-                        // consumableorderdetailsSelectRecords.add(bss);
-                        //}
-                    }
-                    Integer ishosnum = 0;
-                    for (ConsumableorderdetailsInfo ass : consumableorderdetailsSelectRecords) {
-                        for (Consumable_Orderdetails__c cdc1 : consumableorderdetailsSelected) {
-                            //update by rentx 2012-3-1 start
-                            // if(ass.prod.Id == cdc1.Consumable_Product__c){
-                            //     ass.check = true;
-                            //     ass.orderdetails1 = cdc1;
-                            // }
-                            if (ass.Prod.Id == cdc1.Consumable_Product__c && ass.hospitalSpecialOffer == cdc1.isOutPattern__c) {
-                                ass.check = true;
-                                ass.orderdetails1 = cdc1;
-                            }
-                            //update by rentx 2012-3-1 end
-                        }
-                        if (ass.hospitalSpecialOffer == true) {
-                            ishosnum = ishosnum + 1;
-                        }
-                    }
-                    if (ishosnum > 0) {
-                        hasHosPro = true;
-                    } else {
-                        hasHosPro = false;
-                    }
-
-                    //add by rentx
-                    noOfRecords = consumableorderdetailsSelectRecords.size();
-                    //add by rentx
-                    System.debug('makepagerecords3');
-                    makepagerecords();
-                    //listCut();
-                    // 娑堣�楀搧鏄庣粏2銈掑彇寰�
-                    consumableorderdetails2RecordsList = [
-                        SELECT
-                            Id,
-                            Name,
-                            SerialLotNo__c,
-                            Consumable_Product__r.Name__c,
-                            TracingCode__c,
-                            Sterilization_limit__c,
-                            Consumable_Product__c,
-                            Consumable_Product__r.Name,
-                            Consumable_Product__r.Category3__c,
-                            Consumable_Product__r.Category4__c,
-                            Consumable_Product__r.Category5__c,
-                            Return_date__c,
-                            Invoice_Date__c,
-                            Box_Piece__c,
-                            ProductPacking_list_manual__c,
-                            //add by rentx start
-                            hospitalSpecialOffer__c
-                        //add by rentx end
-                        FROM Consumable_order_details2__c
-                        WHERE Consumable_ZS_order__c = :ESetId
-                        ORDER BY Name
-                    ];
-                    for (Integer i = 0; i < consumableorderdetails2RecordsList.size(); i++) {
-                        consumableorderdetails2Records.add(new ConsumableorderdetailsInfo(consumableorderdetails2RecordsList[i]));
-                    }
-                    //浜у搧鏄庣粏鍙栧緱
-                    consumablearriveproductdetailsSelected = [
-                        SELECT
-                            Id,
-                            Delivery_List_RMB__c,
-                            Consumable_Product__r.Name__c,
-                            Name,
-                            Consumable_Product__r.SFDA_Status__c,
-                            Consumable_Product__r.Category3__c,
-                            Consumable_Product__r.Category4__c,
-                            Consumable_Product__r.Category5__c,
-                            Consumable_Product__c,
-                            Consumable_Product__r.Name,
-                            Sterilization_limit__c,
-                            Consumable_Product__r.Intra_Trade_List_RMB__c,
-                            Consumable_Product__r.Asset_Model_No__c,
-                            Box_Piece__c,
-                            ProductPacking_list_manual__c,
-                            //add by rentx start
-                            hospitalSpecialOffer__c
-                        //add by rentx end
-                        FROM Consumable_order_details2__c
-                        WHERE Consumable_ZS_order__c = :ESetId
-                        ORDER BY Name
-                    ];
-                    for (Integer i = 0; i < consumablearriveproductdetailsSelected.size(); i++) {
-                        consumableproductdetailsRecords.add(new ConsumableorderdetailsInfo(consumablearriveproductdetailsSelected[i]));
-                    }
-                } else {
-                    // 涓嶆槸鍒拌揣璁㈠崟鏉ョ殑鏃跺��
-                    if (coc.SummonsStatus_c__c == '宸叉彁浜�' || coc.SummonsStatus_c__c == '鎵瑰噯') {
-                        system.debug('coc.SummonsStatus_c__c : ' + coc.SummonsStatus_c__c);
-                        saveBtnDisabled = true;
-                        SorderBtnDisabled = true;
-                        EditDelCommitBtnDisabled = false;
-                    }
-                    //鍖婚櫌浜岀骇缁忛攢鍟嗗垎绫�
-                    Integer io = 0;
-                    while (io < Dealerelationship.size()) {
-                        if (coc.Order_ForDealer__c == Dealerelationship[io].Dealer_subordinate__c) {
-                            SecondDealer = Dealerelationship[io].Dealer_subordinate__c;
-                            coc.Order_ForDealer__c = null;
-                            io = io + Dealerelationship.size();
-                        }
-                        io++;
-                    }
-                    Integer ik = 0;
-                    while (ik < AgencyHospitalLink.size()) {
-                        if (coc.Order_ForHospital__c == AgencyHospitalLink[ik].Hospital__c) {
-                            HospitalInfo = AgencyHospitalLink[ik].Hospital__c;
-                            HospitalName = AgencyHospitalLink[ik].Hospital__r.Name;
-                            coc.Order_ForHospital__c = null;
-                            ik = ik + AgencyHospitalLink.size();
-                        }
-                        ik++;
-                    }
-                    // 娑堣�楀搧鏄庣粏1銈掑彇寰�
-                    consumableorderdetailsSelected = [
-                        SELECT
-                            Id,
-                            Dealer_Custom_Price__c,
-                            Delivery_List_RMB__c,
-                            Consumable_Product__r.Name__c,
-                            Consumable_Product__r.SFDA_Status__c,
-                            Name,
-                            Consumable_order__c,
-                            Consumable_Product__c,
-                            Consumable_Product__r.Name,
-                            Shipment_Count__c,
-                            Consumable_Product__r.Intra_Trade_List_RMB__c,
-                            Consumable_Product__r.Asset_Model_No__c,
-                            Shipment_amount__c,
-                            Box_Piece__c,
-                            ProductPacking_list_manual__c,
-                            Invoiced_Procount__c,
-                            RrturnPro_count__c,
-                            //Unitprice_To_agency__c,
-                            InvoiceProNot_count__c,
-                            Consumable_Product__r.Category3__c,
-                            Consumable_Product__r.Category4__c,
-                            Consumable_Product__r.Category5__c,
-                            Consumable_Product__r.Product2__r.SFDA_Approbation_No__c,
-                            Consumable_Product__r.Product2__r.SFDA_Expiration_Date__c,
-                            isOutPattern__c
-                        FROM Consumable_orderdetails__c
-                        WHERE Consumable_order__c = :ESetId AND Consumable_order__r.Order_Owner_WorkLocal__c = :userWorkLocation
-                        ORDER BY Name
-                    ];
-                    //add by rentx 202-2-26
-                    Map<String, Consumable_Orderdetails__c> cocMap = new Map<String, Consumable_Orderdetails__c>();
-
-                    for (Consumable_Orderdetails__c cdc1 : consumableorderdetailsSelected) {
-                        sumPrice += cdc1.Shipment_amount__c;
-                        orderzaikuId.add(cdc1.Consumable_Product__c);
-                        //add by rentx 2021-2-26
-                        String tempId = cdc1.Consumable_product__c;
-                        if (cdc1.isOutPattern__c) {
-                            cocMap.put(tempId + 'ishos', cdc1);
-                        } else {
-                            cocMap.put(tempId + 'nothos', cdc1);
-                        }
-                        //add by rentx 2021-2-26
-                    }
-
-                    String msoql = makeSoqlorderdet();
-                    product2Selected = Database.query(msoql);
-                    size = product2Selected.size();
-                    initStandardController(msoql);
-                    for (Integer i = 0; i < product2Selected.size(); i++) {
-                        MidMap.put(product2Selected[i].Id, new ConsumableorderdetailsInfo(product2Selected[i]));
-                    }
-
-                    for (Integer i = 0; i < CountDel.size(); i++) {
-                        String str = '';
-                        if (CountDel[i].hospitalSpecialOffer__c) {
-                            str = 'isHos';
-                        } else {
-                            str = 'notHos';
-                        }
-                        //鏄庣粏2瀵瑰簲鐨勪骇鍝佸瓨鍦ㄤ簬MidMap涓�
-                        if (MidMap.containsKey(CountDel[i].Consumable_Product__c)) {
-                            //璁剧疆map涓璳ey鐨勫悗缂� 鐢ㄤ簬鍖哄垎鍖婚櫌鐗逛环鍜岄潪鍖婚櫌鐗逛环
-                            if (MidMap2.containsKey(CountDel[i].Consumable_Product__c + str)) {
-                                ConsumableorderdetailsInfo Jstage = MidMap2.get(CountDel[i].Consumable_Product__c + str);
-                                Jstage.allnumber = Jstage.allnumber + 1;
-                                if (CountDel[i].Box_Piece__c == '鐩�') {
-                                    Jstage.Boxnumber = Jstage.Boxnumber + 1;
-                                } else if (CountDel[i].Box_Piece__c == '涓�') {
-                                    Jstage.Piecenumber = Jstage.Piecenumber + 1;
-                                }
-                                if (CountDel[i].hospitalSpecialOffer__c) {
-                                    Jstage.hospitalSpecialOffer = true;
-                                } else {
-                                    Jstage.hospitalSpecialOffer = false;
-                                }
-                                if (HosProMap.containsKey(Jstage.Prod.Id)) {
-                                    Jstage.hosPro = true;
-                                }
-                                MidMap2.put(CountDel[i].Consumable_Product__c + str, Jstage);
-                            } else {
-                                //midmap2涓病鏈夊搴旂殑浜у搧
-                                ConsumableorderdetailsInfo Jstage = MidMap.get(CountDel[i].Consumable_Product__c).clone();
-                                Jstage.allnumber = Jstage.allnumber + 1;
-                                if (CountDel[i].Box_Piece__c == '鐩�') {
-                                    Jstage.Boxnumber = Jstage.Boxnumber + 1;
-                                } else if (CountDel[i].Box_Piece__c == '涓�') {
-                                    Jstage.Piecenumber = Jstage.Piecenumber + 1;
-                                }
-
-                                if (CountDel[i].hospitalSpecialOffer__c) {
-                                    Jstage.hospitalSpecialOffer = true;
-                                } else {
-                                    Jstage.hospitalSpecialOffer = false;
-                                }
-                                if (HosProMap.containsKey(Jstage.Prod.Id)) {
-                                    Jstage.hosPro = true;
-                                }
-                                Jstage.BoxPiece = CountDel[i].Box_Piece__c;
-                                MidMap2.put(CountDel[i].Consumable_Product__c + str, Jstage);
-                            }
-                        }
-                    }
-
-                    //鍐嶆妸map閲岀殑鍊间粠鏂拌祴缁機onsumableorderdetailsRecords
-                    //update by rentx 2021-01-29
-                    // for(ConsumableorderdetailsInfo bss : MidMap.values()){
-                    for (ConsumableorderdetailsInfo bss : MidMap2.values()) {
-                        //update by rentx 2021-01-29
-
-                        //if(bss.allnumber>0){
-                        bss.packinglist = Integer.valueOf(bss.Prod.Product2__r.Packing_list_manual__c);
-                        bss.approbation_No = bss.Prod.Product2__r.SFDA_Approbation_No__c;
-                        bss.expiration_Date = bss.Prod.Product2__r.SFDA_Expiration_Date__c;
-
-                        //update by rentx 2021-2-26 start
-                        if (cocMap.containsKey(bss.Prod.Id + 'ishos') && bss.hospitalSpecialOffer == true) {
-                            consumableorderdetailsSelectRecords.add(bss);
-                        } else if (cocMap.containsKey(bss.Prod.Id + 'nothos') && bss.hospitalSpecialOffer == false) {
-                            consumableorderdetailsSelectRecords.add(bss);
-                        }
-                        // consumableorderdetailsSelectRecords.add(bss);
-                        //}
-                    }
-                    // return null;
-                    Integer ishosnum = 0;
-                    for (ConsumableorderdetailsInfo ass : consumableorderdetailsSelectRecords) {
-                        //ass.sortBy = sortOrderAsc;
-                        for (Consumable_Orderdetails__c cdc1 : consumableorderdetailsSelected) {
-                            //update by rentx 2012-3-1 start
-                            // if(ass.prod.Id == cdc1.Consumable_Product__c){
-                            //     ass.check = true;
-                            //     ass.orderdetails1 = cdc1;
-                            // }
-                            if (ass.Prod.Id == cdc1.Consumable_Product__c && ass.hospitalSpecialOffer == cdc1.isOutPattern__c) {
-                                ass.check = true;
-                                ass.orderdetails1 = cdc1;
-                            }
-                            //update by rentx 2012-3-1 end
-                        }
-
-                        if (ass.hospitalSpecialOffer == true) {
-                            ishosnum = ishosnum + 1;
-                        }
-                    }
-
-                    if (ishosnum > 0) {
-                        hasHosPro = true;
-                    } else {
-                        hasHosPro = false;
-                    }
-
-                    consumableorderdetailsSelectRecords.sort();
-                    //add by rentx
-                    noOfRecords = consumableorderdetailsSelectRecords.size();
-                    //add by rentx
-                    System.debug('makepagerecords4');
-                    makepagerecords();
-
-                    // 娑堣�楀搧鏄庣粏2銈掑彇寰�
-                    consumableorderdetails2RecordsList = [
-                        SELECT
-                            Id,
-                            Name,
-                            SerialLotNo__c,
-                            Consumable_Product__r.Name__c,
-                            TracingCode__c,
-                            Sterilization_limit__c,
-                            Consumable_Product__c,
-                            Consumable_Product__r.Name,
-                            Consumable_Product__r.Category3__c,
-                            Consumable_Product__r.Category4__c,
-                            Consumable_Product__r.Category5__c,
-                            Return_date__c,
-                            Invoice_Date__c,
-                            Box_Piece__c,
-                            ProductPacking_list_manual__c,
-                            //add by rentx start
-                            hospitalSpecialOffer__c
-                        //add by rentx end
-
-                        FROM Consumable_order_details2__c
-                        WHERE Consumable_ZS_order__c = :ESetId
-                        ORDER BY Name
-                    ];
-                    for (Integer i = 0; i < consumableorderdetails2RecordsList.size(); i++) {
-                        consumableorderdetails2Records.add(new ConsumableorderdetailsInfo(consumableorderdetails2RecordsList[i]));
-                    }
-                }
-            }
-            //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, 'test++++++' + SecondDealer));
-            if (SecondDealer == null || SecondDealer == '') {
-                provinceOpts.add(new SelectOption('', '-鏃�-'));
-                provinceOptsMap.put('', '-鏃�-');
-                for (Integer i = 0; i < Dealerelationship.size(); i++) {
-                    provinceOpts.add(
-                        new SelectOption(Dealerelationship[i].Dealer_subordinate__c, Dealerelationship[i].Dealer_subordinate__r.Name)
-                    );
-                    provinceOptsMap.put(Dealerelationship[i].Dealer_subordinate__c, Dealerelationship[i].Dealer_subordinate__r.Name);
-                }
+          for (Integer i = 0; i < CountDel.size(); i++) {
+            String str = '';
+            if (CountDel[i].hospitalSpecialOffer__c) {
+              str = 'isHos';
             } else {
-                provinceOpts.add(new SelectOption('', '-鏃�-'));
-                provinceOptsMap.put('', '-鏃�-');
-                for (Integer i = 0; i < Dealerelationship.size(); i++) {
-                    if (Dealerelationship[i].Dealer_subordinate__c == SecondDealer) {
-                        provinceOpts.add(
-                            new SelectOption(Dealerelationship[i].Dealer_subordinate__c, Dealerelationship[i].Dealer_subordinate__r.Name)
-                        );
-                        provinceOptsMap.put(Dealerelationship[i].Dealer_subordinate__c, Dealerelationship[i].Dealer_subordinate__r.Name);
-                    }
+              str = 'notHos';
+            }
+            //鏄庣粏2瀵瑰簲鐨勪骇鍝佸瓨鍦ㄤ簬MidMap涓�
+            if (MidMap.containsKey(CountDel[i].Consumable_Product__c)) {
+              //璁剧疆map涓璳ey鐨勫悗缂� 鐢ㄤ簬鍖哄垎鍖婚櫌鐗逛环鍜岄潪鍖婚櫌鐗逛环
+              if (
+                MidMap2.containsKey(CountDel[i].Consumable_Product__c + str)
+              ) {
+                ConsumableorderdetailsInfo Jstage = MidMap2.get(
+                  CountDel[i].Consumable_Product__c + str
+                );
+                Jstage.allnumber = Jstage.allnumber + 1;
+                if (CountDel[i].Box_Piece__c == '鐩�') {
+                  Jstage.Boxnumber = Jstage.Boxnumber + 1;
+                } else if (CountDel[i].Box_Piece__c == '涓�') {
+                  Jstage.Piecenumber = Jstage.Piecenumber + 1;
                 }
-                for (Integer i = 0; i < Dealerelationship.size(); i++) {
-                    if (Dealerelationship[i].Dealer_subordinate__c != SecondDealer) {
-                        provinceOpts.add(
-                            new SelectOption(Dealerelationship[i].Dealer_subordinate__c, Dealerelationship[i].Dealer_subordinate__r.Name)
-                        );
-                        provinceOptsMap.put(Dealerelationship[i].Dealer_subordinate__c, Dealerelationship[i].Dealer_subordinate__r.Name);
-                    }
+                if (CountDel[i].hospitalSpecialOffer__c) {
+                  Jstage.hospitalSpecialOffer = true;
+                } else {
+                  Jstage.hospitalSpecialOffer = false;
                 }
+
+                if (HosProMap.containsKey(Jstage.Prod.Id)) {
+                  Jstage.hosPro = true;
+                }
+                MidMap2.put(CountDel[i].Consumable_Product__c + str, Jstage);
+              } else {
+                //midmap2涓病鏈夊搴旂殑浜у搧
+                ConsumableorderdetailsInfo Jstage = MidMap.get(
+                    CountDel[i].Consumable_Product__c
+                  )
+                  .clone();
+                Jstage.allnumber = Jstage.allnumber + 1;
+                if (CountDel[i].Box_Piece__c == '鐩�') {
+                  Jstage.Boxnumber = Jstage.Boxnumber + 1;
+                } else if (CountDel[i].Box_Piece__c == '涓�') {
+                  Jstage.Piecenumber = Jstage.Piecenumber + 1;
+                }
+                if (CountDel[i].hospitalSpecialOffer__c) {
+                  Jstage.hospitalSpecialOffer = true;
+                } else {
+                  Jstage.hospitalSpecialOffer = false;
+                }
+                if (HosProMap.containsKey(Jstage.Prod.Id)) {
+                  Jstage.hosPro = true;
+                }
+                //Jstage.BoxPiece = CountDel[i].Box_Piece__c;
+                MidMap2.put(CountDel[i].Consumable_Product__c + str, Jstage);
+              }
+            }
+          }
+          //update by rentx 2021-01-29
+          consumableorderdetailsSelectRecords = new List<ConsumableorderdetailsInfo>();
+          //鍐嶆妸map閲岀殑鍊间粠鏂拌祴缁機onsumableorderdetailsRecords
+          //update by rentx 2021-01-29
+          // for(ConsumableorderdetailsInfo bss : MidMap.values()){
+          for (ConsumableorderdetailsInfo bss : MidMap2.values()) {
+            //update by rentx 2021-01-29
+
+            //if(bss.allnumber > 0){
+            //bss.UnitpriceToagency = bss.orderdetails1.Unitprice_To_agency__c == null  || bss.orderdetails1.Unitprice_To_agency__c == 0 ? '' :bss.orderdetails1.Unitprice_To_agency__c.format();
+            bss.packinglist = Integer.valueOf(
+              bss.Prod.Product2__r.Packing_list_manual__c
+            );
+            bss.approbation_No = bss.Prod.Product2__r.SFDA_Approbation_No__c;
+            bss.expiration_Date = bss.Prod.Product2__r.SFDA_Expiration_Date__c;
+
+            //update by rentx 2021-2-26 start
+            if (
+              cocMap.containsKey(bss.Prod.Id + 'ishos') &&
+              bss.hospitalSpecialOffer == true
+            ) {
+              consumableorderdetailsSelectRecords.add(bss);
+            } else if (
+              cocMap.containsKey(bss.Prod.Id + 'nothos') &&
+              bss.hospitalSpecialOffer == false
+            ) {
+              consumableorderdetailsSelectRecords.add(bss);
+            }
+            //update by rentx 2021-2-26 end
+            // consumableorderdetailsSelectRecords.add(bss);
+            //}
+          }
+          Integer ishosnum = 0;
+          for (
+            ConsumableorderdetailsInfo ass : consumableorderdetailsSelectRecords
+          ) {
+            for (
+              Consumable_Orderdetails__c cdc1 : consumableorderdetailsSelected
+            ) {
+              //update by rentx 2012-3-1 start
+              // if(ass.prod.Id == cdc1.Consumable_Product__c){
+              //     ass.check = true;
+              //     ass.orderdetails1 = cdc1;
+              // }
+              if (
+                ass.Prod.Id == cdc1.Consumable_Product__c &&
+                ass.hospitalSpecialOffer == cdc1.isOutPattern__c
+              ) {
+                ass.check = true;
+                ass.orderdetails1 = cdc1;
+              }
+              //update by rentx 2012-3-1 end
+            }
+            if (ass.hospitalSpecialOffer == true) {
+              ishosnum = ishosnum + 1;
+            }
+          }
+          if (ishosnum > 0) {
+            hasHosPro = true;
+          } else {
+            hasHosPro = false;
+          }
+
+          //add by rentx
+          noOfRecords = consumableorderdetailsSelectRecords.size();
+          //add by rentx
+          System.debug('makepagerecords3');
+          makepagerecords();
+          //listCut();
+          // 娑堣�楀搧鏄庣粏2銈掑彇寰�
+          consumableorderdetails2RecordsList = [
+            SELECT
+              Id,
+              Name,
+              SerialLotNo__c,
+              Consumable_Product__r.Name__c,
+              TracingCode__c,
+              Sterilization_limit__c,
+              Consumable_Product__c,
+              Consumable_Product__r.Name,
+              Consumable_Product__r.Category3__c,
+              Consumable_Product__r.Category4__c,
+              Consumable_Product__r.Category5__c,
+              Return_date__c,
+              Invoice_Date__c,
+              Box_Piece__c,
+              ProductPacking_list_manual__c,
+              //add by rentx start
+              hospitalSpecialOffer__c
+            //add by rentx end
+            FROM Consumable_order_details2__c
+            WHERE Consumable_ZS_order__c = :ESetId
+            ORDER BY Name
+          ];
+          for (
+            Integer i = 0; i < consumableorderdetails2RecordsList.size(); i++
+          ) {
+            consumableorderdetails2Records.add(
+              new ConsumableorderdetailsInfo(
+                consumableorderdetails2RecordsList[i]
+              )
+            );
+          }
+          //浜у搧鏄庣粏鍙栧緱
+          consumablearriveproductdetailsSelected = [
+            SELECT
+              Id,
+              Delivery_List_RMB__c,
+              Consumable_Product__r.Name__c,
+              Name,
+              Consumable_Product__r.SFDA_Status__c,
+              Consumable_Product__r.Category3__c,
+              Consumable_Product__r.Category4__c,
+              Consumable_Product__r.Category5__c,
+              Consumable_Product__c,
+              Consumable_Product__r.Name,
+              Sterilization_limit__c,
+              Consumable_Product__r.Intra_Trade_List_RMB__c,
+              Consumable_Product__r.Asset_Model_No__c,
+              Box_Piece__c,
+              ProductPacking_list_manual__c,
+              //add by rentx start
+              hospitalSpecialOffer__c
+            //add by rentx end
+            FROM Consumable_order_details2__c
+            WHERE Consumable_ZS_order__c = :ESetId
+            ORDER BY Name
+          ];
+          for (
+            Integer i = 0;
+            i < consumablearriveproductdetailsSelected.size();
+            i++
+          ) {
+            consumableproductdetailsRecords.add(
+              new ConsumableorderdetailsInfo(
+                consumablearriveproductdetailsSelected[i]
+              )
+            );
+          }
+        } else {
+          // 涓嶆槸鍒拌揣璁㈠崟鏉ョ殑鏃跺��
+          if (
+            coc.SummonsStatus_c__c == '宸叉彁浜�' ||
+            coc.SummonsStatus_c__c == '鎵瑰噯'
+          ) {
+            system.debug('coc.SummonsStatus_c__c : ' + coc.SummonsStatus_c__c);
+            saveBtnDisabled = true;
+            SorderBtnDisabled = true;
+            EditDelCommitBtnDisabled = false;
+          }
+          //鍖婚櫌浜岀骇缁忛攢鍟嗗垎绫�
+          Integer io = 0;
+          while (io < Dealerelationship.size()) {
+            if (
+              coc.Order_ForDealer__c ==
+              Dealerelationship[io].Dealer_subordinate__c
+            ) {
+              SecondDealer = Dealerelationship[io].Dealer_subordinate__c;
+              coc.Order_ForDealer__c = null;
+              io = io + Dealerelationship.size();
+            }
+            io++;
+          }
+          Integer ik = 0;
+          while (ik < AgencyHospitalLink.size()) {
+            if (
+              coc.Order_ForHospital__c == AgencyHospitalLink[ik].Hospital__c
+            ) {
+              HospitalInfo = AgencyHospitalLink[ik].Hospital__c;
+              HospitalName = AgencyHospitalLink[ik].Hospital__r.Name;
+              coc.Order_ForHospital__c = null;
+              ik = ik + AgencyHospitalLink.size();
+            }
+            ik++;
+          }
+          // 娑堣�楀搧鏄庣粏1銈掑彇寰�
+          consumableorderdetailsSelected = [
+            SELECT
+              Id,
+              Dealer_Custom_Price__c,
+              Delivery_List_RMB__c,
+              Consumable_Product__r.Name__c,
+              Consumable_Product__r.SFDA_Status__c,
+              Name,
+              Consumable_order__c,
+              Consumable_Product__c,
+              Consumable_Product__r.Name,
+              Shipment_Count__c,
+              Consumable_Product__r.Intra_Trade_List_RMB__c,
+              Consumable_Product__r.Asset_Model_No__c,
+              Shipment_amount__c,
+              Box_Piece__c,
+              ProductPacking_list_manual__c,
+              Invoiced_Procount__c,
+              RrturnPro_count__c,
+              //Unitprice_To_agency__c,
+              InvoiceProNot_count__c,
+              Consumable_Product__r.Category3__c,
+              Consumable_Product__r.Category4__c,
+              Consumable_Product__r.Category5__c,
+              Consumable_Product__r.Product2__r.SFDA_Approbation_No__c,
+              Consumable_Product__r.Product2__r.SFDA_Expiration_Date__c,
+              isOutPattern__c
+            FROM Consumable_orderdetails__c
+            WHERE
+              Consumable_order__c = :ESetId
+              AND Consumable_order__r.Order_Owner_WorkLocal__c = :userWorkLocation
+            ORDER BY Name
+          ];
+          //add by rentx 202-2-26
+          Map<String, Consumable_Orderdetails__c> cocMap = new Map<String, Consumable_Orderdetails__c>();
+
+          for (
+            Consumable_Orderdetails__c cdc1 : consumableorderdetailsSelected
+          ) {
+            sumPrice += cdc1.Shipment_amount__c;
+            orderzaikuId.add(cdc1.Consumable_Product__c);
+            //add by rentx 2021-2-26
+            String tempId = cdc1.Consumable_product__c;
+            if (cdc1.isOutPattern__c) {
+              cocMap.put(tempId + 'ishos', cdc1);
+            } else {
+              cocMap.put(tempId + 'nothos', cdc1);
+            }
+            //add by rentx 2021-2-26
+          }
+
+          String msoql = makeSoqlorderdet();
+          product2Selected = Database.query(msoql);
+          size = product2Selected.size();
+          initStandardController(msoql);
+          for (Integer i = 0; i < product2Selected.size(); i++) {
+            MidMap.put(
+              product2Selected[i].Id,
+              new ConsumableorderdetailsInfo(product2Selected[i])
+            );
+          }
+
+          for (Integer i = 0; i < CountDel.size(); i++) {
+            String str = '';
+            if (CountDel[i].hospitalSpecialOffer__c) {
+              str = 'isHos';
+            } else {
+              str = 'notHos';
+            }
+            //鏄庣粏2瀵瑰簲鐨勪骇鍝佸瓨鍦ㄤ簬MidMap涓�
+            if (MidMap.containsKey(CountDel[i].Consumable_Product__c)) {
+              //璁剧疆map涓璳ey鐨勫悗缂� 鐢ㄤ簬鍖哄垎鍖婚櫌鐗逛环鍜岄潪鍖婚櫌鐗逛环
+              if (
+                MidMap2.containsKey(CountDel[i].Consumable_Product__c + str)
+              ) {
+                ConsumableorderdetailsInfo Jstage = MidMap2.get(
+                  CountDel[i].Consumable_Product__c + str
+                );
+                Jstage.allnumber = Jstage.allnumber + 1;
+                if (CountDel[i].Box_Piece__c == '鐩�') {
+                  Jstage.Boxnumber = Jstage.Boxnumber + 1;
+                } else if (CountDel[i].Box_Piece__c == '涓�') {
+                  Jstage.Piecenumber = Jstage.Piecenumber + 1;
+                }
+                if (CountDel[i].hospitalSpecialOffer__c) {
+                  Jstage.hospitalSpecialOffer = true;
+                } else {
+                  Jstage.hospitalSpecialOffer = false;
+                }
+                if (HosProMap.containsKey(Jstage.Prod.Id)) {
+                  Jstage.hosPro = true;
+                }
+                MidMap2.put(CountDel[i].Consumable_Product__c + str, Jstage);
+              } else {
+                //midmap2涓病鏈夊搴旂殑浜у搧
+                ConsumableorderdetailsInfo Jstage = MidMap.get(
+                    CountDel[i].Consumable_Product__c
+                  )
+                  .clone();
+                Jstage.allnumber = Jstage.allnumber + 1;
+                if (CountDel[i].Box_Piece__c == '鐩�') {
+                  Jstage.Boxnumber = Jstage.Boxnumber + 1;
+                } else if (CountDel[i].Box_Piece__c == '涓�') {
+                  Jstage.Piecenumber = Jstage.Piecenumber + 1;
+                }
+
+                if (CountDel[i].hospitalSpecialOffer__c) {
+                  Jstage.hospitalSpecialOffer = true;
+                } else {
+                  Jstage.hospitalSpecialOffer = false;
+                }
+                if (HosProMap.containsKey(Jstage.Prod.Id)) {
+                  Jstage.hosPro = true;
+                }
+                Jstage.BoxPiece = CountDel[i].Box_Piece__c;
+                MidMap2.put(CountDel[i].Consumable_Product__c + str, Jstage);
+              }
+            }
+          }
+
+          //鍐嶆妸map閲岀殑鍊间粠鏂拌祴缁機onsumableorderdetailsRecords
+          //update by rentx 2021-01-29
+          // for(ConsumableorderdetailsInfo bss : MidMap.values()){
+          for (ConsumableorderdetailsInfo bss : MidMap2.values()) {
+            //update by rentx 2021-01-29
+
+            //if(bss.allnumber>0){
+            bss.packinglist = Integer.valueOf(
+              bss.Prod.Product2__r.Packing_list_manual__c
+            );
+            bss.approbation_No = bss.Prod.Product2__r.SFDA_Approbation_No__c;
+            bss.expiration_Date = bss.Prod.Product2__r.SFDA_Expiration_Date__c;
+
+            //update by rentx 2021-2-26 start
+            if (
+              cocMap.containsKey(bss.Prod.Id + 'ishos') &&
+              bss.hospitalSpecialOffer == true
+            ) {
+              consumableorderdetailsSelectRecords.add(bss);
+            } else if (
+              cocMap.containsKey(bss.Prod.Id + 'nothos') &&
+              bss.hospitalSpecialOffer == false
+            ) {
+              consumableorderdetailsSelectRecords.add(bss);
+            }
+            // consumableorderdetailsSelectRecords.add(bss);
+            //}
+          }
+          // return null;
+          Integer ishosnum = 0;
+          for (
+            ConsumableorderdetailsInfo ass : consumableorderdetailsSelectRecords
+          ) {
+            //ass.sortBy = sortOrderAsc;
+            for (
+              Consumable_Orderdetails__c cdc1 : consumableorderdetailsSelected
+            ) {
+              //update by rentx 2012-3-1 start
+              // if(ass.prod.Id == cdc1.Consumable_Product__c){
+              //     ass.check = true;
+              //     ass.orderdetails1 = cdc1;
+              // }
+              if (
+                ass.Prod.Id == cdc1.Consumable_Product__c &&
+                ass.hospitalSpecialOffer == cdc1.isOutPattern__c
+              ) {
+                ass.check = true;
+                ass.orderdetails1 = cdc1;
+              }
+              //update by rentx 2012-3-1 end
             }
 
-            Schema.DescribeFieldResult dfr = Product2__c.Intra_Trade_List_RMB__c.getDescribe();
-            cansee = dfr.isAccessible();
-            Schema.DescribeFieldResult dealerPrice = Consumable_orderdetails__c.Dealer_Custom_Price__c.getDescribe();
-            dealerPricesee = dealerPrice.isAccessible();
-            // 鏄剧ず鏁版嵁鏉℃暟淇℃伅
-            //    makeMessage();
-            //闄勪欢
-            attachmentinfo = [SELECT Id, Name, OwnerId FROM Attachment WHERE parentid = :ESetId];
-            if (attachmentinfo.size() > 0) {
-                for (Integer i = 0; i < attachmentinfo.size(); i++) {
-                    attachmentRecoeds.add(new ConsumableorderdetailsInfo(attachmentinfo[i]));
-                }
+            if (ass.hospitalSpecialOffer == true) {
+              ishosnum = ishosnum + 1;
             }
-            AggregateResult[] categoryList = [
-                SELECT Count(id), Category3_text__c c3c
-                FROM Product2__c
-                WHERE Category3_text__c != NULL
-                GROUP BY Category3_text__c
-            ];
+          }
 
-            categoryOptionList = new List<SelectOption>();
-            categoryOptionList.add(new SelectOption('', '-鏃�-'));
-            categoryOptionMap = new Map<String, String>();
-            categoryOptionMap.put('', '-鏃�-');
-            for (AggregateResult category3Search : categoryList) {
-                String deliverycnt = String.valueOf(category3Search.get('c3c'));
-                categoryOptionList.add(new SelectOption(deliverycnt, deliverycnt));
-                categoryOptionMap.put(deliverycnt, deliverycnt);
-            }
+          if (ishosnum > 0) {
+            hasHosPro = true;
+          } else {
+            hasHosPro = false;
+          }
 
-            category4OptionList = new List<SelectOption>();
-            category4OptionList.add(new SelectOption('', '-鏃�-'));
-            category4OptionMap = new Map<String, String>();
-            category4OptionMap.put('', '-鏃�-');
-            /*for(AggregateResult category4Search : category4List) {
+          consumableorderdetailsSelectRecords.sort();
+          //add by rentx
+          noOfRecords = consumableorderdetailsSelectRecords.size();
+          //add by rentx
+          System.debug('makepagerecords4');
+          makepagerecords();
+
+          // 娑堣�楀搧鏄庣粏2銈掑彇寰�
+          consumableorderdetails2RecordsList = [
+            SELECT
+              Id,
+              Name,
+              SerialLotNo__c,
+              Consumable_Product__r.Name__c,
+              TracingCode__c,
+              Sterilization_limit__c,
+              Consumable_Product__c,
+              Consumable_Product__r.Name,
+              Consumable_Product__r.Category3__c,
+              Consumable_Product__r.Category4__c,
+              Consumable_Product__r.Category5__c,
+              Return_date__c,
+              Invoice_Date__c,
+              Box_Piece__c,
+              ProductPacking_list_manual__c,
+              //add by rentx start
+              hospitalSpecialOffer__c
+            //add by rentx end
+
+            FROM Consumable_order_details2__c
+            WHERE Consumable_ZS_order__c = :ESetId
+            ORDER BY Name
+          ];
+          for (
+            Integer i = 0; i < consumableorderdetails2RecordsList.size(); i++
+          ) {
+            consumableorderdetails2Records.add(
+              new ConsumableorderdetailsInfo(
+                consumableorderdetails2RecordsList[i]
+              )
+            );
+          }
+        }
+      }
+      //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, 'test++++++' + SecondDealer));
+      if (SecondDealer == null || SecondDealer == '') {
+        provinceOpts.add(new SelectOption('', '-鏃�-'));
+        provinceOptsMap.put('', '-鏃�-');
+        for (Integer i = 0; i < Dealerelationship.size(); i++) {
+          provinceOpts.add(
+            new SelectOption(
+              Dealerelationship[i].Dealer_subordinate__c,
+              Dealerelationship[i].Dealer_subordinate__r.Name
+            )
+          );
+          provinceOptsMap.put(
+            Dealerelationship[i].Dealer_subordinate__c,
+            Dealerelationship[i].Dealer_subordinate__r.Name
+          );
+        }
+      } else {
+        provinceOpts.add(new SelectOption('', '-鏃�-'));
+        provinceOptsMap.put('', '-鏃�-');
+        for (Integer i = 0; i < Dealerelationship.size(); i++) {
+          if (Dealerelationship[i].Dealer_subordinate__c == SecondDealer) {
+            provinceOpts.add(
+              new SelectOption(
+                Dealerelationship[i].Dealer_subordinate__c,
+                Dealerelationship[i].Dealer_subordinate__r.Name
+              )
+            );
+            provinceOptsMap.put(
+              Dealerelationship[i].Dealer_subordinate__c,
+              Dealerelationship[i].Dealer_subordinate__r.Name
+            );
+          }
+        }
+        for (Integer i = 0; i < Dealerelationship.size(); i++) {
+          if (Dealerelationship[i].Dealer_subordinate__c != SecondDealer) {
+            provinceOpts.add(
+              new SelectOption(
+                Dealerelationship[i].Dealer_subordinate__c,
+                Dealerelationship[i].Dealer_subordinate__r.Name
+              )
+            );
+            provinceOptsMap.put(
+              Dealerelationship[i].Dealer_subordinate__c,
+              Dealerelationship[i].Dealer_subordinate__r.Name
+            );
+          }
+        }
+      }
+
+      Schema.DescribeFieldResult dfr = Product2__c.Intra_Trade_List_RMB__c.getDescribe();
+      cansee = dfr.isAccessible();
+      Schema.DescribeFieldResult dealerPrice = Consumable_orderdetails__c.Dealer_Custom_Price__c.getDescribe();
+      dealerPricesee = dealerPrice.isAccessible();
+      // 鏄剧ず鏁版嵁鏉℃暟淇℃伅
+      //    makeMessage();
+      //闄勪欢
+      attachmentinfo = [
+        SELECT Id, Name, OwnerId
+        FROM Attachment
+        WHERE parentid = :ESetId
+      ];
+      if (attachmentinfo.size() > 0) {
+        for (Integer i = 0; i < attachmentinfo.size(); i++) {
+          attachmentRecoeds.add(
+            new ConsumableorderdetailsInfo(attachmentinfo[i])
+          );
+        }
+      }
+      AggregateResult[] categoryList = [
+        SELECT Count(id), Category3_text__c c3c
+        FROM Product2__c
+        WHERE Category3_text__c != NULL
+        GROUP BY Category3_text__c
+      ];
+
+      categoryOptionList = new List<SelectOption>();
+      categoryOptionList.add(new SelectOption('', '-鏃�-'));
+      categoryOptionMap = new Map<String, String>();
+      categoryOptionMap.put('', '-鏃�-');
+      for (AggregateResult category3Search : categoryList) {
+        String deliverycnt = String.valueOf(category3Search.get('c3c'));
+        categoryOptionList.add(new SelectOption(deliverycnt, deliverycnt));
+        categoryOptionMap.put(deliverycnt, deliverycnt);
+      }
+
+      category4OptionList = new List<SelectOption>();
+      category4OptionList.add(new SelectOption('', '-鏃�-'));
+      category4OptionMap = new Map<String, String>();
+      category4OptionMap.put('', '-鏃�-');
+      /*for(AggregateResult category4Search : category4List) {
                     String deliverycnt4 = String.valueOf(category4Search.get('c4c'));
                     category4OptionList.add(new SelectOption(deliverycnt4,deliverycnt4));
                 }*/
 
-            category5OptionList = new List<SelectOption>();
-            category5OptionList.add(new SelectOption('', '-鏃�-'));
-            category5OptionMap = new Map<String, String>();
-            category5OptionMap.put('', '-鏃�-');
+      category5OptionList = new List<SelectOption>();
+      category5OptionList.add(new SelectOption('', '-鏃�-'));
+      category5OptionMap = new Map<String, String>();
+      category5OptionMap.put('', '-鏃�-');
 
-            //鍒嗛〉
-            PaginatedAccounts paginatedAccounts = new PaginatedAccounts();
-            totalCount = pageRecords.size();
-            System.debug('pageToken = ' + pageToken);
-            System.debug('pageSize = ' + pageSize);
-            System.debug('totalCount = ' + totalCount);
-            paginatedAccounts.nextPageToken = (pageToken + pageSize < totalCount) ? pageToken + pageSize : null;
-            System.debug('paginatedAccounts.nextPageToken = ' + paginatedAccounts.nextPageToken);
-            paginatedAccounts.recordStart = pageToken + 1;
-            paginatedAccounts.pageNumber = pageToken / pageSize + 1;
-            Integer recordEnd = pageSize * paginatedAccounts.pageNumber;
-            paginatedAccounts.recordEnd = totalCount >= recordEnd ? recordEnd : totalCount;
-            paginatedAccounts.totalRecords = totalCount;
+      //鍒嗛〉
+      PaginatedAccounts paginatedAccounts = new PaginatedAccounts();
+      totalCount = pageRecords.size();
+      System.debug('pageToken = ' + pageToken);
+      System.debug('pageSize = ' + pageSize);
+      System.debug('totalCount = ' + totalCount);
+      paginatedAccounts.nextPageToken = (pageToken + pageSize < totalCount)
+        ? pageToken + pageSize
+        : null;
+      System.debug(
+        'paginatedAccounts.nextPageToken = ' + paginatedAccounts.nextPageToken
+      );
+      paginatedAccounts.recordStart = pageToken + 1;
+      paginatedAccounts.pageNumber = pageToken / pageSize + 1;
+      Integer recordEnd = pageSize * paginatedAccounts.pageNumber;
+      paginatedAccounts.recordEnd = totalCount >= recordEnd
+        ? recordEnd
+        : totalCount;
+      paginatedAccounts.totalRecords = totalCount;
 
-            Integer startIdx;
-            Integer endIdx;
-            startIdx = pageToken;
-            endIdx = pageToken + pageSize;
-            List<ConsumableorderdetailsInfo> pageRecordsTemp = new List<ConsumableorderdetailsInfo>();
-            if (endIdx > pageRecords.size()) {
-                endIdx = pageRecords.size();
-            }
-            for (Integer i = startIdx; i < endIdx; i++) {
-                pageRecordsTemp.add(pageRecords.get(i));
-            }
+      Integer startIdx;
+      Integer endIdx;
+      startIdx = pageToken;
+      endIdx = pageToken + pageSize;
+      List<ConsumableorderdetailsInfo> pageRecordsTemp = new List<ConsumableorderdetailsInfo>();
+      if (endIdx > pageRecords.size()) {
+        endIdx = pageRecords.size();
+      }
+      for (Integer i = startIdx; i < endIdx; i++) {
+        pageRecordsTemp.add(pageRecords.get(i));
+      }
 
-            Boolean Existarrive = (coc.Arrive_Order__c != null);
-            String ConsumableOut_report = System.Label.ConsumableOut_report;
-            System.debug('consumableproductdetailsRecords = ' + consumableproductdetailsRecords);
+      Boolean Existarrive = (coc.Arrive_Order__c != null);
+      String ConsumableOut_report = System.Label.ConsumableOut_report;
+      System.debug(
+        'consumableproductdetailsRecords = ' + consumableproductdetailsRecords
+      );
 
-            data.put('paginatedAccounts', paginatedAccounts);
-            data.put('ConsumableOut_report', ConsumableOut_report);
-            data.put('accountid', accountid);
-            data.put('consumableproductdetailsRecords', consumableproductdetailsRecords);
-            data.put('agencyProType', agencyProType);
-            data.put('accountName', accountName);
-            data.put('userWorkLocation', userWorkLocation);
-            data.put('categoryOptionMap', categoryOptionMap);
-            data.put('category4OptionMap', category4OptionMap);
-            data.put('category5OptionMap', category5OptionMap);
-            data.put('outOutPatternOptionMap', outOutPatternOptionMap);
-            data.put('hasHosPro', hasHosPro);
-            data.put('Existarrive', Existarrive);
-            data.put('sumPrice', sumPrice);
-            data.put('HospitalName', HospitalName);
-            data.put('provinceOptsMap', provinceOptsMap);
-            data.put('SummonsFlag', SummonsFlag);
-            data.put('EditDelCommitBtnDisabled', EditDelCommitBtnDisabled);
-            data.put('EditAble', EditAble);
-            data.put('coc', coc);
-            data.put('pageRecords', pageRecordsTemp);
-            data.put('arriveorder', arriveorder);
-            data.put('consumableorderdetails2Count', consumableorderdetails2Count);
-            data.put('consumableorderdetails2Records', consumableorderdetails2Records);
-            data.put('HospitalInfo', HospitalInfo);
-            res.status = 'Success';
-            res.code = 200;
-            System.debug('res = ' + res);
-            return res;
-        } catch (Exception e) {
-            return new ResponseBodyLWC('Error',500, e.getMessage() + e.getLineNumber(), '');
-        }
+      data.put('paginatedAccounts', paginatedAccounts);
+      data.put('ConsumableOut_report', ConsumableOut_report);
+      data.put('accountid', accountid);
+      data.put(
+        'consumableproductdetailsRecords',
+        consumableproductdetailsRecords
+      );
+      data.put('agencyProType', agencyProType);
+      data.put('accountName', accountName);
+      data.put('userWorkLocation', userWorkLocation);
+      data.put('categoryOptionMap', categoryOptionMap);
+      data.put('category4OptionMap', category4OptionMap);
+      data.put('category5OptionMap', category5OptionMap);
+      data.put('outOutPatternOptionMap', outOutPatternOptionMap);
+      data.put('hasHosPro', hasHosPro);
+      data.put('Existarrive', Existarrive);
+      data.put('sumPrice', sumPrice);
+      data.put('HospitalName', HospitalName);
+      data.put('provinceOptsMap', provinceOptsMap);
+      data.put('SummonsFlag', SummonsFlag);
+      data.put('EditDelCommitBtnDisabled', EditDelCommitBtnDisabled);
+      data.put('EditAble', EditAble);
+      data.put('coc', coc);
+      data.put('pageRecords', pageRecordsTemp);
+      data.put('arriveorder', arriveorder);
+      data.put('consumableorderdetails2Count', consumableorderdetails2Count);
+      data.put(
+        'consumableorderdetails2Records',
+        consumableorderdetails2Records
+      );
+      data.put('HospitalInfo', HospitalInfo);
+      res.status = 'Success';
+      res.code = 200;
+      System.debug('res = ' + res);
+      return res;
+    } catch (Exception e) {
+      return new ResponseBodyLWC(
+        'Error',
+        500,
+        e.getMessage() + e.getLineNumber(),
+        ''
+      );
+    }
+  }
+
+  @AuraEnabled
+  public static ResponseBodyLWC categoryAllload(String category3Lwc) {
+    ResponseBodyLWC res = new ResponseBodyLWC();
+    Map<String, object> data = new Map<String, object>();
+    res.entity = data;
+
+    category3 = category3Lwc;
+    AggregateResult[] category4List = [
+      SELECT Count(id), Category4_text__c c4c
+      FROM Product2__c
+      WHERE
+        Category3_text__c = :category3
+        AND Category4_text__c != NULL
+        AND Category5_text__c != NULL
+      GROUP BY Category4_text__c
+    ];
+    category4OptionList = new List<SelectOption>();
+    category4OptionList.add(new SelectOption('', '-鏃�-'));
+    category4OptionMap = new Map<String, String>();
+    category4OptionMap.put('', '-鏃�-');
+    for (AggregateResult category4Search : category4List) {
+      String deliverycnt4 = String.valueOf(category4Search.get('c4c'));
+      category4OptionList.add(new SelectOption(deliverycnt4, deliverycnt4));
+      category4OptionMap.put(deliverycnt4, deliverycnt4);
     }
 
-    @AuraEnabled
-    public static ResponseBodyLWC categoryAllload(String category3Lwc) {
-        ResponseBodyLWC res = new ResponseBodyLWC();
-        Map<String, object> data = new Map<String, object>();
-        res.entity = data;
+    AggregateResult[] category5List = [
+      SELECT Count(id), Category5_text__c c5c
+      FROM Product2__c
+      WHERE
+        Category3_text__c = :category3
+        AND Category4_text__c != NULL
+        AND Category5_text__c != NULL
+      GROUP BY Category5_text__c
+    ];
 
-        category3 = category3Lwc;
-        AggregateResult[] category4List = [
-            SELECT Count(id), Category4_text__c c4c
-            FROM Product2__c
-            WHERE Category3_text__c = :category3 AND Category4_text__c != NULL AND Category5_text__c != NULL
-            GROUP BY Category4_text__c
-        ];
-        category4OptionList = new List<SelectOption>();
-        category4OptionList.add(new SelectOption('', '-鏃�-'));
-        category4OptionMap = new Map<String, String>();
-        category4OptionMap.put('', '-鏃�-');
-        for (AggregateResult category4Search : category4List) {
-            String deliverycnt4 = String.valueOf(category4Search.get('c4c'));
-            category4OptionList.add(new SelectOption(deliverycnt4, deliverycnt4));
-            category4OptionMap.put(deliverycnt4, deliverycnt4);
-        }
+    category5OptionList = new List<SelectOption>();
+    category5OptionList.add(new SelectOption('', '-鏃�-'));
+    category5OptionMap = new Map<String, String>();
+    category5OptionMap.put('', '-鏃�-');
+    for (AggregateResult category5Search : category5List) {
+      String deliverycnt5 = String.valueOf(category5Search.get('c5c'));
+      category5OptionList.add(new SelectOption(deliverycnt5, deliverycnt5));
+      category5OptionMap.put(deliverycnt5, deliverycnt5);
+    }
+    data.put('category4OptionMap', category4OptionMap);
+    data.put('category5OptionMap', category5OptionMap);
+    res.status = 'Success';
+    res.code = 200;
+    System.debug('res = ' + res);
+    return res;
+  }
 
-        AggregateResult[] category5List = [
-            SELECT Count(id), Category5_text__c c5c
-            FROM Product2__c
-            WHERE Category3_text__c = :category3 AND Category4_text__c != NULL AND Category5_text__c != NULL
-            GROUP BY Category5_text__c
-        ];
+  @AuraEnabled
+  public static ResponseBodyLWC categoryload(
+    String category3Lwc,
+    String category4Lwc
+  ) {
+    ResponseBodyLWC res = new ResponseBodyLWC();
+    Map<String, object> data = new Map<String, object>();
+    res.entity = data;
 
-        category5OptionList = new List<SelectOption>();
-        category5OptionList.add(new SelectOption('', '-鏃�-'));
-        category5OptionMap = new Map<String, String>();
-        category5OptionMap.put('', '-鏃�-');
-        for (AggregateResult category5Search : category5List) {
-            String deliverycnt5 = String.valueOf(category5Search.get('c5c'));
-            category5OptionList.add(new SelectOption(deliverycnt5, deliverycnt5));
-            category5OptionMap.put(deliverycnt5, deliverycnt5);
-        }
-        data.put('category4OptionMap', category4OptionMap);
-        data.put('category5OptionMap', category5OptionMap);
-        res.status = 'Success';
-        res.code = 200;
-        System.debug('res = ' + res);
-        return res;
+    category3 = category3Lwc;
+    category4 = category4Lwc;
+    AggregateResult[] category4List = [
+      SELECT Count(id), Category4_text__c c4c
+      FROM Product2__c
+      WHERE
+        Category3_text__c = :category3
+        AND Category4_text__c != NULL
+        AND Category5_text__c != NULL
+      GROUP BY Category4_text__c
+    ];
+    category4OptionList = new List<SelectOption>();
+    category4OptionList.add(new SelectOption('', '-鏃�-'));
+    category4OptionMap = new Map<String, String>();
+    category4OptionMap.put('', '-鏃�-');
+    for (AggregateResult category4Search : category4List) {
+      String deliverycnt4 = String.valueOf(category4Search.get('c4c'));
+      category4OptionList.add(new SelectOption(deliverycnt4, deliverycnt4));
+      category4OptionMap.put(deliverycnt4, deliverycnt4);
     }
 
-    @AuraEnabled
-    public static ResponseBodyLWC categoryload(String category3Lwc, String category4Lwc) {
-        ResponseBodyLWC res = new ResponseBodyLWC();
-        Map<String, object> data = new Map<String, object>();
-        res.entity = data;
+    AggregateResult[] category5List = [
+      SELECT Count(id), Category5_text__c c5c
+      FROM Product2__c
+      WHERE
+        Category3_text__c = :category3
+        AND Category4_text__c = :category4
+        AND Category5_text__c != NULL
+      GROUP BY Category5_text__c
+    ];
 
-        category3 = category3Lwc;
-        category4 = category4Lwc;
-        AggregateResult[] category4List = [
-            SELECT Count(id), Category4_text__c c4c
-            FROM Product2__c
-            WHERE Category3_text__c = :category3 AND Category4_text__c != NULL AND Category5_text__c != NULL
-            GROUP BY Category4_text__c
-        ];
-        category4OptionList = new List<SelectOption>();
-        category4OptionList.add(new SelectOption('', '-鏃�-'));
-        category4OptionMap = new Map<String, String>();
-        category4OptionMap.put('', '-鏃�-');
-        for (AggregateResult category4Search : category4List) {
-            String deliverycnt4 = String.valueOf(category4Search.get('c4c'));
-            category4OptionList.add(new SelectOption(deliverycnt4, deliverycnt4));
-            category4OptionMap.put(deliverycnt4, deliverycnt4);
-        }
-
-        AggregateResult[] category5List = [
-            SELECT Count(id), Category5_text__c c5c
-            FROM Product2__c
-            WHERE Category3_text__c = :category3 AND Category4_text__c = :category4 AND Category5_text__c != NULL
-            GROUP BY Category5_text__c
-        ];
-
-        category5OptionList = new List<SelectOption>();
-        category5OptionList.add(new SelectOption('', '-鏃�-'));
-        category5OptionMap = new Map<String, String>();
-        category5OptionMap.put('', '-鏃�-');
-        for (AggregateResult category5Search : category5List) {
-            String deliverycnt5 = String.valueOf(category5Search.get('c5c'));
-            category5OptionList.add(new SelectOption(deliverycnt5, deliverycnt5));
-            category5OptionMap.put(deliverycnt5, deliverycnt5);
-        }
-        data.put('category4OptionMap', category4OptionMap);
-        data.put('category5OptionMap', category5OptionMap);
-        res.status = 'Success';
-        res.code = 200;
-        System.debug('res = ' + res);
-        return res;
+    category5OptionList = new List<SelectOption>();
+    category5OptionList.add(new SelectOption('', '-鏃�-'));
+    category5OptionMap = new Map<String, String>();
+    category5OptionMap.put('', '-鏃�-');
+    for (AggregateResult category5Search : category5List) {
+      String deliverycnt5 = String.valueOf(category5Search.get('c5c'));
+      category5OptionList.add(new SelectOption(deliverycnt5, deliverycnt5));
+      category5OptionMap.put(deliverycnt5, deliverycnt5);
     }
+    data.put('category4OptionMap', category4OptionMap);
+    data.put('category5OptionMap', category5OptionMap);
+    res.status = 'Success';
+    res.code = 200;
+    System.debug('res = ' + res);
+    return res;
+  }
 
-    // 妫�绱�
-    @AuraEnabled
-    public static ResponseBodyLWC searchConsumableorderdetails(
-        String agencyProTypeLwc,
-        String accountNameLwc,
-        String userWorkLocationLwc,
-        String outOutPattern,
-        String category1,
-        String category3,
-        String category4,
-        String category5,
-        Boolean editAbleLwc,
-        List<ConsumableorderdetailsInfoLwc> pageRecordsLwcLwc,
-        List<ConsumableorderdetailsInfo> consumableproductdetailsRecordsLwc,
-        String arriveorderLwc,
-        Integer pageSizeLWC,
-        Integer pageTokenLWC
+  // 妫�绱�
+  @AuraEnabled
+  public static ResponseBodyLWC searchConsumableorderdetails(
+    String agencyProTypeLwc,
+    String accountNameLwc,
+    String userWorkLocationLwc,
+    String outOutPattern,
+    String category1,
+    String category3,
+    String category4,
+    String category5,
+    Boolean editAbleLwc,
+    List<ConsumableorderdetailsInfoLwc> pageRecordsLwcLwc,
+    List<ConsumableorderdetailsInfo> consumableproductdetailsRecordsLwc,
+    String arriveorderLwc,
+    Integer pageSizeLWC,
+    Integer pageTokenLWC
+  ) {
+    consumableproductdetailsRecords = consumableproductdetailsRecordsLwc;
+    pageRecordsLwc = pageRecordsLwcLwc;
+    System.debug('pageRecordsLwc = ' + pageRecordsLwc);
+    arriveorder = arriveorderLwc;
+    accountName = accountNameLwc;
+    userWorkLocation = userWorkLocationLwc;
+    agencyProType = agencyProTypeLwc;
+    product2Selected = new List<Product2__c>();
+    pagesize = pageSizeLWC;
+    pageToken = pageTokenLWC > 2000 ? 2000 : pageTokenLWC;
+    addSize = 0;
+    addData = new List<ConsumableorderdetailsInfo>();
+    System.debug('start addData = ' + addData);
+    System.debug('accountName = ' + accountName);
+    System.debug('userWorkLocation = ' + userWorkLocation);
+    String sqlagencyProType = '%' + agencyProTypeLwc + '%';
+    List<AggregateResult> orderdetailCount = [
+      SELECT count(id), Consumable_Product__c cpc, Box_Piece__c
+      FROM Consumable_order_details2__c
+      WHERE
+        Dealer_Arrive__c = TRUE
+        AND Dealer_Shipment__c = FALSE
+        AND Dealer_Saled__c = FALSE
+        AND Lose_Flag__c = FALSE
+        AND Cancellation_Flag__c = FALSE
+        AND Bar_Code__c != NULL
+        AND Isoverdue__c = 1
+        AND Product_Type__c LIKE :sqlagencyProType
+        AND Dealer_Info_text__c = :accountNameLwc
+        AND Arrive_Owner_Work_Location__c = :userWorkLocationLwc
+      GROUP BY Consumable_Product__c, Box_Piece__c
+    ];
+    for (AggregateResult orderdetail : orderdetailCount) {
+      zaikuId.add(String.valueOf(orderdetail.get('cpc')));
+    }
+    editAble = editAbleLwc;
+    ResponseBodyLWC res = new ResponseBodyLWC();
+    Map<String, object> data = new Map<String, object>();
+    res.entity = data;
+    SearchDone = 'SearchDone';
+    Map<String, String> selectedIdMap = new Map<String, String>();
+    List<ConsumableorderdetailsInfo> reSet = new List<ConsumableorderdetailsInfo>();
+    Map<String, ConsumableorderdetailsInfo> MidMap = new Map<String, ConsumableorderdetailsInfo>();
+    //update by rentx 2021-01-29
+    Map<String, ConsumableorderdetailsInfo> MidMap2 = new Map<String, ConsumableorderdetailsInfo>();
+    String countdelSoql = 'SELECT Id,Bar_Code__c,Name,Inventory_date__c,Consumable_Product__c,Consumable_Product__r.Asset_Model_No__c,Recordtypeid,Box_Piece__c,ProductPacking_list_manual__c,hospitalSpecialOffer__c FROM Consumable_order_details2__c WHERE  Dealer_Arrive__c = true AND Dealer_Shipment__c = false AND Dealer_Saled__c = false AND Dealer_Returned__c = false AND Lose_Flag__c = false AND Bar_Code__c != null AND Isoverdue__c = 1 AND Arrive_Owner_Work_Location__c =  :userWorkLocation AND Dealer_Info_text__c = :accountName ';
+    if (String.isNotBlank(outOutPattern) && outOutPattern.equals('ishos')) {
+      countdelSoql += ' AND hospitalSpecialOffer__c = true';
+    } else if (
+      String.isNotBlank(outOutPattern) && outOutPattern.equals('nothos')
     ) {
-        consumableproductdetailsRecords = consumableproductdetailsRecordsLwc;
-        pageRecordsLwc = pageRecordsLwcLwc;
-        System.debug('pageRecordsLwc = ' + pageRecordsLwc);
-        arriveorder = arriveorderLwc;
-        accountName = accountNameLwc;
-        userWorkLocation = userWorkLocationLwc;
-        agencyProType = agencyProTypeLwc;
-        product2Selected = new List<Product2__c>();
-        pagesize = pageSizeLWC;
-        pageToken = pageTokenLWC > 2000 ? 2000 : pageTokenLWC;
-        addSize = 0;
-        addData = new List<ConsumableorderdetailsInfo>();
-        System.debug('start addData = ' + addData);
-        System.debug('accountName = ' + accountName);
-        System.debug('userWorkLocation = ' + userWorkLocation);
-        String sqlagencyProType = '%' + agencyProTypeLwc + '%';
-        List<AggregateResult> orderdetailCount = [
-            SELECT count(id), Consumable_Product__c cpc, Box_Piece__c
-            FROM Consumable_order_details2__c
-            WHERE
-                Dealer_Arrive__c = TRUE
-                AND Dealer_Shipment__c = FALSE
-                AND Dealer_Saled__c = FALSE
-                AND Lose_Flag__c = FALSE
-                AND Cancellation_Flag__c = FALSE
-                AND Bar_Code__c != NULL
-                AND Isoverdue__c = 1
-                AND Product_Type__c LIKE :sqlagencyProType
-                AND Dealer_Info_text__c = :accountNameLwc
-                AND Arrive_Owner_Work_Location__c = :userWorkLocationLwc
-            GROUP BY Consumable_Product__c, Box_Piece__c
-        ];
-        for (AggregateResult orderdetail : orderdetailCount) {
-            zaikuId.add(String.valueOf(orderdetail.get('cpc')));
-        }
-        editAble = editAbleLwc;
-        ResponseBodyLWC res = new ResponseBodyLWC();
-        Map<String, object> data = new Map<String, object>();
-        res.entity = data;
-        SearchDone = 'SearchDone';
-        Map<String, String> selectedIdMap = new Map<String, String>();
-        List<ConsumableorderdetailsInfo> reSet = new List<ConsumableorderdetailsInfo>();
-        Map<String, ConsumableorderdetailsInfo> MidMap = new Map<String, ConsumableorderdetailsInfo>();
-        //update by rentx 2021-01-29
-        Map<String, ConsumableorderdetailsInfo> MidMap2 = new Map<String, ConsumableorderdetailsInfo>();
-        String countdelSoql = 'SELECT Id,Bar_Code__c,Name,Inventory_date__c,Consumable_Product__c,Consumable_Product__r.Asset_Model_No__c,Recordtypeid,Box_Piece__c,ProductPacking_list_manual__c,hospitalSpecialOffer__c FROM Consumable_order_details2__c WHERE  Dealer_Arrive__c = true AND Dealer_Shipment__c = false AND Dealer_Saled__c = false AND Dealer_Returned__c = false AND Lose_Flag__c = false AND Bar_Code__c != null AND Isoverdue__c = 1 AND Arrive_Owner_Work_Location__c =  :userWorkLocation AND Dealer_Info_text__c = :accountName ';
-        if (String.isNotBlank(outOutPattern) && outOutPattern.equals('ishos')) {
-            countdelSoql += ' AND hospitalSpecialOffer__c = true';
-        } else if (String.isNotBlank(outOutPattern) && outOutPattern.equals('nothos')) {
-            countdelSoql += ' AND hospitalSpecialOffer__c = false';
-        }
-        System.debug('countdelSoql = ' + countdelSoql);
-        List<Consumable_order_details2__c> CountDel = Database.query(countdelSoql);
-        System.debug('CountDel = ' + CountDel);
-        //update by rentx 2021-01-29
+      countdelSoql += ' AND hospitalSpecialOffer__c = false';
+    }
+    System.debug('countdelSoql = ' + countdelSoql);
+    List<Consumable_order_details2__c> CountDel = Database.query(countdelSoql);
+    System.debug('CountDel = ' + CountDel);
+    //update by rentx 2021-01-29
 
-        consumableorderdetailsSelectRecords = new List<ConsumableorderdetailsInfo>();
-        //consumableorderdetailsSelectRecords = reSet;
-        String soql = makeSoql(category1, category3, category4, category5);
-        size = Integer.valueOf(System.Label.orderdetLimitsize);
-        initStandardController(soql);
-        System.debug('soql = ' + soql);
-        product2Selected = Database.query(soql);
-        for (Integer i = 0; i < product2Selected.size(); i++) {
-            MidMap.put(product2Selected[i].Id, new ConsumableorderdetailsInfo(product2Selected[i]));
-        }
+    consumableorderdetailsSelectRecords = new List<ConsumableorderdetailsInfo>();
+    //consumableorderdetailsSelectRecords = reSet;
+    String soql = makeSoql(category1, category3, category4, category5);
+    size = Integer.valueOf(System.Label.orderdetLimitsize);
+    initStandardController(soql);
+    System.debug('soql = ' + soql);
+    product2Selected = Database.query(soql);
+    for (Integer i = 0; i < product2Selected.size(); i++) {
+      MidMap.put(
+        product2Selected[i].Id,
+        new ConsumableorderdetailsInfo(product2Selected[i])
+      );
+    }
 
-        for (Integer i = 0; i < CountDel.size(); i++) {
-            String str = '';
-            if (CountDel[i].hospitalSpecialOffer__c) {
-                str = 'isHos';
-            } else {
-                str = 'notHos';
-            }
-            System.debug('MidMap = ' + MidMap);
-            //鏄庣粏2瀵瑰簲鐨勪骇鍝佸瓨鍦ㄤ簬MidMap涓�
-            if (MidMap.containsKey(CountDel[i].Consumable_Product__c)) {
-                //璁剧疆map涓璳ey鐨勫悗缂� 鐢ㄤ簬鍖哄垎鍖婚櫌鐗逛环鍜岄潪鍖婚櫌鐗逛环
-                if (MidMap2.containsKey(CountDel[i].Consumable_Product__c + str)) {
-                    ConsumableorderdetailsInfo Jstage = MidMap2.get(CountDel[i].Consumable_Product__c + str);
-                    Jstage.allnumber = Jstage.allnumber + 1;
-                    if (CountDel[i].Box_Piece__c == '鐩�') {
-                        Jstage.Boxnumber = Jstage.Boxnumber + 1;
-                    } else if (CountDel[i].Box_Piece__c == '涓�') {
-                        Jstage.Piecenumber = Jstage.Piecenumber + 1;
-                    }
-                    if (CountDel[i].hospitalSpecialOffer__c) {
-                        Jstage.hospitalSpecialOffer = true;
-                    } else {
-                        Jstage.hospitalSpecialOffer = false;
-                    }
-                    if (HosProMap.containsKey(Jstage.Prod.Id)) {
-                        Jstage.hosPro = true;
-                    }
-                    MidMap2.put(CountDel[i].Consumable_Product__c + str, Jstage);
-                } else {
-                    //midmap2涓病鏈夊搴旂殑浜у搧
-                    ConsumableorderdetailsInfo Jstage = MidMap.get(CountDel[i].Consumable_Product__c).clone();
-                    Jstage.allnumber = Jstage.allnumber + 1;
-                    if (CountDel[i].Box_Piece__c == '鐩�') {
-                        Jstage.Boxnumber = Jstage.Boxnumber + 1;
-                    } else if (CountDel[i].Box_Piece__c == '涓�') {
-                        Jstage.Piecenumber = Jstage.Piecenumber + 1;
-                    }
-                    if (CountDel[i].hospitalSpecialOffer__c) {
-                        Jstage.hospitalSpecialOffer = true;
-                    } else {
-                        Jstage.hospitalSpecialOffer = false;
-                    }
-                    if (HosProMap.containsKey(Jstage.Prod.Id)) {
-                        Jstage.hosPro = true;
-                    }
-                    //Jstage.BoxPiece = CountDel[i].Box_Piece__c;
-                    MidMap2.put(CountDel[i].Consumable_Product__c + str, Jstage);
-                }
-            }
-        }
-        Integer ishosnum = 0;
-        System.debug('MidMap2 = ' + MidMap2);
-        for (ConsumableorderdetailsInfo bss : MidMap2.values()) {
-            if (selectedIdMap.containsKey(bss.Prod.id)) {
-                continue;
-            } else {
-                bss.sortBy = false;
-                bss.packinglist = Integer.valueOf(bss.Prod.Product2__r.Packing_list_manual__c);
-                bss.approbation_No = bss.Prod.Product2__r.SFDA_Approbation_No__c;
-                bss.expiration_Date = bss.Prod.Product2__r.SFDA_Expiration_Date__c;
-                consumableorderdetailsSelectRecords.add(bss);
-
-                if (bss.hospitalSpecialOffer == true) {
-                    ishosnum = ishosnum + 1;
-                }
-            }
-        }
-        if (ishosnum > 0) {
-            hasHosPro = true;
+    for (Integer i = 0; i < CountDel.size(); i++) {
+      String str = '';
+      if (CountDel[i].hospitalSpecialOffer__c) {
+        str = 'isHos';
+      } else {
+        str = 'notHos';
+      }
+      System.debug('MidMap = ' + MidMap);
+      //鏄庣粏2瀵瑰簲鐨勪骇鍝佸瓨鍦ㄤ簬MidMap涓�
+      if (MidMap.containsKey(CountDel[i].Consumable_Product__c)) {
+        //璁剧疆map涓璳ey鐨勫悗缂� 鐢ㄤ簬鍖哄垎鍖婚櫌鐗逛环鍜岄潪鍖婚櫌鐗逛环
+        if (MidMap2.containsKey(CountDel[i].Consumable_Product__c + str)) {
+          ConsumableorderdetailsInfo Jstage = MidMap2.get(
+            CountDel[i].Consumable_Product__c + str
+          );
+          Jstage.allnumber = Jstage.allnumber + 1;
+          if (CountDel[i].Box_Piece__c == '鐩�') {
+            Jstage.Boxnumber = Jstage.Boxnumber + 1;
+          } else if (CountDel[i].Box_Piece__c == '涓�') {
+            Jstage.Piecenumber = Jstage.Piecenumber + 1;
+          }
+          if (CountDel[i].hospitalSpecialOffer__c) {
+            Jstage.hospitalSpecialOffer = true;
+          } else {
+            Jstage.hospitalSpecialOffer = false;
+          }
+          if (HosProMap.containsKey(Jstage.Prod.Id)) {
+            Jstage.hosPro = true;
+          }
+          MidMap2.put(CountDel[i].Consumable_Product__c + str, Jstage);
         } else {
-            hasHosPro = false;
+          //midmap2涓病鏈夊搴旂殑浜у搧
+          ConsumableorderdetailsInfo Jstage = MidMap.get(
+              CountDel[i].Consumable_Product__c
+            )
+            .clone();
+          Jstage.allnumber = Jstage.allnumber + 1;
+          if (CountDel[i].Box_Piece__c == '鐩�') {
+            Jstage.Boxnumber = Jstage.Boxnumber + 1;
+          } else if (CountDel[i].Box_Piece__c == '涓�') {
+            Jstage.Piecenumber = Jstage.Piecenumber + 1;
+          }
+          if (CountDel[i].hospitalSpecialOffer__c) {
+            Jstage.hospitalSpecialOffer = true;
+          } else {
+            Jstage.hospitalSpecialOffer = false;
+          }
+          if (HosProMap.containsKey(Jstage.Prod.Id)) {
+            Jstage.hosPro = true;
+          }
+          //Jstage.BoxPiece = CountDel[i].Box_Piece__c;
+          MidMap2.put(CountDel[i].Consumable_Product__c + str, Jstage);
         }
+      }
+    }
+    Integer ishosnum = 0;
+    System.debug('MidMap2 = ' + MidMap2);
+    for (ConsumableorderdetailsInfo bss : MidMap2.values()) {
+      if (selectedIdMap.containsKey(bss.Prod.id)) {
+        continue;
+      } else {
+        bss.sortBy = false;
+        bss.packinglist = Integer.valueOf(
+          bss.Prod.Product2__r.Packing_list_manual__c
+        );
+        bss.approbation_No = bss.Prod.Product2__r.SFDA_Approbation_No__c;
+        bss.expiration_Date = bss.Prod.Product2__r.SFDA_Expiration_Date__c;
+        consumableorderdetailsSelectRecords.add(bss);
 
-        consumableorderdetailsSelectRecords.sort();
-        makepagerecordsLwc();
-        //鍒嗛〉
-        PaginatedAccounts paginatedAccounts = new PaginatedAccounts();
-        totalCount = pageRecords.size();
-        paginatedAccounts.nextPageToken = (pageToken + pageSize < totalCount) ? pageToken + pageSize : null;
-        paginatedAccounts.recordStart = pageToken + 1;
-        paginatedAccounts.pageNumber = pageToken / pageSize + 1;
-        Integer recordEnd = pageSize * paginatedAccounts.pageNumber;
-        paginatedAccounts.recordEnd = totalCount >= recordEnd ? recordEnd : totalCount;
-        paginatedAccounts.totalRecords = totalCount;
-
-        System.debug('addSize = ' + addSize);
-        Integer startIdx;
-        Integer endIdx;
-        startIdx = pageToken;
-        endIdx = pageToken + pageSize;
-        List<ConsumableorderdetailsInfo> pageRecordsTemp = new List<ConsumableorderdetailsInfo>();
-        if (endIdx > pageRecords.size()) {
-            endIdx = pageRecords.size();
+        if (bss.hospitalSpecialOffer == true) {
+          ishosnum = ishosnum + 1;
         }
-
-        System.debug('addData.size() = ' + addData.size());
-        for (ConsumableorderdetailsInfo ci : addData) {
-            pageRecordsTemp.add(ci);
-        }
-        System.debug('startIdx = ' + startIdx);
-        System.debug('endIdx = ' + endIdx);
-        System.debug('skipData = ' + skipData);
-        System.debug('pageRecords = ' + pageRecords.size());
-        String hos = '';
-        for (Integer i = startIdx; i < endIdx; i++) {
-            System.debug('skipData.get(pageRecords.get(i).Prod.Id) = ' + skipData.get(pageRecords.get(i).Prod.Id));
-            if (pageRecords.get(i).hospitalSpecialOffer == true) {
-                hos = 'ishos';
-            } else {
-                hos = 'nothos';
-            }
-            if (skipData.get(pageRecords.get(i).Prod.Id + hos) == null) {
-                pageRecordsTemp.add(pageRecords.get(i));
-            }
-        }
-
-        System.debug('pageRecordsTemp = ' + pageRecordsTemp.size());
-        data.put('paginatedAccounts', paginatedAccounts);
-        data.put('pageRecords', pageRecordsTemp);
-        data.put('SearchDone', SearchDone);
-        data.put('hasHosPro', hasHosPro);
-        res.status = 'Success';
-        res.code = 200;
-        System.debug('res = ' + res);
-        return res;
+      }
+    }
+    if (ishosnum > 0) {
+      hasHosPro = true;
+    } else {
+      hasHosPro = false;
     }
 
-    private static String makeSoql(String CateName, String Category3, String Category4, String Category5) {
-        String sqlTail1 = '(\'';
-        for (Integer i = 0; i < zaikuId.size(); i++) {
-            if (zaikuId[i] != null) {
-                if (i < zaikuId.size() - 1) {
-                    sqlTail1 += zaikuId[i] + '\',\'';
-                } else {
-                    sqlTail1 += zaikuId[i];
-                }
-            }
-        }
-        sqlTail1 += '\')';
-        String soql = 'SELECT Id, Name,Name__c,Intra_Trade_List_RMB__c,Asset_Model_No__c,Product2__r.Packing_list_manual__c,SFDA_Status__c,Product2__r.SFDA_Approbation_No__c,Product2__r.SFDA_Expiration_Date__c,Category3__c,Category4__c,Category5__c  FROM Product2__c ';
-        soql += ' WHERE Id in' + sqlTail1;
-        if (!String.isBlank(CateName)) {
-            soql +=
-                ' AND (Name__c like \'%' +
-                String.escapeSingleQuotes(CateName.replaceAll('%', '\\%')) +
-                '%\' or Asset_Model_No__c like \'%' +
-                String.escapeSingleQuotes(CateName.replaceAll('%', '\\%')) +
-                '%\')';
-        }
-        if (!String.isBlank(Category3)) {
-            soql += ' AND Category3__c = \'' + Category3 + '\'';
-        }
-        if (!String.isBlank(Category4)) {
-            soql += ' AND Category4__c = \'' + Category4 + '\'';
-        }
-        if (!String.isBlank(Category5)) {
-            soql += ' AND Category5__c = \'' + Category5 + '\'';
-        }
-        return soql;
+    consumableorderdetailsSelectRecords.sort();
+    makepagerecordsLwc();
+    //鍒嗛〉
+    PaginatedAccounts paginatedAccounts = new PaginatedAccounts();
+    totalCount = pageRecords.size();
+    paginatedAccounts.nextPageToken = (pageToken + pageSize < totalCount)
+      ? pageToken + pageSize
+      : null;
+    paginatedAccounts.recordStart = pageToken + 1;
+    paginatedAccounts.pageNumber = pageToken / pageSize + 1;
+    Integer recordEnd = pageSize * paginatedAccounts.pageNumber;
+    paginatedAccounts.recordEnd = totalCount >= recordEnd
+      ? recordEnd
+      : totalCount;
+    paginatedAccounts.totalRecords = totalCount;
+
+    System.debug('addSize = ' + addSize);
+    Integer startIdx;
+    Integer endIdx;
+    startIdx = pageToken;
+    endIdx = pageToken + pageSize;
+    List<ConsumableorderdetailsInfo> pageRecordsTemp = new List<ConsumableorderdetailsInfo>();
+    if (endIdx > pageRecords.size()) {
+      endIdx = pageRecords.size();
     }
 
-    public static String makeSoqlorderdet() {
-        String sqlTail = '(\'';
-        for (Integer i = 0; i < orderzaikuId.size(); i++) {
-            if (i < orderzaikuId.size() - 1) {
-                sqlTail += orderzaikuId[i] + '\',\'';
-            } else {
-                sqlTail += orderzaikuId[i];
-            }
-        }
-        sqlTail += '\')';
-        String msoql = 'SELECT Id, Name,Name__c,Intra_Trade_List_RMB__c,Asset_Model_No__c,Product2__r.Packing_list_manual__c,SFDA_Status__c,Product2__r.SFDA_Approbation_No__c,Product2__r.SFDA_Expiration_Date__c,Category3__c,Category4__c,Category5__c  FROM Product2__c ';
-        msoql += ' WHERE Id in' + sqlTail;
-        return msoql;
+    System.debug('addData.size() = ' + addData.size());
+    for (ConsumableorderdetailsInfo ci : addData) {
+      pageRecordsTemp.add(ci);
+    }
+    System.debug('startIdx = ' + startIdx);
+    System.debug('endIdx = ' + endIdx);
+    System.debug('skipData = ' + skipData);
+    System.debug('pageRecords = ' + pageRecords.size());
+    String hos = '';
+    for (Integer i = startIdx; i < endIdx; i++) {
+      System.debug(
+        'skipData.get(pageRecords.get(i).Prod.Id) = ' +
+        skipData.get(pageRecords.get(i).Prod.Id)
+      );
+      if (pageRecords.get(i).hospitalSpecialOffer == true) {
+        hos = 'ishos';
+      } else {
+        hos = 'nothos';
+      }
+      if (skipData.get(pageRecords.get(i).Prod.Id + hos) == null) {
+        pageRecordsTemp.add(pageRecords.get(i));
+      }
     }
 
-    public static String makeSoqlinventory() {
-        String sqlTail = '(\'';
-        for (Integer i = 0; i < zaikuId.size(); i++) {
-            if (zaikuId[i] != null) {
-                if (i < zaikuId.size() - 1) {
-                    sqlTail += zaikuId[i] + '\',\'';
-                } else {
-                    sqlTail += zaikuId[i];
-                }
-            }
-        }
-        sqlTail += '\')';
-        String msoql = 'SELECT Id, Name,Name__c,Intra_Trade_List_RMB__c,Asset_Model_No__c,Product2__r.Packing_list_manual__c,SFDA_Status__c,Product2__r.SFDA_Approbation_No__c,Product2__r.SFDA_Expiration_Date__c,Category3__c,Category4__c,Category5__c  FROM Product2__c ';
-        msoql += ' WHERE Id in' + sqlTail;
-        return msoql;
-    }
+    System.debug('pageRecordsTemp = ' + pageRecordsTemp.size());
+    data.put('paginatedAccounts', paginatedAccounts);
+    data.put('pageRecords', pageRecordsTemp);
+    data.put('SearchDone', SearchDone);
+    data.put('hasHosPro', hasHosPro);
+    res.status = 'Success';
+    res.code = 200;
+    System.debug('res = ' + res);
+    return res;
+  }
 
-    public static void initStandardController(String soql) {
-        // init standard controller
-        System.debug('soql =' + soql);
-        System.debug('initStandardController star');
-        //setCon = new ApexPages.StandardSetController(Database.getQueryLocator(soql));
-        // sets the number of records in each page set
-        //setCon.setPageSize(size);
-        System.debug('initStandardController end');
+  private static String makeSoql(
+    String CateName,
+    String Category3,
+    String Category4,
+    String Category5
+  ) {
+    String sqlTail1 = '(\'';
+    for (Integer i = 0; i < zaikuId.size(); i++) {
+      if (zaikuId[i] != null) {
+        if (i < zaikuId.size() - 1) {
+          sqlTail1 += zaikuId[i] + '\',\'';
+        } else {
+          sqlTail1 += zaikuId[i];
+        }
+      }
     }
-
-    public static List<ConsumableorderdetailsInfo> makepagerecords() {
-        List<ConsumableorderdetailsInfo> reSet = new List<ConsumableorderdetailsInfo>();
-        Map<String, String> selectedIdMap = new Map<String, String>();
-        System.debug('zhj1');
-        //鍙栧嚭閫夋嫨鐨勪骇鍝�
-        if (pageRecords != null) {
-            System.debug('zhj2');
-            for (ConsumableorderdetailsInfo ass : pageRecords) {
-                if (ass.check == true) {
-                    if (ass.hospitalSpecialOffer == true) {
-                        selectedIdMap.put(ass.Prod.Id + 'ishos', ass.Prod.Id);
-                    } else {
-                        selectedIdMap.put(ass.Prod.Id + 'nothos', ass.Prod.Id);
-                    }
-                    reSet.add(ass);
-                }
-            }
-        }
-        System.debug('zhj3');
-        pageRecords = new List<ConsumableorderdetailsInfo>();
-        System.debug('reSet.size() = ' + reSet.size());
-        if (editAble && String.isBlank(arriveorder)) {
-            pageRecords = reSet;
-        }
-        //Integer pagestartNo = (setCon.getPageNumber() * size)-size;
-        //Integer pageendNo = (setCon.getPageNumber() * size)>noOfRecords ? noOfRecords :(setCon.getPageNumber() * size-1);
-        Integer addNo = 0;
-        //update by rentx 2021-2-26 start
-        System.debug('consumableorderdetailsSelectRecords.size() = ' + consumableorderdetailsSelectRecords.size());
-        for (ConsumableorderdetailsInfo info : consumableorderdetailsSelectRecords) {
-            Consumable_Orderdetails__c orderdetails1 = new Consumable_Orderdetails__c();
-            if (
-                (info.hospitalSpecialOffer && selectedIdMap.containsKey(info.Prod.Id + 'ishos')) ||
-                (info.hospitalSpecialOffer == false && selectedIdMap.containsKey(info.Prod.Id + 'nothos'))
-            ) {
-                addNo++;
-            } else {
-                if (info.check == false) {
-                    info.orderdetails1 = orderdetails1;
-                }
-                pageRecords.add(info);
-                addNo++;
-            }
-        }
-        System.debug('pageRecords 2 = ' + pageRecords);
-        System.debug('zhj5');
-        System.debug('pageRecords = ' + pageRecords);
-        return pageRecords;
+    sqlTail1 += '\')';
+    String soql = 'SELECT Id, Name,Name__c,Intra_Trade_List_RMB__c,Asset_Model_No__c,Product2__r.Packing_list_manual__c,SFDA_Status__c,Product2__r.SFDA_Approbation_No__c,Product2__r.SFDA_Expiration_Date__c,Category3__c,Category4__c,Category5__c  FROM Product2__c ';
+    soql += ' WHERE Id in' + sqlTail1;
+    if (!String.isBlank(CateName)) {
+      soql +=
+        ' AND (Name__c like \'%' +
+        String.escapeSingleQuotes(CateName.replaceAll('%', '\\%')) +
+        '%\' or Asset_Model_No__c like \'%' +
+        String.escapeSingleQuotes(CateName.replaceAll('%', '\\%')) +
+        '%\')';
     }
-
-    public static List<ConsumableorderdetailsInfo> makepagerecordsLwc() {
-        List<ConsumableorderdetailsInfoLwc> reSetLwc = new List<ConsumableorderdetailsInfoLwc>();
-        Map<String, String> selectedIdMap = new Map<String, String>();
-        skipData = new Map<String, String>();
-        System.debug('makepagerecordsLwc pageRecordsLwc = ' + pageRecordsLwc);
-        //鍙栧嚭閫夋嫨鐨勪骇鍝�
-        if (pageRecordsLwc != null) {
-            for (ConsumableorderdetailsInfoLwc ass : pageRecordsLwc) {
-                System.debug('ass.check = ' + ass.check);
-                if (ass.check == true) {
-                    if (ass.hospitalSpecialOffer == true) {
-                        selectedIdMap.put(ass.Prod.Id + 'ishos', ass.Prod.Id);
-                        skipData.put(ass.Prod.Id + 'ishos', ass.Prod.Id);
-                    } else {
-                        selectedIdMap.put(ass.Prod.Id + 'nothos', ass.Prod.Id);
-                        skipData.put(ass.Prod.Id + 'nothos', ass.Prod.Id);
-                    }
-                    reSetLwc.add(ass);
-                }
-            }
-        }
-        System.debug('selectedIdMap = ' + selectedIdMap);
-        pageRecords = new List<ConsumableorderdetailsInfo>();
-        if (editAble && String.isBlank(arriveorder)) {
-            List<ConsumableorderdetailsInfo> reSet = new List<ConsumableorderdetailsInfo>();
-            System.debug('reSetLwc = ' + reSetLwc);
-            for (ConsumableorderdetailsInfoLwc assLwc : reSetLwc) {
-                ConsumableorderdetailsInfo ci = new ConsumableorderdetailsInfo();
-                ci.check = assLwc.check;
-                ci.oldCheck = assLwc.oldCheck;
-                ci.orderdetails1 = assLwc.orderdetails1;
-                ci.orderdetails2 = assLwc.orderdetails2;
-                ci.Prod = assLwc.Prod;
-                ci.Boxnumber = assLwc.Boxnumber;
-                ci.Piecenumber = assLwc.Piecenumber;
-                ci.allnumber = assLwc.allnumber;
-                ci.oldConsumableCount = assLwc.oldConsumableCount;
-                ci.canSelect = assLwc.canSelect;
-                ci.sortBy = assLwc.sortBy;
-                ci.packinglist = assLwc.packinglist;
-                ci.approbation_No = assLwc.approbation_No;
-                ci.expiration_Date = assLwc.expiration_Date;
-                ci.boxorpiecein = assLwc.boxorpiecein;
-                ci.boxorpiece = assLwc.boxorpiece;
-                ci.boxorpieceMap = assLwc.boxorpieceMap;
-                ci.concc = assLwc.concc;
-                ci.BoxPiece = assLwc.BoxPiece;
-                ci.hospitalSpecialOffer = assLwc.hospitalSpecialOffer;
-                ci.hosPro = assLwc.hosPro;
-                reSet.add(ci);
-            }
-            pageRecords = reSet;
-            System.debug('reSet = ' + reSet);
-            addData = reSet.clone();
-            System.debug('addData = reSet = ' + addData);
-        }
-        //Integer pagestartNo = (setCon.getPageNumber() * size)-size;
-        //Integer pageendNo = (setCon.getPageNumber() * size)>noOfRecords ? noOfRecords :(setCon.getPageNumber() * size-1);
-        Integer addNo = 0;
-        //update by rentx 2021-2-26 start
-        System.debug('consumableorderdetailsSelectRecords.size() = ' + consumableorderdetailsSelectRecords.size());
-        for (ConsumableorderdetailsInfo info : consumableorderdetailsSelectRecords) {
-            Consumable_Orderdetails__c orderdetails1 = new Consumable_Orderdetails__c();
-            if (
-                (info.hospitalSpecialOffer && selectedIdMap.containsKey(info.Prod.Id + 'ishos')) ||
-                (info.hospitalSpecialOffer == false && selectedIdMap.containsKey(info.Prod.Id + 'nothos'))
-            ) {
-                System.debug('鍘绘帀鐨刬d : ' + info.Prod.Id);
-                addNo++;
-                addSize++;
-            } else {
-                if (info.check == false) {
-                    info.orderdetails1 = orderdetails1;
-                }
-                pageRecords.add(info);
-                addNo++;
-            }
-        }
-        System.debug('pageRecords.size() = ' + pageRecords.size());
-        System.debug('end  addData = ' + addData);
-        return pageRecords;
+    if (!String.isBlank(Category3)) {
+      soql += ' AND Category3__c = \'' + Category3 + '\'';
     }
+    if (!String.isBlank(Category4)) {
+      soql += ' AND Category4__c = \'' + Category4 + '\'';
+    }
+    if (!String.isBlank(Category5)) {
+      soql += ' AND Category5__c = \'' + Category5 + '\'';
+    }
+    return soql;
+  }
 
-    // 淇濆瓨鎸夐挳
-    @AuraEnabled
-    public static ResponseBodyLWC save(
-        Consumable_order__c cocLwc,
-        String hospitalInfoLwc,
-        String hospitalNameLwc,
-        String secondaryDistributorLwc,
-        List<ConsumableorderdetailsInfoLwc> pageRecordsLwc,
-        String accountidLwc,
-        String ESetIdLwc,
-        List<ConsumableorderdetailsInfo> consumableproductdetailsRecordsLwc,
-        String agencyProTypeLwc,
-        String userWorkLocationLwc
+  public static String makeSoqlorderdet() {
+    String sqlTail = '(\'';
+    for (Integer i = 0; i < orderzaikuId.size(); i++) {
+      if (i < orderzaikuId.size() - 1) {
+        sqlTail += orderzaikuId[i] + '\',\'';
+      } else {
+        sqlTail += orderzaikuId[i];
+      }
+    }
+    sqlTail += '\')';
+    String msoql = 'SELECT Id, Name,Name__c,Intra_Trade_List_RMB__c,Asset_Model_No__c,Product2__r.Packing_list_manual__c,SFDA_Status__c,Product2__r.SFDA_Approbation_No__c,Product2__r.SFDA_Expiration_Date__c,Category3__c,Category4__c,Category5__c  FROM Product2__c ';
+    msoql += ' WHERE Id in' + sqlTail;
+    return msoql;
+  }
+
+  public static String makeSoqlinventory() {
+    String sqlTail = '(\'';
+    for (Integer i = 0; i < zaikuId.size(); i++) {
+      if (zaikuId[i] != null) {
+        if (i < zaikuId.size() - 1) {
+          sqlTail += zaikuId[i] + '\',\'';
+        } else {
+          sqlTail += zaikuId[i];
+        }
+      }
+    }
+    sqlTail += '\')';
+    String msoql = 'SELECT Id, Name,Name__c,Intra_Trade_List_RMB__c,Asset_Model_No__c,Product2__r.Packing_list_manual__c,SFDA_Status__c,Product2__r.SFDA_Approbation_No__c,Product2__r.SFDA_Expiration_Date__c,Category3__c,Category4__c,Category5__c  FROM Product2__c ';
+    msoql += ' WHERE Id in' + sqlTail;
+    return msoql;
+  }
+
+  public static void initStandardController(String soql) {
+    // init standard controller
+    System.debug('soql =' + soql);
+    System.debug('initStandardController star');
+    //setCon = new ApexPages.StandardSetController(Database.getQueryLocator(soql));
+    // sets the number of records in each page set
+    //setCon.setPageSize(size);
+    System.debug('initStandardController end');
+  }
+
+  public static List<ConsumableorderdetailsInfo> makepagerecords() {
+    List<ConsumableorderdetailsInfo> reSet = new List<ConsumableorderdetailsInfo>();
+    Map<String, String> selectedIdMap = new Map<String, String>();
+    System.debug('zhj1');
+    //鍙栧嚭閫夋嫨鐨勪骇鍝�
+    if (pageRecords != null) {
+      System.debug('zhj2');
+      for (ConsumableorderdetailsInfo ass : pageRecords) {
+        if (ass.check == true) {
+          if (ass.hospitalSpecialOffer == true) {
+            selectedIdMap.put(ass.Prod.Id + 'ishos', ass.Prod.Id);
+          } else {
+            selectedIdMap.put(ass.Prod.Id + 'nothos', ass.Prod.Id);
+          }
+          reSet.add(ass);
+        }
+      }
+    }
+    System.debug('zhj3');
+    pageRecords = new List<ConsumableorderdetailsInfo>();
+    System.debug('reSet.size() = ' + reSet.size());
+    if (editAble && String.isBlank(arriveorder)) {
+      pageRecords = reSet;
+    }
+    //Integer pagestartNo = (setCon.getPageNumber() * size)-size;
+    //Integer pageendNo = (setCon.getPageNumber() * size)>noOfRecords ? noOfRecords :(setCon.getPageNumber() * size-1);
+    Integer addNo = 0;
+    //update by rentx 2021-2-26 start
+    System.debug(
+      'consumableorderdetailsSelectRecords.size() = ' +
+      consumableorderdetailsSelectRecords.size()
+    );
+    for (
+      ConsumableorderdetailsInfo info : consumableorderdetailsSelectRecords
     ) {
-        coc = cocLwc;
-        HospitalInfo = hospitalInfoLwc;
-        HospitalName = hospitalNameLwc;
-        SecondDealer = secondaryDistributorLwc;
-        pageRecordsLwc = pageRecordsLwc;
-        accountid = accountidLwc;
-        consumableproductdetailsRecords = consumableproductdetailsRecordsLwc;
-        ESetId = ESetIdLwc;
-        agencyProType = agencyProTypeLwc;
-        userWorkLocation = userWorkLocationLwc;
-
-        System.debug('coc = ' + coc);
-        System.debug('HospitalInfo = ' + HospitalInfo);
-        System.debug('HospitalName = ' + HospitalName);
-        System.debug('SecondDealer = ' + SecondDealer);
-        System.debug('pageRecordsLwc = ' + pageRecordsLwc);
-        System.debug('accountid = ' + accountid);
-        System.debug('consumableproductdetailsRecords = ' + consumableproductdetailsRecords);
-        System.debug('ESetId = ' + ESetId);
-        ResponseBodyLWC res = new ResponseBodyLWC();
-        Map<String, object> data = new Map<String, object>();
-        res.entity = data;
-        //璁㈠崟淇℃伅纭
-        if (coc.SummonsForDirction__c == '' || coc.SummonsForDirction__c == null) {
-            // coc.SummonsForDirction__c.addError('璇疯緭鍏ユ寚绀哄崟鐩殑');
-            // return null;
-            return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ユ寚绀哄崟鐩殑', '');
-        } else if (coc.SummonsForDirction__c == '鐩存帴閿�鍞粰鍖婚櫌') {
-            if (String.isBlank(HospitalInfo) || String.isBlank(HospitalName)) {
-                // coc.addError('璇疯緭鍏ュ尰闄�');
-                // return null;
-                return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ュ尰闄�', '');
-            }
-            if (String.isBlank(coc.Order_ForCustomerText__c)) {
-                // coc.Order_ForCustomerText__c.addError('璇疯緭鍏ョ瀹�');
-                // return null;
-                return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ョ瀹�', '');
-            } else if (String.isNotBlank(SecondDealer) || String.isNotBlank(coc.Order_ForDealerText__c)) {
-                // coc.addError('涓嶉渶瑕佷簩绾х粡閿�鍟嗗拰缁忛攢鍟�(褰曞叆)淇℃伅' );
-                // return null;
-                return new ResponseBodyLWC('Error', 500, '涓嶉渶瑕佷簩绾х粡閿�鍟嗗拰缁忛攢鍟�(褰曞叆)淇℃伅', '');
-            }
-        } else if (coc.SummonsForDirction__c == '鍖婚櫌璇曠敤') {
-            if (String.isBlank(HospitalInfo) || String.isBlank(HospitalName)) {
-                // coc.addError('璇疯緭鍏ュ尰闄�');
-                // return null;
-                return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ュ尰闄�', '');
-            }
-            if (String.isBlank(coc.Order_ForCustomerText__c)) {
-                // coc.Order_ForCustomerText__c.addError('璇疯緭鍏ョ瀹�');
-                // return null;
-                return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ョ瀹�', '');
-            }
-        } else if (coc.SummonsForDirction__c == '閿�鍞粰浜岀骇缁忛攢鍟�') {
-            if (String.isBlank(SecondDealer) && String.isBlank(coc.Order_ForDealerText__c)) {
-                // coc.addError('蹇呴』杈撳叆浜岀骇缁忛攢鍟嗘垨缁忛攢鍟�(褰曞叆)');
-                // return null;
-                return new ResponseBodyLWC('Error', 500, '蹇呴』杈撳叆浜岀骇缁忛攢鍟嗘垨缁忛攢鍟�(褰曞叆)', '');
-            }
-            if (String.isBlank(HospitalInfo) || String.isBlank(HospitalName)) {
-                // coc.addError('璇疯緭鍏ュ尰闄�');
-                // return null;
-                return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ュ尰闄�', '');
-            }
-            if (String.isBlank(coc.Order_ForCustomerText__c)) {
-                // coc.Order_ForCustomerText__c.addError('璇疯緭鍏ョ瀹�');
-                // return null;
-                return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ョ瀹�', '');
-            }
-        } else if (coc.SummonsForDirction__c == '浜掔浉璋冭揣') {
-            if (String.isNotBlank(HospitalInfo) || String.isNotBlank(HospitalName)) {
-                // coc.addError('涓嶉渶瑕佽緭鍏ュ尰闄�');
-                // return null;
-                return new ResponseBodyLWC('Error', 500, '涓嶉渶瑕佽緭鍏ュ尰闄�', '');
-            }
-            if (String.isNotBlank(coc.Order_ForCustomerText__c)) {
-                // coc.Order_ForCustomerText__c.addError('涓嶉渶瑕佽緭鍏ョ瀹�');
-                // return null;
-                return new ResponseBodyLWC('Error', 500, '涓嶉渶瑕佽緭鍏ョ瀹�', '');
-            }
-            if (String.isBlank(SecondDealer) && String.isBlank(coc.Order_ForDealerText__c)) {
-                // coc.addError('蹇呴』杈撳叆浜岀骇缁忛攢鍟嗘垨缁忛攢鍟�(褰曞叆)');
-                // return null;
-                return new ResponseBodyLWC('Error', 500, '蹇呴』杈撳叆浜岀骇缁忛攢鍟嗘垨缁忛攢鍟�(褰曞叆)', '');
-            }
+      Consumable_Orderdetails__c orderdetails1 = new Consumable_Orderdetails__c();
+      if (
+        (info.hospitalSpecialOffer &&
+        selectedIdMap.containsKey(info.Prod.Id + 'ishos')) ||
+        (info.hospitalSpecialOffer == false &&
+        selectedIdMap.containsKey(info.Prod.Id + 'nothos'))
+      ) {
+        addNo++;
+      } else {
+        if (info.check == false) {
+          info.orderdetails1 = orderdetails1;
         }
-
-        Integer isHos = 0;
-
-        Integer FLG = 0;
-        Integer Count = 0;
-        for (ConsumableorderdetailsInfoLwc CheckCount : pageRecordsLwc) {
-            FLG = FLG + 1;
-            if (CheckCount.check == false) {
-                Count = Count + 1;
-            } else {
-                //add by rentx
-                if (CheckCount.hospitalSpecialOffer) {
-                    isHos = isHos + 1;
-                }
-                //add by rentx
-            }
-        }
-        if (Count == FLG) {
-            // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '璇烽�夋嫨鎵�闇�娑堣�楀搧'));
-            // return null;
-            return new ResponseBodyLWC('Error', 500, '璇烽�夋嫨鎵�闇�娑堣�楀搧', '');
-        }
-        // gzw 娉ㄩ噴 鍒ゆ柇鎻愬墠 20210308
-        //checkOutPattern();
-        //鏍规嵁鐢ㄦ埛閫変腑鐨勪骇鍝佺粰 鍑哄簱鍗曚笂鐨勬槸鍚﹀尰闄㈢壒浠峰嚭搴撳瓧娈佃祴鍊�
-        Integer isHosCheckOutPattern = 0;
-        for (ConsumableorderdetailsInfoLwc CheckCount : pageRecordsLwc) {
-            if (CheckCount.check == true && CheckCount.hospitalSpecialOffer == true) {
-                isHosCheckOutPattern = isHosCheckOutPattern + 1;
-            }
-        }
-        if (isHosCheckOutPattern > 0) {
-            coc.OutPattern__c = true;
-        } else {
-            coc.OutPattern__c = false;
-        }
-
-        // add by rentx 2021-3-10 start
-        //鐗逛环鍖婚櫌鍑哄簱闈炴湰鍖婚櫌缁存姢鐨勭壒浠峰晢鍝佹椂,鎶ラ敊 闈炵壒浠峰尰闄㈠嚭搴撶淮鎶ゅ湪鍖婚櫌鐗逛环鍏崇郴琛ㄧ殑浜у搧鏃� 鎶ラ敊
-        if (coc.SummonsForDirction__c != '浜掔浉璋冭揣') {
-            //闈炵壒浠峰尰闄㈠嚭搴撶壒浠蜂骇鍝佹椂 鎶ラ敊(褰撳墠缁忛攢鍟嗕笅娌℃湁鐗逛环鍖婚櫌闄ゅ)
-            List<hospitalprice__c> hopList = [SELECT id, hospital__c, product__c FROM hospitalprice__c WHERE account__c = :accountid];
-            //缁忛攢鍟嗗搴斿尰闄笅鐨勬墍鏈夌壒浠蜂骇鍝�
-            Map<String, String> proMap = new Map<String, String>();
-            //缁忛攢鍟嗕笅鐨勬墍鏈夌壒浠蜂骇鍝�
-            Map<String, String> allProMap = new Map<String, String>();
-
-            if (hopList != null && hopList.size() > 0) {
-                Boolean flag = false;
-                if (HospitalInfo != null && HospitalInfo != '') {
-                    for (hospitalprice__c hp : hopList) {
-                        allProMap.put(hp.product__c, '');
-                        //濡傛灉褰撳墠 鍖婚櫌鐗逛环鍏崇郴涓殑鍖婚櫌瀵瑰簲鍑哄簱鍗曚笂鍑哄簱鐨勫尰闄�,鍒欐斁浜у搧id鍒癿ap
-                        if (hp.hospital__c == HospitalInfo) {
-                            flag = true;
-                            proMap.put(hp.product__c, '');
-                        }
-                    }
-                }
-                for (ConsumableorderdetailsInfoLwc ass : pageRecordsLwc) {
-                    if (ass.check == true) {
-                        //鍒ゆ柇閫変腑鐨勫尰闄㈢壒浠蜂骇鍝�
-                        if (ass.hospitalSpecialOffer == true) {
-                            //鐢ㄦ埛閫変腑浜嗗綋鍓嶅尰闄笅鐨勭壒浠蜂骇鍝�
-                            if (proMap.containsKey(ass.Prod.Id)) {
-                                continue;
-                                //鐢ㄦ埛閫変腑浜嗘病鏈夌淮鎶ょ壒浠峰尰闄㈢殑鐗逛环浜у搧
-                            } else if (!allProMap.containsKey(ass.Prod.Id)) {
-                                continue;
-                            } else {
-                                //鐢ㄦ埛閫変腑闈炲綋鍓嶅尰闄㈢淮鎶ょ殑鐗逛环浜у搧
-                                // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '褰撳墠鍖婚櫌娌℃湁缁存姢 娑堣�楀搧:'+ ass.Prod.Name__c +' 鐨勭壒浠�'));
-                                // return null;
-                                return new ResponseBodyLWC('Error', 500, '褰撳墠鍖婚櫌娌℃湁缁存姢 娑堣�楀搧:' + ass.Prod.Name__c + '鐨勭壒浠�', '');
-                            }
-                        } //闈炲尰闄㈢壒浠蜂骇鍝佸彲浠ュ嚭搴撶粰浠绘剰鍖婚櫌,鎵�浠ヤ笉闇�瑕佸垽鏂�
-                    }
-                }
-            }
-        } else {
-            //濡傛灉鏄簰鐩歌皟璐�,鍒ゆ柇 缁忛攢鍟�(褰曞叆) 鏄惁缁存姢浜� 褰撳墠閫変腑鐨勭壒浠蜂骇鍝�
-            List<hospitalprice__c> hopList = [
-                SELECT id, hospital__c, product__c
-                FROM hospitalprice__c
-                WHERE account__c = :coc.Order_ForDealerTextID__c
-            ];
-            Map<Id, String> proMap = new Map<Id, String>();
-            if (hopList != null && hopList.size() > 0) {
-                for (hospitalprice__c hpc : hopList) {
-                    proMap.put(hpc.product__c, '');
-                }
-
-                String proStr = '';
-                for (ConsumableorderdetailsInfoLwc ass : pageRecordsLwc) {
-                    if (ass.check == true) {
-                        if (ass.hospitalSpecialOffer == true) {
-                            if (!proMap.containsKey(ass.Prod.Id)) {
-                                proStr += ass.Prod.Name__c + ',';
-                            }
-                        }
-                    }
-                }
-                if (proStr != '') {
-                    // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '缁忛攢鍟�:'+coc.Order_ForDealerText__c +' 娌℃湁娑堣�楀搧:'+proStr.substring(0,proStr.length()-1) + ' 鐨勭壒浠�'));
-                    // return null;
-                    return new ResponseBodyLWC(
-                        'Error',
-                        500,
-                        '缁忛攢鍟�:' +
-                        coc.Order_ForDealerText__c +
-                        ' 娌℃湁娑堣�楀搧:' +
-                        proStr.substring(0, proStr.length() - 1) +
-                        ' 鐨勭壒浠�',
-                        ''
-                    );
-                }
-            }
-        }
-
-        // checkOutPattern();
-        Consumable_order__c p = new Consumable_order__c();
-        List<Consumable_orderdetails__c> Ins = new List<Consumable_orderdetails__c>();
-        List<Consumable_order_details2__c> InsProduct = new List<Consumable_order_details2__c>();
-        Savepoint sp = Database.setSavepoint();
-        // try {
-        //鏂板缓璁㈠崟鏃�
-        if (String.isEmpty(ESetId)) {
-            p.Name = '*';
-            p.Order_type__c = '浼犵エ';
-            p.Order_ProType__c = agencyProType;
-            if (coc.SummonsStatus_c__c == null || String.isBlank(coc.SummonsStatus_c__c))
-                coc.SummonsStatus_c__c = '鑽夋涓�';
-            // update strat by vivek 2019-7-12
-            p.NoConfirmedPrice__c = coc.NoConfirmedPrice__c;
-            // update end by vivek 2019-7-12
-            p.SummonsStatus_c__c = coc.SummonsStatus_c__c;
-            if (coc.Arrive_Order__c != null) {
-                p.Arrive_Order__c = coc.Arrive_Order__c;
-            }
-            p.Offers_Price__c = coc.Offers_Price__c;
-            p.Dealer_Info__c = accountid;
-            if (String.isBlank(SecondDealer)) {
-                p.Order_ForHospital__c = String.isNotBlank(HospitalInfo) ? HospitalInfo : null;
-                p.Order_ForCustomerText__c = coc.Order_ForCustomerText__c;
-            } else {
-                p.Order_ForHospital__c = String.isNotBlank(HospitalInfo) ? HospitalInfo : null;
-                p.Order_ForCustomerText__c = coc.Order_ForCustomerText__c;
-                p.Order_ForDealer__c = SecondDealer;
-            }
-            P.Order_ForDealerText__c = coc.Order_ForDealerText__c;
-            P.Order_ForDealerTextID__c = coc.Order_ForDealerTextID__c;
-            p.Order_date__c = coc.Order_date__c;
-            p.SummonsForDirction__c = coc.SummonsForDirction__c;
-            p.RecordTypeid = System.Label.RT_ConOrder_Outboundorder;
-            // update start by vivek 2019-7-15
-            p.NoConfirmedPrice__c = coc.NoConfirmedPrice__c;
-            // update end by vivek 2019-7-15
-            //add by rentx
-            p.OutPattern__c = coc.OutPattern__c;
-            //add by rentx
-            //Map<String,String> ProductNewMap = new Map<String, String>();
-            for (ConsumableorderdetailsInfoLwc ass : pageRecordsLwc) {
-                if (ass.check == true) {
-                    if (ass.orderdetails1.Delivery_List_RMB__c < 0) {
-                        return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ユ纭殑鍑鸿揣鍗曚环 (鍏�)', '');
-                    }
-                    if (ass.orderdetails1.Delivery_List_RMB__c == null && coc.SummonsForDirction__c != '鍖婚櫌璇曠敤') {
-                        return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ユ纭殑鍑鸿揣鍗曚环 (鍏�)', '');
-                    }
-                    if ((ass.orderdetails1.Delivery_List_RMB__c == null || ass.orderdetails1.Delivery_List_RMB__c == 0) && coc.SummonsForDirction__c != '鍖婚櫌璇曠敤') {
-                        return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ュ嚭璐у崟浠� (鍏�)', '');
-                    }
-                    if (
-                        ass.orderdetails1.Delivery_List_RMB__c == 0 &&
-                        (coc.SummonsForDirction__c == '閿�鍞粰浜岀骇缁忛攢鍟�' ||
-                        coc.SummonsForDirction__c == '鐩存帴閿�鍞粰鍖婚櫌')
-                    ) {
-                        return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ュ嚭璐у崟浠� (鍏�)', '');
-                    }
-                    if (ass.orderdetails1.Shipment_Count__c == null || ass.orderdetails1.Shipment_Count__c == 0) {
-                        // ass.orderdetails1.Shipment_Count__c.addError('璇疯緭鍏ュ嚭璐ф暟閲�');
-                        // return null;
-                        return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ュ嚭璐ф暟閲�', '');
-                    }
-
-                    if (ass.orderdetails1.Box_Piece__c == null || ass.orderdetails1.Box_Piece__c == '') {
-                        // ass.orderdetails1.Box_Piece__c.addError('璇疯緭鍏ュ崟浣�');
-                        // return null;
-                        return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ュ崟浣�', '');
-                    }
-                    if (ass.orderdetails1.Box_Piece__c == '鐩�') {
-                        if (ass.orderdetails1.Shipment_Count__c > ass.Boxnumber) {
-                            //ass.orderdetails1.Shipment_Count__c.addError('搴撳瓨涓嶈冻');
-                            if (ass.oldCheck == false) {
-                                // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '娑堣�楀搧'+ ass.Prod.Name__c + '搴撳瓨涓嶈冻'));
-                                return new ResponseBodyLWC('Error', 500, '娑堣�楀搧' + ass.Prod.Name__c + '搴撳瓨涓嶈冻', '');
-                            } else {
-                                // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '娑堣�楀搧'+ ass.orderdetails1.Consumable_Product__r.Name__c + '搴撳瓨涓嶈冻'));
-                                return new ResponseBodyLWC(
-                                    'Error',
-                                    500,
-                                    '娑堣�楀搧' +
-                                    ass.orderdetails1.Consumable_Product__r.Name__c +
-                                    '搴撳瓨涓嶈冻',
-                                    ''
-                                );
-                            }
-                        }
-                    } else if (ass.orderdetails1.Box_Piece__c == '涓�') {
-                        if (ass.orderdetails1.Shipment_Count__c > ass.Piecenumber) {
-                            //ass.orderdetails1.Shipment_Count__c.addError('搴撳瓨涓嶈冻');
-                            if (ass.oldCheck == false) {
-                                // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '娑堣�楀搧'+ ass.Prod.Name__c + '搴撳瓨涓嶈冻'));
-                                return new ResponseBodyLWC('Error', 500, '娑堣�楀搧' + ass.Prod.Name__c + '搴撳瓨涓嶈冻', '');
-                            } else {
-                                // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '娑堣�楀搧'+ ass.orderdetails1.Consumable_Product__r.Name__c + '搴撳瓨涓嶈冻'));
-                                return new ResponseBodyLWC(
-                                    'Error',
-                                    500,
-                                    '娑堣�楀搧' +
-                                    ass.orderdetails1.Consumable_Product__r.Name__c +
-                                    '搴撳瓨涓嶈冻',
-                                    ''
-                                );
-                            }
-                        }
-                    }
-                }
-            }
-            insert p;
-            ESetId = p.id;
-            List<Consumable_order__c> detailName = new List<Consumable_order__c>();
-            detailName = [SELECT id, Name FROM Consumable_order__c WHERE id = :ESetId];
-            Integer i = 1;
-            for (ConsumableorderdetailsInfoLwc ass : pageRecordsLwc) {
-                if (ass.check == true) {
-                    Consumable_orderdetails__c InsAfterDel = new Consumable_orderdetails__c();
-                    String str = string.valueOf(i);
-                    if (str.length() == 1) {
-                        str = '0' + str;
-                    }
-                    InsAfterDel.Name = detailName[0].name + '-' + str;
-                    InsAfterDel.Shipment_Count__c = ass.orderdetails1.Shipment_Count__c;
-                    InsAfterDel.Consumable_order__c = p.id;
-                    InsAfterDel.Consumable_Product__c = ass.Prod.id;
-                    InsAfterDel.Intra_Trade_List_RMB__c = ass.Prod.Intra_Trade_List_RMB__c;
-                    InsAfterDel.Delivery_List_RMB__c = ass.orderdetails1.Delivery_List_RMB__c;
-                    // TODO 榛樿 鐩� 锛岄渶瑕佷慨姝�
-                    InsAfterDel.Box_Piece__c = ass.orderdetails1.Box_Piece__c;
-                    InsAfterDel.Out_unit__c = ass.orderdetails1.Box_Piece__c;
-                    //InsAfterDel.Unitprice_To_agency__c = ass.orderdetails1.Unitprice_To_agency__c;
-                    InsAfterDel.Dealer_Custom_Price__c = ass.orderdetails1.Dealer_Custom_Price__c;
-                    InsAfterDel.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
-                    //add by rentx 2021-2-26 start
-                    InsAfterDel.isOutPattern__c = ass.hospitalSpecialOffer;
-                    //add by rentx 2021-2-26 end
-                    i++;
-                    Ins.add(InsAfterDel);
-                }
-            }
-            // 濡傛灉 鍑哄簱鍗� 鍜� OCM鍙戣揣Header杩� 鐨勮瘽锛屽彂璐х殑Detail2 Copy鍒� 鍑哄簱鍗曠殑Detail2閲�
-            if (getExistarrive()) {
-                for (ConsumableorderdetailsInfo ass : consumableproductdetailsRecords) {
-                    //BlockForP;
-                    Consumable_order_details2__c InsProductDet = new Consumable_order_details2__c();
-                    InsProductDet.Id = ass.orderdetails2.Id;
-                    InsProductDet.Consumable_ZS_order__c = p.id;
-                    i++;
-                    InsProduct.add(InsProductDet);
-                }
-            }
-            if (Ins.size() > 0) {
-                insert Ins;
-            }
-            if (InsProduct.size() > 0) {
-                //ControllerUtil.updateOrderDetailsSatus(InsProduct);
-                update InsProduct;
-            }
-        } else if (ESetId != null || ESetId.length() > 0) {
-            //淇敼涔嬪悗 淇濆瓨璁㈠崟
-            List<Consumable_order__c> cocinfo = new List<Consumable_order__c>();
-            // update start by vivek 2019-7-15 add "NoConfirmedPrice__c" in select
-            cocinfo = [
-                SELECT Id, Name, SummonsStatus_c__c, NoConfirmedPrice__c, Dealer_Info__c, Order_ForHospital__c, SummonsForDirction__c
-                FROM Consumable_order__c
-                WHERE Id = :ESetId
-            ];
-            // update end by vivek 2019-7-15
-            if (cocinfo.size() > 0) {
-                p = cocinfo[0];
-            }
-            p.Name = coc.Name;
-            p.Dealer_Info__c = accountid;
-            p.Order_ProType__c = agencyProType;
-            if (String.isEmpty(SecondDealer)) {
-                p.Order_ForHospital__c = String.isNotBlank(HospitalInfo) ? HospitalInfo : null;
-                p.Order_ForCustomerText__c = coc.Order_ForCustomerText__c;
-                System.debug('SecondDealer = ' + SecondDealer);
-                p.Order_ForDealer__c = null;
-            } else {
-                p.Order_ForHospital__c = String.isNotBlank(HospitalInfo) ? HospitalInfo : null;
-                p.Order_ForCustomerText__c = coc.Order_ForCustomerText__c;
-                p.Order_ForDealer__c = SecondDealer;
-            }
-            P.Order_ForDealerText__c = coc.Order_ForDealerText__c;
-            P.Order_ForDealerTextID__c = coc.Order_ForDealerTextID__c;
-            p.Order_date__c = coc.Order_date__c;
-            p.SummonsForDirction__c = coc.SummonsForDirction__c;
-            //add by rentx
-            p.OutPattern__c = coc.OutPattern__c;
-            // update start by vivek 2019-7-15
-            if (p.SummonsStatus_c__c == '浠锋牸鏈畾') {
-                p.NoConfirmedPrice__c = false;
-                p.SummonsStatus_c__c = '宸插畬鎴�';
-            } else {
-                p.SummonsStatus_c__c = '鑽夋涓�';
-            }
-            // p.SummonsStatus_c__c = '鑽夋涓�';
-            // update end by vivek 2019-7-15
-            Integer i = 1;
-            //Map<String,String> ProductOldMap = new Map<String, String>();
-            for (ConsumableorderdetailsInfoLwc ass : pageRecordsLwc) {
-                if (ass.check == true) {
-                    if (ass.orderdetails1.Delivery_List_RMB__c < 0) {
-                        return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ユ纭殑鍑鸿揣鍗曚环 (鍏�)', '');
-                    }
-                    Consumable_orderdetails__c InsAfterDel = new Consumable_orderdetails__c();
-                    if ((ass.orderdetails1.Delivery_List_RMB__c == null || ass.orderdetails1.Delivery_List_RMB__c == 0) && coc.SummonsForDirction__c != '鍖婚櫌璇曠敤') {
-                        return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ュ嚭璐у崟浠� (鍏�)', '');
-                    }
-                    if (
-                        ass.orderdetails1.Delivery_List_RMB__c == 0 &&
-                        (coc.SummonsForDirction__c == '閿�鍞粰浜岀骇缁忛攢鍟�' ||
-                        coc.SummonsForDirction__c == '鐩存帴閿�鍞粰鍖婚櫌')
-                    ) {
-                        return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ュ嚭璐у崟浠� (鍏�)', '');
-                    }
-                    if (ass.orderdetails1.Box_Piece__c == null || ass.orderdetails1.Box_Piece__c == '') {
-                        // ass.orderdetails1.Box_Piece__c.addError('璇疯緭鍏ュ崟浣�');
-                        // return null;
-                        return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ュ崟浣�', '');
-                    }
-                    if (ass.orderdetails1.Box_Piece__c == '鐩�') {
-                        if (ass.orderdetails1.Shipment_Count__c > ass.Boxnumber) {
-                            //ass.orderdetails1.Shipment_Count__c.addError('搴撳瓨涓嶈冻');
-                            if (ass.oldCheck == false) {
-                                // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '娑堣�楀搧'+ ass.Prod.Name__c + '搴撳瓨涓嶈冻'));
-                                return new ResponseBodyLWC('Error', 500, '娑堣�楀搧' + ass.Prod.Name__c + '搴撳瓨涓嶈冻', '');
-                            } else {
-                                // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '娑堣�楀搧'+ ass.orderdetails1.Consumable_Product__r.Name__c + '搴撳瓨涓嶈冻'));
-                                return new ResponseBodyLWC(
-                                    'Error',
-                                    500,
-                                    '娑堣�楀搧' +
-                                    ass.orderdetails1.Consumable_Product__r.Name__c +
-                                    '搴撳瓨涓嶈冻',
-                                    ''
-                                );
-                            }
-                        }
-                    } else if (ass.orderdetails1.Box_Piece__c == '涓�') {
-                        if (ass.orderdetails1.Shipment_Count__c > ass.Piecenumber) {
-                            if (ass.oldCheck == false) {
-                                // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '娑堣�楀搧'+ ass.Prod.Name__c + '搴撳瓨涓嶈冻'));
-                                return new ResponseBodyLWC('Error', 500, '娑堣�楀搧' + ass.Prod.Name__c + '搴撳瓨涓嶈冻', '');
-                            } else {
-                                //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '娑堣�楀搧'+ ass.orderdetails1.Consumable_Product__r.Name__c + '搴撳瓨涓嶈冻'));
-                                return new ResponseBodyLWC(
-                                    'Error',
-                                    500,
-                                    '娑堣�楀搧' +
-                                    ass.orderdetails1.Consumable_Product__r.Name__c +
-                                    '搴撳瓨涓嶈冻',
-                                    ''
-                                );
-                            }
-                        }
-                    }
-                    if (ass.orderdetails1.Shipment_Count__c == null || ass.orderdetails1.Shipment_Count__c == 0) {
-                        // ass.orderdetails1.Shipment_Count__c.addError('璇疯緭鍏ュ嚭璐ф暟閲�');
-                        // return null;
-                        return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ュ嚭璐ф暟閲�', '');
-                    } else {
-                        String str = string.valueOf(i);
-                        if (str.length() == 1) {
-                            str = '0' + str;
-                        }
-                        InsAfterDel.Name = p.name + '-' + str;
-                        InsAfterDel.Shipment_Count__c = ass.orderdetails1.Shipment_Count__c;
-                        InsAfterDel.Consumable_order__c = ESetId;
-                        InsAfterDel.Consumable_Product__c = ass.Prod.id;
-                        InsAfterDel.Intra_Trade_List_RMB__c = ass.Prod.Intra_Trade_List_RMB__c;
-                        InsAfterDel.Delivery_List_RMB__c = ass.orderdetails1.Delivery_List_RMB__c;
-                        InsAfterDel.Box_Piece__c = ass.orderdetails1.Box_Piece__c;
-                        InsAfterDel.Out_unit__c = ass.orderdetails1.Box_Piece__c;
-                        //InsAfterDel.Unitprice_To_agency__c = ass.orderdetails1.Unitprice_To_agency__c;
-                        InsAfterDel.Dealer_Custom_Price__c = ass.orderdetails1.Dealer_Custom_Price__c;
-                        InsAfterDel.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
-                        //add by rentx 2021-2-26 start
-                        InsAfterDel.isOutPattern__c = ass.hospitalSpecialOffer;
-                        //add by rentx 2021-2-26 end
-                        i++;
-                        Ins.add(InsAfterDel);
-                    }
-                }
-            }
-            update p;
-            List<Consumable_orderdetails__c> qs = new List<Consumable_orderdetails__c>();
-            qs = [SELECT Id FROM Consumable_orderdetails__c WHERE Consumable_order__c = :ESetId];
-            if (qs.size() > 0) {
-                delete qs;
-            }
-            if (Ins.size() > 0) {
-                insert Ins;
-            }
-        }
-        // }catch (Exception ex) {
-        //     Database.rollback(sp);
-        //     // ApexPages.addMessages(ex);
-        //     // return null;
-        //     //return new ResponseBodyLWC('Error',500, ex.getMessage(), '');
-        //     return new ResponseBodyLWC('Error',500, JSON.serialize(ex), '');
-        // }
-        data.put('ESetId', ESetId);
-        res.status = 'Success';
-        res.code = 200;
-        System.debug('res = ' + res);
-        return res;
+        pageRecords.add(info);
+        addNo++;
+      }
     }
+    System.debug('pageRecords 2 = ' + pageRecords);
+    System.debug('zhj5');
+    System.debug('pageRecords = ' + pageRecords);
+    return pageRecords;
+  }
 
-    public static void checkOutPattern() {
-        //鏍规嵁鐢ㄦ埛閫変腑鐨勪骇鍝佺粰 鍑哄簱鍗曚笂鐨勬槸鍚﹀尰闄㈢壒浠峰嚭搴撳瓧娈佃祴鍊�
-        Integer isHos = 0;
-        for (ConsumableorderdetailsInfo CheckCount : pageRecords) {
-            if (CheckCount.check == true && CheckCount.hospitalSpecialOffer == true) {
-                ishos = ishos + 1;
-            }
+  public static List<ConsumableorderdetailsInfo> makepagerecordsLwc() {
+    List<ConsumableorderdetailsInfoLwc> reSetLwc = new List<ConsumableorderdetailsInfoLwc>();
+    Map<String, String> selectedIdMap = new Map<String, String>();
+    skipData = new Map<String, String>();
+    System.debug('makepagerecordsLwc pageRecordsLwc = ' + pageRecordsLwc);
+    //鍙栧嚭閫夋嫨鐨勪骇鍝�
+    if (pageRecordsLwc != null) {
+      for (ConsumableorderdetailsInfoLwc ass : pageRecordsLwc) {
+        System.debug('ass.check = ' + ass.check);
+        if (ass.check == true) {
+          if (ass.hospitalSpecialOffer == true) {
+            selectedIdMap.put(ass.Prod.Id + 'ishos', ass.Prod.Id);
+            skipData.put(ass.Prod.Id + 'ishos', ass.Prod.Id);
+          } else {
+            selectedIdMap.put(ass.Prod.Id + 'nothos', ass.Prod.Id);
+            skipData.put(ass.Prod.Id + 'nothos', ass.Prod.Id);
+          }
+          reSetLwc.add(ass);
         }
-        if (isHos > 0) {
-            coc.OutPattern__c = true;
-        } else {
-            coc.OutPattern__c = false;
-        }
+      }
     }
-
-    //鎵撳嵃PDF
-    @AuraEnabled
-    public static ResponseBodyLWC PraseToPDF(Consumable_order__c cocLwc, String ESetId) {
-        System.debug('cocLwc = ' + cocLwc);
-        System.debug('ESetId = ' + ESetId);
-        coc = cocLwc;
-        ResponseBodyLWC res = new ResponseBodyLWC();
-        Map<String, object> data = new Map<String, object>();
-        res.entity = data;
-
-        if (coc.SummonsStatus_c__c == '鎵瑰噯') {
-            Consumable_order__c P = new Consumable_order__c();
-            List<Consumable_order__c> cocinfo = new List<Consumable_order__c>();
-            // update start by vivek 2019-7-15 add 鈥淣oConfirmedPrice__c鈥� in select
-            cocinfo = [
-                SELECT
-                    Id,
-                    Name,
-                    SummonsStatus_c__c,
-                    NoConfirmedPrice__c,
-                    Dealer_Info__c,
-                    Order_ForHospital__c,
-                    SummonsForDirction__c,
-                    Billed_Status__c
-                FROM Consumable_order__c
-                WHERE Id = :ESetId
-            ];
-            // update end by vivek 2019-7-15
-            if (cocinfo.size() > 0) {
-                p = cocinfo[0];
-            }
-            p.SummonsStatus_c__c = '鍑哄簱鍗曞凡鎵撳嵃';
-            update p;
-        }
-        data.put('ESetId', ESetId);
-        res.status = 'Success';
-        res.code = 200;
-        System.debug('res = ' + res);
-        return res;
+    System.debug('selectedIdMap = ' + selectedIdMap);
+    pageRecords = new List<ConsumableorderdetailsInfo>();
+    if (editAble && String.isBlank(arriveorder)) {
+      List<ConsumableorderdetailsInfo> reSet = new List<ConsumableorderdetailsInfo>();
+      System.debug('reSetLwc = ' + reSetLwc);
+      for (ConsumableorderdetailsInfoLwc assLwc : reSetLwc) {
+        ConsumableorderdetailsInfo ci = new ConsumableorderdetailsInfo();
+        ci.check = assLwc.check;
+        ci.oldCheck = assLwc.oldCheck;
+        ci.orderdetails1 = assLwc.orderdetails1;
+        ci.orderdetails2 = assLwc.orderdetails2;
+        ci.Prod = assLwc.Prod;
+        ci.Boxnumber = assLwc.Boxnumber;
+        ci.Piecenumber = assLwc.Piecenumber;
+        ci.allnumber = assLwc.allnumber;
+        ci.oldConsumableCount = assLwc.oldConsumableCount;
+        ci.canSelect = assLwc.canSelect;
+        ci.sortBy = assLwc.sortBy;
+        ci.packinglist = assLwc.packinglist;
+        ci.approbation_No = assLwc.approbation_No;
+        ci.expiration_Date = assLwc.expiration_Date;
+        ci.boxorpiecein = assLwc.boxorpiecein;
+        ci.boxorpiece = assLwc.boxorpiece;
+        ci.boxorpieceMap = assLwc.boxorpieceMap;
+        ci.concc = assLwc.concc;
+        ci.BoxPiece = assLwc.BoxPiece;
+        ci.hospitalSpecialOffer = assLwc.hospitalSpecialOffer;
+        ci.hosPro = assLwc.hosPro;
+        reSet.add(ci);
+      }
+      pageRecords = reSet;
+      System.debug('reSet = ' + reSet);
+      addData = reSet.clone();
+      System.debug('addData = reSet = ' + addData);
     }
-
-    //鏌ユ壘缁忛攢鍟�
-    @AuraEnabled(cacheable=true scope='global')
-    public static List<LookupSearchResult> search(String searchTerm) {
-        System.debug('searchTerm = ' + searchTerm);
-        String nameCondition = '';
-        nameCondition += '%' + String.escapeSingleQuotes(searchTerm.replaceAll('%', '\\%')) + '%';
-        List<Account> accs = new List<Account>();
-        System.debug('nameCondition = ' + nameCondition);
-        //鏌ヨ鏉′欢淇敼
-        //绛涢�夊垽鏂潯浠讹細褰撳墠璐㈠勾鐨�4/1 ~ 绗簩骞寸殑6/30 聽& ET or ENG绫诲瀷 & 褰撳墠鐢ㄦ埛绫诲瀷
-        //1 and 2
-        //1. Integer year 2022/4/1 ~ 2023/6/30
-        //寮�濮嬫棩鏈� + 缁撴潫鏃ユ湡
-        //Contract_Decide_Start_Date__c>=寮�濮嬫棩鏈�  and Contract_Decide_End_Date__c<缁撴潫鏃ユ湡
-        //2. 娣诲姞缁忛攢鍟嗗厑閿�绫诲瀷锛欵T缁忛攢鍟嗗崗璁紱ENG鑰楁潗缁忛攢鍟嗗崗璁�
-        //鍙栧綋鍓嶇敤鎴风殑绫诲瀷锛屽鏋滅敤鎴风被鍨嬫槸ET,ET缁忛攢鍟嗗崗璁� = true
-        // Date today = Date.today();
-        // Integer thisYear = today.year();
-        // Integer nextYear = today.year() + 1;
-        // Date thisDatetime = Date.newInstance(thisYear, 4, 1);
-        // Date nextDatetime = Date.newInstance(nextYear, 6, 30);
-        // System.debug('thisDatetime = ' + thisDatetime);
-        // System.debug('nextDatetime = ' + nextDatetime);
-
-        // User UserProTypecTemp = [select UserPro_Type__c from User where id =: UserInfo.getUserId()];
-        // System.debug('UserInfo.getUserId() = ' + UserInfo.getUserId());
-        // System.debug('UserProTypecTemp = ' + UserProTypecTemp);
-        // System.debug('UserProTypecTemp.UserPro_Type__c = ' + UserProTypecTemp.UserPro_Type__c);
-        // if (UserProTypecTemp.UserPro_Type__c == 'ENG') {
-        //     accs = [
-        //         SELECT Id, Name, Department_Class__c, Department_Class__r.Name, Hospital__c, Hospital__r.Name, BillingCity
-        //         FROM Account
-        //         WHERE
-        //             // Name = '濂ユ灄宸存柉锛堝寳浜級閿�鍞湇鍔℃湁闄愬叕鍙�'
-        //             // AND 
-        //             Name LIKE :nameCondition
-        //             AND RecordType.DeveloperName = 'AgencyContract'
-        //             AND Contract_Decide_Start_Date__c >= :thisDatetime
-        //             AND Contract_Decide_End_Date__c <= :nextDatetime
-        //             AND ENG_Dealer__c = true
-        //         ORDER BY Name
-        //         LIMIT 49
-        //     ];
-        // }
-        // if (UserProTypecTemp.UserPro_Type__c == 'ET') {
-        //     accs = [
-        //         SELECT Id, Name, Department_Class__c, Department_Class__r.Name, Hospital__c, Hospital__r.Name, BillingCity
-        //         FROM Account
-        //         WHERE
-        //             // Name = '濂ユ灄宸存柉锛堝寳浜級閿�鍞湇鍔℃湁闄愬叕鍙�'
-        //             // AND 
-        //             Name LIKE :nameCondition
-        //             AND RecordType.DeveloperName = 'AgencyContract'
-        //             AND Contract_Decide_Start_Date__c >= :thisDatetime
-        //             AND Contract_Decide_End_Date__c <= :nextDatetime
-        //             AND ET_SP_Dealer__c = true
-        //         ORDER BY Name
-        //         LIMIT 49
-        //     ];
-        // }
-
-
-        Date today = Date.today();
-        //Date today = Date.newInstance(2023, 3, 1);
-        Integer thisMonth = today.month();
-        System.debug('thisMonth = ' + thisMonth);
-
-        Integer lastYear = today.year() - 1;
-        Integer thisYear = today.year();
-        Integer nextYear = today.year() + 1;
-        
-        Date lastDatetime = Date.newInstance(lastYear, 4, 1);
-        Date thisDatetime = Date.newInstance(thisYear, 4, 1);
-        Date thisDatetime2 = Date.newInstance(thisYear, 7, 1);
-        Date nextDatetime = Date.newInstance(nextYear, 7, 1);
-        System.debug('lastDatetime = ' + lastDatetime);
-        System.debug('thisDatetime = ' + thisDatetime);
-        System.debug('thisDatetime2 = ' + thisDatetime2);
-        System.debug('nextDatetime = ' + nextDatetime);
-        System.debug('UserInfo.getUserId() = ' + UserInfo.getUserId());
-        User UserProTypecTemp = [select UserPro_Type__c from User where id =: UserInfo.getUserId()];
-
-        String sql = 'SELECT id, Parentid FROM Account WHERE Parent.Name LIKE :nameCondition ';
-        if(thisMonth < 4){
-            sql += 'AND Contract_Decide_Start_Date__c >= :lastDatetime AND Contract_Decide_End_Date__c < :thisDatetime2 ';
-        }else if(thisMonth >= 4 && thisMonth <= 6){
-            sql += 'AND Contract_Decide_Start_Date__c >= :lastDatetime AND Contract_Decide_End_Date__c < :nextDatetime ';
-        }else{
-            sql += 'AND Contract_Decide_Start_Date__c >= :thisDatetime AND Contract_Decide_End_Date__c < :nextDatetime ';
-        }
-        if (UserProTypecTemp.UserPro_Type__c == 'ENG') {
-            sql += 'AND ENG_Dealer__c = true';
-        }
-        if (UserProTypecTemp.UserPro_Type__c == 'ET') {
-            sql += 'AND ET_SP_Dealer__c = true';
-        }
-        System.debug('sql = ' + sql);
-        accs = Database.query(sql);
-        // 鐢ㄤ簬淇濆瓨鐗圭害缁忛攢鍟嗗尮閰嶅埌鐨勫叾鐖剁被鐨刬d
-        Set<String> pids = new Set<String>();
-        for (Account acc : accs) {
-            pids.add(acc.Parentid);
-        }
-
-        accs = [
-            SELECT Id, Name, Department_Class__c, Department_Class__r.Name, Hospital__c, Hospital__r.Name, BillingCity
-            FROM Account
-            WHERE
-                (Id IN :pids
-                OR (Name = '濂ユ灄宸存柉锛堝寳浜級閿�鍞湇鍔℃湁闄愬叕鍙�'
-                AND Name LIKE :nameCondition))
-                AND RecordType.DeveloperName = 'Agency'
-            ORDER BY Name
-            LIMIT 49
-        ];
-
-        // accs = [
-        //     SELECT id, Parentid
-        //     FROM Account
-        //     WHERE
-        //         Parent.Name LIKE :nameCondition
-        //         AND Contract_Decide_Start_Date__c <= :Date.Today()
-        //         AND Contract_Decide_End_Date__c >= :Date.Today()
-        // ];
-
-        // 鐢ㄤ簬淇濆瓨鐗圭害缁忛攢鍟嗗尮閰嶅埌鐨勫叾鐖剁被鐨刬d
-        // Set<String> pids = new Set<String>();
-        // for (Account acc : accs) {
-        //     pids.add(acc.Parentid);
-        // }
-        // accs = [
-        //     SELECT Id, Name, Department_Class__c, Department_Class__r.Name, Hospital__c, Hospital__r.Name, BillingCity
-        //     FROM Account
-        //     WHERE
-        //         (Id IN :pids
-        //         OR (Name = '濂ユ灄宸存柉锛堝寳浜級閿�鍞湇鍔℃湁闄愬叕鍙�'
-        //         AND Name LIKE :nameCondition))
-        //         AND RecordType.DeveloperName = 'Agency'
-        //         AND Is_Active__c != '鐒″姽'
-        //     ORDER BY Name
-        //     LIMIT 5
-        // ];
-        System.debug('accs = ' + accs);
-        List<LookupSearchResult> results = new List<LookupSearchResult>();
-        String accountIcon = 'standard:account';
-        for (Account account : accs) {
-            String subtitle = account.BillingCity == null ? 'Account' : 'Account 鈥� ' + account.BillingCity;
-            results.add(new LookupSearchResult(account.Id, 'Account', accountIcon, account.Name, subtitle));
-        }
-        results.sort();
-        System.debug('results = ' + results);
-        return results;
-    }
-
-    //淇濆瓨闄勪欢
-    @AuraEnabled
-    public static String saveFile(Id recordId, String fileName, String base64Data) {
-        base64Data = EncodingUtil.urlDecode(base64Data, 'UTF-8');
-        ContentVersion cv = new ContentVersion();
-        cv.Title = fileName;
-        cv.PathOnClient = '/' + fileName;
-        cv.FirstPublishLocationId = recordId;
-        cv.VersionData = EncodingUtil.base64Decode(base64Data);
-        cv.IsMajorVersion = true;
-        insert cv;
-        return cv.Id;
-    }
-
-    //鑾峰彇闄勪欢
-    @AuraEnabled
-    public static ResponseBodyLWC getFiles(Id recordId) {
-        System.debug('getFiles recordId = ' + recordId);
-        ResponseBodyLWC res = new ResponseBodyLWC();
-        Map<String, object> data = new Map<String, object>();
-        res.entity = data;
-        List<ContentVersion> cvList = [
-            SELECT id, Title, CreatedBy.Name, PathOnClient, CreatedDate, ContentDocumentId
-            FROM ContentVersion
-            WHERE FirstPublishLocationId = :recordId
-        ];
-        data.put('cvList', cvList);
-        res.status = 'Success';
-        res.code = 200;
-        System.debug('res = ' + res);
-        return res;
-    }
-
-    //鍒犻櫎闄勪欢
-    @AuraEnabled
-    public static ResponseBodyLWC deleteAtt(String contentVersionId){
-        try {
-            ContentVersion conVersion = [SELECT ContentDocumentId FROM ContentVersion WHERE Id = :contentVersionId];
-            String contentDocumentId = conVersion.ContentDocumentId;
-            ContentDocument conDocument =  [SELECT Id FROM ContentDocument where Id = :contentDocumentId];
-            delete conDocument;
-            return new ResponseBodyLWC('Success',200,'','');
-        } catch (Exception e) {
-            return new ResponseBodyLWC('Error',500, e.getMessage() + e.getLineNumber(), '');
-        }
-    }
-
-    //璺宠浆鍑鸿揣/閿�鍞�
-    @AuraEnabled
-    public static ResponseBodyLWC GoodsDelivery(
-        Consumable_order__c cocLwc,
-        String ESetId,
-        List<ConsumableorderdetailsInfoLwc> pageRecordsLwcLwc
+    //Integer pagestartNo = (setCon.getPageNumber() * size)-size;
+    //Integer pageendNo = (setCon.getPageNumber() * size)>noOfRecords ? noOfRecords :(setCon.getPageNumber() * size-1);
+    Integer addNo = 0;
+    //update by rentx 2021-2-26 start
+    System.debug(
+      'consumableorderdetailsSelectRecords.size() = ' +
+      consumableorderdetailsSelectRecords.size()
+    );
+    for (
+      ConsumableorderdetailsInfo info : consumableorderdetailsSelectRecords
     ) {
-        ResponseBodyLWC res = new ResponseBodyLWC();
-        Map<String, object> data = new Map<String, object>();
-        res.entity = data;
-        coc = cocLwc;
-        ESetId = ESetId;
-        pageRecordsLwc = pageRecordsLwcLwc;
-        if (coc.SummonsForDirction__c == '浜掔浉璋冭揣') {
-            List<Account> accList = [
-                SELECT Id
-                FROM Account
-                WHERE Name = :coc.Order_ForDealerText__c AND RecordType.DeveloperName = 'Agency'
-            ];
-            if (accList.size() < 1) {
-                // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '璇疯緭鍏ヤ簩绾х粡閿�鍟嗗叏绉帮紒'));
-                // return null;
-                return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ヤ簩绾х粡閿�鍟嗗叏绉帮紒', '');
-            }
+      Consumable_Orderdetails__c orderdetails1 = new Consumable_Orderdetails__c();
+      if (
+        (info.hospitalSpecialOffer &&
+        selectedIdMap.containsKey(info.Prod.Id + 'ishos')) ||
+        (info.hospitalSpecialOffer == false &&
+        selectedIdMap.containsKey(info.Prod.Id + 'nothos'))
+      ) {
+        System.debug('鍘绘帀鐨刬d : ' + info.Prod.Id);
+        addNo++;
+        addSize++;
+      } else {
+        if (info.check == false) {
+          info.orderdetails1 = orderdetails1;
         }
-        if (coc.SummonsStatus_c__c == '鎵瑰噯') {
-            // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '璇峰厛鎵撳嵃鎸囩ず鍗曪紒'));
-            // return null;
-            return new ResponseBodyLWC('Error', 500, '璇峰厛鎵撳嵃鎸囩ず鍗曪紒', '');
+        pageRecords.add(info);
+        addNo++;
+      }
+    }
+    System.debug('pageRecords.size() = ' + pageRecords.size());
+    System.debug('end  addData = ' + addData);
+    return pageRecords;
+  }
+
+  // 淇濆瓨鎸夐挳
+  @AuraEnabled
+  public static ResponseBodyLWC save(
+    Consumable_order__c cocLwc,
+    String hospitalInfoLwc,
+    String hospitalNameLwc,
+    String secondaryDistributorLwc,
+    List<ConsumableorderdetailsInfoLwc> pageRecordsLwc,
+    String accountidLwc,
+    String ESetIdLwc,
+    List<ConsumableorderdetailsInfo> consumableproductdetailsRecordsLwc,
+    String agencyProTypeLwc,
+    String userWorkLocationLwc
+  ) {
+    coc = cocLwc;
+    HospitalInfo = hospitalInfoLwc;
+    HospitalName = hospitalNameLwc;
+    SecondDealer = secondaryDistributorLwc;
+    pageRecordsLwc = pageRecordsLwc;
+    accountid = accountidLwc;
+    consumableproductdetailsRecords = consumableproductdetailsRecordsLwc;
+    ESetId = ESetIdLwc;
+    agencyProType = agencyProTypeLwc;
+    userWorkLocation = userWorkLocationLwc;
+
+    System.debug('coc = ' + coc);
+    System.debug('HospitalInfo = ' + HospitalInfo);
+    System.debug('HospitalName = ' + HospitalName);
+    System.debug('SecondDealer = ' + SecondDealer);
+    System.debug('pageRecordsLwc = ' + pageRecordsLwc);
+    System.debug('accountid = ' + accountid);
+    System.debug(
+      'consumableproductdetailsRecords = ' + consumableproductdetailsRecords
+    );
+    System.debug('ESetId = ' + ESetId);
+    ResponseBodyLWC res = new ResponseBodyLWC();
+    Map<String, object> data = new Map<String, object>();
+    res.entity = data;
+    //璁㈠崟淇℃伅纭
+    if (coc.SummonsForDirction__c == '' || coc.SummonsForDirction__c == null) {
+      // coc.SummonsForDirction__c.addError('璇疯緭鍏ユ寚绀哄崟鐩殑');
+      // return null;
+      return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ユ寚绀哄崟鐩殑', '');
+    } else if (coc.SummonsForDirction__c == '鐩存帴閿�鍞粰鍖婚櫌') {
+      if (String.isBlank(HospitalInfo) || String.isBlank(HospitalName)) {
+        // coc.addError('璇疯緭鍏ュ尰闄�');
+        // return null;
+        return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ュ尰闄�', '');
+      }
+      if (String.isBlank(coc.Order_ForCustomerText__c)) {
+        // coc.Order_ForCustomerText__c.addError('璇疯緭鍏ョ瀹�');
+        // return null;
+        return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ョ瀹�', '');
+      } else if (
+        String.isNotBlank(SecondDealer) ||
+        String.isNotBlank(coc.Order_ForDealerText__c)
+      ) {
+        // coc.addError('涓嶉渶瑕佷簩绾х粡閿�鍟嗗拰缁忛攢鍟�(褰曞叆)淇℃伅' );
+        // return null;
+        return new ResponseBodyLWC(
+          'Error',
+          500,
+          '涓嶉渶瑕佷簩绾х粡閿�鍟嗗拰缁忛攢鍟�(褰曞叆)淇℃伅',
+          ''
+        );
+      }
+    } else if (coc.SummonsForDirction__c == '鍖婚櫌璇曠敤') {
+      if (String.isBlank(HospitalInfo) || String.isBlank(HospitalName)) {
+        // coc.addError('璇疯緭鍏ュ尰闄�');
+        // return null;
+        return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ュ尰闄�', '');
+      }
+      if (String.isBlank(coc.Order_ForCustomerText__c)) {
+        // coc.Order_ForCustomerText__c.addError('璇疯緭鍏ョ瀹�');
+        // return null;
+        return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ョ瀹�', '');
+      }
+    } else if (coc.SummonsForDirction__c == '閿�鍞粰浜岀骇缁忛攢鍟�') {
+      if (
+        String.isBlank(SecondDealer) &&
+        String.isBlank(coc.Order_ForDealerText__c)
+      ) {
+        // coc.addError('蹇呴』杈撳叆浜岀骇缁忛攢鍟嗘垨缁忛攢鍟�(褰曞叆)');
+        // return null;
+        return new ResponseBodyLWC(
+          'Error',
+          500,
+          '蹇呴』杈撳叆浜岀骇缁忛攢鍟嗘垨缁忛攢鍟�(褰曞叆)',
+          ''
+        );
+      }
+      if (String.isBlank(HospitalInfo) || String.isBlank(HospitalName)) {
+        // coc.addError('璇疯緭鍏ュ尰闄�');
+        // return null;
+        return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ュ尰闄�', '');
+      }
+      if (String.isBlank(coc.Order_ForCustomerText__c)) {
+        // coc.Order_ForCustomerText__c.addError('璇疯緭鍏ョ瀹�');
+        // return null;
+        return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ョ瀹�', '');
+      }
+    } else if (coc.SummonsForDirction__c == '浜掔浉璋冭揣') {
+      if (String.isNotBlank(HospitalInfo) || String.isNotBlank(HospitalName)) {
+        // coc.addError('涓嶉渶瑕佽緭鍏ュ尰闄�');
+        // return null;
+        return new ResponseBodyLWC('Error', 500, '涓嶉渶瑕佽緭鍏ュ尰闄�', '');
+      }
+      if (String.isNotBlank(coc.Order_ForCustomerText__c)) {
+        // coc.Order_ForCustomerText__c.addError('涓嶉渶瑕佽緭鍏ョ瀹�');
+        // return null;
+        return new ResponseBodyLWC('Error', 500, '涓嶉渶瑕佽緭鍏ョ瀹�', '');
+      }
+      if (
+        String.isBlank(SecondDealer) &&
+        String.isBlank(coc.Order_ForDealerText__c)
+      ) {
+        // coc.addError('蹇呴』杈撳叆浜岀骇缁忛攢鍟嗘垨缁忛攢鍟�(褰曞叆)');
+        // return null;
+        return new ResponseBodyLWC(
+          'Error',
+          500,
+          '蹇呴』杈撳叆浜岀骇缁忛攢鍟嗘垨缁忛攢鍟�(褰曞叆)',
+          ''
+        );
+      }
+    }
+
+    Integer isHos = 0;
+
+    Integer FLG = 0;
+    Integer Count = 0;
+    for (ConsumableorderdetailsInfoLwc CheckCount : pageRecordsLwc) {
+      FLG = FLG + 1;
+      if (CheckCount.check == false) {
+        Count = Count + 1;
+      } else {
+        //add by rentx
+        if (CheckCount.hospitalSpecialOffer) {
+          isHos = isHos + 1;
+        }
+        //add by rentx
+      }
+    }
+    if (Count == FLG) {
+      // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '璇烽�夋嫨鎵�闇�娑堣�楀搧'));
+      // return null;
+      return new ResponseBodyLWC('Error', 500, '璇烽�夋嫨鎵�闇�娑堣�楀搧', '');
+    }
+    // gzw 娉ㄩ噴 鍒ゆ柇鎻愬墠 20210308
+    //checkOutPattern();
+    //鏍规嵁鐢ㄦ埛閫変腑鐨勪骇鍝佺粰 鍑哄簱鍗曚笂鐨勬槸鍚﹀尰闄㈢壒浠峰嚭搴撳瓧娈佃祴鍊�
+    Integer isHosCheckOutPattern = 0;
+    for (ConsumableorderdetailsInfoLwc CheckCount : pageRecordsLwc) {
+      if (CheckCount.check == true && CheckCount.hospitalSpecialOffer == true) {
+        isHosCheckOutPattern = isHosCheckOutPattern + 1;
+      }
+    }
+    if (isHosCheckOutPattern > 0) {
+      coc.OutPattern__c = true;
+    } else {
+      coc.OutPattern__c = false;
+    }
+
+    // add by rentx 2021-3-10 start
+    //鐗逛环鍖婚櫌鍑哄簱闈炴湰鍖婚櫌缁存姢鐨勭壒浠峰晢鍝佹椂,鎶ラ敊 闈炵壒浠峰尰闄㈠嚭搴撶淮鎶ゅ湪鍖婚櫌鐗逛环鍏崇郴琛ㄧ殑浜у搧鏃� 鎶ラ敊
+    if (coc.SummonsForDirction__c != '浜掔浉璋冭揣') {
+      //闈炵壒浠峰尰闄㈠嚭搴撶壒浠蜂骇鍝佹椂 鎶ラ敊(褰撳墠缁忛攢鍟嗕笅娌℃湁鐗逛环鍖婚櫌闄ゅ)
+      List<hospitalprice__c> hopList = [
+        SELECT id, hospital__c, product__c
+        FROM hospitalprice__c
+        WHERE account__c = :accountid
+      ];
+      //缁忛攢鍟嗗搴斿尰闄笅鐨勬墍鏈夌壒浠蜂骇鍝�
+      Map<String, String> proMap = new Map<String, String>();
+      //缁忛攢鍟嗕笅鐨勬墍鏈夌壒浠蜂骇鍝�
+      Map<String, String> allProMap = new Map<String, String>();
+
+      if (hopList != null && hopList.size() > 0) {
+        Boolean flag = false;
+        if (HospitalInfo != null && HospitalInfo != '') {
+          for (hospitalprice__c hp : hopList) {
+            allProMap.put(hp.product__c, '');
+            //濡傛灉褰撳墠 鍖婚櫌鐗逛环鍏崇郴涓殑鍖婚櫌瀵瑰簲鍑哄簱鍗曚笂鍑哄簱鐨勫尰闄�,鍒欐斁浜у搧id鍒癿ap
+            if (hp.hospital__c == HospitalInfo) {
+              flag = true;
+              proMap.put(hp.product__c, '');
+            }
+          }
         }
         for (ConsumableorderdetailsInfoLwc ass : pageRecordsLwc) {
-            if (ass.orderdetails1.Shipment_Count__c > ass.allnumber) {
-                // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '娑堣�楀搧'+ ass.orderdetails1.Consumable_Product__r.Name__c + '搴撳瓨涓嶈冻'));
+          if (ass.check == true) {
+            //鍒ゆ柇閫変腑鐨勫尰闄㈢壒浠蜂骇鍝�
+            if (ass.hospitalSpecialOffer == true) {
+              //鐢ㄦ埛閫変腑浜嗗綋鍓嶅尰闄笅鐨勭壒浠蜂骇鍝�
+              if (proMap.containsKey(ass.Prod.Id)) {
+                continue;
+                //鐢ㄦ埛閫変腑浜嗘病鏈夌淮鎶ょ壒浠峰尰闄㈢殑鐗逛环浜у搧
+              } else if (!allProMap.containsKey(ass.Prod.Id)) {
+                continue;
+              } else {
+                //鐢ㄦ埛閫変腑闈炲綋鍓嶅尰闄㈢淮鎶ょ殑鐗逛环浜у搧
+                // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '褰撳墠鍖婚櫌娌℃湁缁存姢 娑堣�楀搧:'+ ass.Prod.Name__c +' 鐨勭壒浠�'));
                 // return null;
-                return new ResponseBodyLWC('Error', 500, '娑堣�楀搧' + ass.orderdetails1.Consumable_Product__r.Name__c + '搴撳瓨涓嶈冻', '');
-            }
+                return new ResponseBodyLWC(
+                  'Error',
+                  500,
+                  '褰撳墠鍖婚櫌娌℃湁缁存姢 娑堣�楀搧:' + ass.Prod.Name__c + '鐨勭壒浠�',
+                  ''
+                );
+              }
+            } //闈炲尰闄㈢壒浠蜂骇鍝佸彲浠ュ嚭搴撶粰浠绘剰鍖婚櫌,鎵�浠ヤ笉闇�瑕佸垽鏂�
+          }
         }
-        data.put('ESetid', ESetid);
-        res.status = 'Success';
-        res.code = 200;
-        System.debug('res = ' + res);
-        return res;
+      }
+    } else {
+      //濡傛灉鏄簰鐩歌皟璐�,鍒ゆ柇 缁忛攢鍟�(褰曞叆) 鏄惁缁存姢浜� 褰撳墠閫変腑鐨勭壒浠蜂骇鍝�
+      List<hospitalprice__c> hopList = [
+        SELECT id, hospital__c, product__c
+        FROM hospitalprice__c
+        WHERE account__c = :coc.Order_ForDealerTextID__c
+      ];
+      Map<Id, String> proMap = new Map<Id, String>();
+      if (hopList != null && hopList.size() > 0) {
+        for (hospitalprice__c hpc : hopList) {
+          proMap.put(hpc.product__c, '');
+        }
+
+        String proStr = '';
+        for (ConsumableorderdetailsInfoLwc ass : pageRecordsLwc) {
+          if (ass.check == true) {
+            if (ass.hospitalSpecialOffer == true) {
+              if (!proMap.containsKey(ass.Prod.Id)) {
+                proStr += ass.Prod.Name__c + ',';
+              }
+            }
+          }
+        }
+        if (proStr != '') {
+          // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '缁忛攢鍟�:'+coc.Order_ForDealerText__c +' 娌℃湁娑堣�楀搧:'+proStr.substring(0,proStr.length()-1) + ' 鐨勭壒浠�'));
+          // return null;
+          return new ResponseBodyLWC(
+            'Error',
+            500,
+            '缁忛攢鍟�:' +
+              coc.Order_ForDealerText__c +
+              ' 娌℃湁娑堣�楀搧:' +
+              proStr.substring(0, proStr.length() - 1) +
+              ' 鐨勭壒浠�',
+            ''
+          );
+        }
+      }
     }
 
-    //鍒犻櫎鎸夐挳
+    // checkOutPattern();
+    Consumable_order__c p = new Consumable_order__c();
+    List<Consumable_orderdetails__c> Ins = new List<Consumable_orderdetails__c>();
+    List<Consumable_order_details2__c> InsProduct = new List<Consumable_order_details2__c>();
+    Savepoint sp = Database.setSavepoint();
+    // try {
+    //鏂板缓璁㈠崟鏃�
+    if (String.isEmpty(ESetId)) {
+      p.Name = '*';
+      p.Order_type__c = '浼犵エ';
+      p.Order_ProType__c = agencyProType;
+      if (
+        coc.SummonsStatus_c__c == null || String.isBlank(coc.SummonsStatus_c__c)
+      )
+        coc.SummonsStatus_c__c = '鑽夋涓�';
+      // update strat by vivek 2019-7-12
+      p.NoConfirmedPrice__c = coc.NoConfirmedPrice__c;
+      // update end by vivek 2019-7-12
+      p.SummonsStatus_c__c = coc.SummonsStatus_c__c;
+      if (coc.Arrive_Order__c != null) {
+        p.Arrive_Order__c = coc.Arrive_Order__c;
+      }
+      p.Offers_Price__c = coc.Offers_Price__c;
+      p.Dealer_Info__c = accountid;
+      if (String.isBlank(SecondDealer)) {
+        p.Order_ForHospital__c = String.isNotBlank(HospitalInfo)
+          ? HospitalInfo
+          : null;
+        p.Order_ForCustomerText__c = coc.Order_ForCustomerText__c;
+      } else {
+        p.Order_ForHospital__c = String.isNotBlank(HospitalInfo)
+          ? HospitalInfo
+          : null;
+        p.Order_ForCustomerText__c = coc.Order_ForCustomerText__c;
+        p.Order_ForDealer__c = SecondDealer;
+      }
+      P.Order_ForDealerText__c = coc.Order_ForDealerText__c;
+      P.Order_ForDealerTextID__c = coc.Order_ForDealerTextID__c;
+      p.Order_date__c = coc.Order_date__c;
+      p.SummonsForDirction__c = coc.SummonsForDirction__c;
+      p.RecordTypeid = System.Label.RT_ConOrder_Outboundorder;
+      // update start by vivek 2019-7-15
+      p.NoConfirmedPrice__c = coc.NoConfirmedPrice__c;
+      // update end by vivek 2019-7-15
+      //add by rentx
+      p.OutPattern__c = coc.OutPattern__c;
+      //add by rentx
+      //Map<String,String> ProductNewMap = new Map<String, String>();
+      for (ConsumableorderdetailsInfoLwc ass : pageRecordsLwc) {
+        if (ass.check == true) {
+          if (ass.orderdetails1.Delivery_List_RMB__c < 0) {
+            return new ResponseBodyLWC(
+              'Error',
+              500,
+              '璇疯緭鍏ユ纭殑鍑鸿揣鍗曚环 (鍏�)',
+              ''
+            );
+          }
+          if (
+            ass.orderdetails1.Delivery_List_RMB__c == null &&
+            coc.SummonsForDirction__c != '鍖婚櫌璇曠敤'
+          ) {
+            return new ResponseBodyLWC(
+              'Error',
+              500,
+              '璇疯緭鍏ユ纭殑鍑鸿揣鍗曚环 (鍏�)',
+              ''
+            );
+          }
+          if (
+            (ass.orderdetails1.Delivery_List_RMB__c == null ||
+            ass.orderdetails1.Delivery_List_RMB__c == 0) &&
+            coc.SummonsForDirction__c != '鍖婚櫌璇曠敤'
+          ) {
+            return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ュ嚭璐у崟浠� (鍏�)', '');
+          }
+          if (
+            ass.orderdetails1.Delivery_List_RMB__c == 0 &&
+            (coc.SummonsForDirction__c == '閿�鍞粰浜岀骇缁忛攢鍟�' ||
+            coc.SummonsForDirction__c == '鐩存帴閿�鍞粰鍖婚櫌')
+          ) {
+            return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ュ嚭璐у崟浠� (鍏�)', '');
+          }
+          if (
+            ass.orderdetails1.Shipment_Count__c == null ||
+            ass.orderdetails1.Shipment_Count__c == 0
+          ) {
+            // ass.orderdetails1.Shipment_Count__c.addError('璇疯緭鍏ュ嚭璐ф暟閲�');
+            // return null;
+            return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ュ嚭璐ф暟閲�', '');
+          }
+
+          if (
+            ass.orderdetails1.Box_Piece__c == null ||
+            ass.orderdetails1.Box_Piece__c == ''
+          ) {
+            // ass.orderdetails1.Box_Piece__c.addError('璇疯緭鍏ュ崟浣�');
+            // return null;
+            return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ュ崟浣�', '');
+          }
+          if (ass.orderdetails1.Box_Piece__c == '鐩�') {
+            if (ass.orderdetails1.Shipment_Count__c > ass.Boxnumber) {
+              //ass.orderdetails1.Shipment_Count__c.addError('搴撳瓨涓嶈冻');
+              if (ass.oldCheck == false) {
+                // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '娑堣�楀搧'+ ass.Prod.Name__c + '搴撳瓨涓嶈冻'));
+                return new ResponseBodyLWC(
+                  'Error',
+                  500,
+                  '娑堣�楀搧' + ass.Prod.Name__c + '搴撳瓨涓嶈冻',
+                  ''
+                );
+              } else {
+                // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '娑堣�楀搧'+ ass.orderdetails1.Consumable_Product__r.Name__c + '搴撳瓨涓嶈冻'));
+                return new ResponseBodyLWC(
+                  'Error',
+                  500,
+                  '娑堣�楀搧' +
+                    ass.orderdetails1.Consumable_Product__r.Name__c +
+                    '搴撳瓨涓嶈冻',
+                  ''
+                );
+              }
+            }
+          } else if (ass.orderdetails1.Box_Piece__c == '涓�') {
+            if (ass.orderdetails1.Shipment_Count__c > ass.Piecenumber) {
+              //ass.orderdetails1.Shipment_Count__c.addError('搴撳瓨涓嶈冻');
+              if (ass.oldCheck == false) {
+                // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '娑堣�楀搧'+ ass.Prod.Name__c + '搴撳瓨涓嶈冻'));
+                return new ResponseBodyLWC(
+                  'Error',
+                  500,
+                  '娑堣�楀搧' + ass.Prod.Name__c + '搴撳瓨涓嶈冻',
+                  ''
+                );
+              } else {
+                // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '娑堣�楀搧'+ ass.orderdetails1.Consumable_Product__r.Name__c + '搴撳瓨涓嶈冻'));
+                return new ResponseBodyLWC(
+                  'Error',
+                  500,
+                  '娑堣�楀搧' +
+                    ass.orderdetails1.Consumable_Product__r.Name__c +
+                    '搴撳瓨涓嶈冻',
+                  ''
+                );
+              }
+            }
+          }
+        }
+      }
+      insert p;
+      ESetId = p.id;
+      List<Consumable_order__c> detailName = new List<Consumable_order__c>();
+      detailName = [
+        SELECT id, Name
+        FROM Consumable_order__c
+        WHERE id = :ESetId
+      ];
+      Integer i = 1;
+      for (ConsumableorderdetailsInfoLwc ass : pageRecordsLwc) {
+        if (ass.check == true) {
+          Consumable_orderdetails__c InsAfterDel = new Consumable_orderdetails__c();
+          String str = string.valueOf(i);
+          if (str.length() == 1) {
+            str = '0' + str;
+          }
+          InsAfterDel.Name = detailName[0].name + '-' + str;
+          InsAfterDel.Shipment_Count__c = ass.orderdetails1.Shipment_Count__c;
+          InsAfterDel.Consumable_order__c = p.id;
+          InsAfterDel.Consumable_Product__c = ass.Prod.id;
+          InsAfterDel.Intra_Trade_List_RMB__c = ass.Prod.Intra_Trade_List_RMB__c;
+          InsAfterDel.Delivery_List_RMB__c = ass.orderdetails1.Delivery_List_RMB__c;
+          // TODO 榛樿 鐩� 锛岄渶瑕佷慨姝�
+          InsAfterDel.Box_Piece__c = ass.orderdetails1.Box_Piece__c;
+          InsAfterDel.Out_unit__c = ass.orderdetails1.Box_Piece__c;
+          //InsAfterDel.Unitprice_To_agency__c = ass.orderdetails1.Unitprice_To_agency__c;
+          InsAfterDel.Dealer_Custom_Price__c = ass.orderdetails1.Dealer_Custom_Price__c;
+          InsAfterDel.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
+          //add by rentx 2021-2-26 start
+          InsAfterDel.isOutPattern__c = ass.hospitalSpecialOffer;
+          //add by rentx 2021-2-26 end
+          i++;
+          Ins.add(InsAfterDel);
+        }
+      }
+      // 濡傛灉 鍑哄簱鍗� 鍜� OCM鍙戣揣Header杩� 鐨勮瘽锛屽彂璐х殑Detail2 Copy鍒� 鍑哄簱鍗曠殑Detail2閲�
+      if (getExistarrive()) {
+        for (ConsumableorderdetailsInfo ass : consumableproductdetailsRecords) {
+          //BlockForP;
+          Consumable_order_details2__c InsProductDet = new Consumable_order_details2__c();
+          InsProductDet.Id = ass.orderdetails2.Id;
+          InsProductDet.Consumable_ZS_order__c = p.id;
+          i++;
+          InsProduct.add(InsProductDet);
+        }
+      }
+      if (Ins.size() > 0) {
+        insert Ins;
+      }
+      if (InsProduct.size() > 0) {
+        //ControllerUtil.updateOrderDetailsSatus(InsProduct);
+        update InsProduct;
+      }
+    } else if (ESetId != null || ESetId.length() > 0) {
+      //淇敼涔嬪悗 淇濆瓨璁㈠崟
+      List<Consumable_order__c> cocinfo = new List<Consumable_order__c>();
+      // update start by vivek 2019-7-15 add "NoConfirmedPrice__c" in select
+      cocinfo = [
+        SELECT
+          Id,
+          Name,
+          SummonsStatus_c__c,
+          NoConfirmedPrice__c,
+          Dealer_Info__c,
+          Order_ForHospital__c,
+          SummonsForDirction__c
+        FROM Consumable_order__c
+        WHERE Id = :ESetId
+      ];
+      // update end by vivek 2019-7-15
+      if (cocinfo.size() > 0) {
+        p = cocinfo[0];
+      }
+      p.Name = coc.Name;
+      p.Dealer_Info__c = accountid;
+      p.Order_ProType__c = agencyProType;
+      if (String.isEmpty(SecondDealer)) {
+        p.Order_ForHospital__c = String.isNotBlank(HospitalInfo)
+          ? HospitalInfo
+          : null;
+        p.Order_ForCustomerText__c = coc.Order_ForCustomerText__c;
+        System.debug('SecondDealer = ' + SecondDealer);
+        p.Order_ForDealer__c = null;
+      } else {
+        p.Order_ForHospital__c = String.isNotBlank(HospitalInfo)
+          ? HospitalInfo
+          : null;
+        p.Order_ForCustomerText__c = coc.Order_ForCustomerText__c;
+        p.Order_ForDealer__c = SecondDealer;
+      }
+      P.Order_ForDealerText__c = coc.Order_ForDealerText__c;
+      P.Order_ForDealerTextID__c = coc.Order_ForDealerTextID__c;
+      p.Order_date__c = coc.Order_date__c;
+      p.SummonsForDirction__c = coc.SummonsForDirction__c;
+      //add by rentx
+      p.OutPattern__c = coc.OutPattern__c;
+      // update start by vivek 2019-7-15
+      if (p.SummonsStatus_c__c == '浠锋牸鏈畾') {
+        p.NoConfirmedPrice__c = false;
+        p.SummonsStatus_c__c = '宸插畬鎴�';
+      } else {
+        p.SummonsStatus_c__c = '鑽夋涓�';
+      }
+      // p.SummonsStatus_c__c = '鑽夋涓�';
+      // update end by vivek 2019-7-15
+      Integer i = 1;
+      //Map<String,String> ProductOldMap = new Map<String, String>();
+      for (ConsumableorderdetailsInfoLwc ass : pageRecordsLwc) {
+        if (ass.check == true) {
+          if (ass.orderdetails1.Delivery_List_RMB__c < 0) {
+            return new ResponseBodyLWC(
+              'Error',
+              500,
+              '璇疯緭鍏ユ纭殑鍑鸿揣鍗曚环 (鍏�)',
+              ''
+            );
+          }
+          Consumable_orderdetails__c InsAfterDel = new Consumable_orderdetails__c();
+          if (
+            (ass.orderdetails1.Delivery_List_RMB__c == null ||
+            ass.orderdetails1.Delivery_List_RMB__c == 0) &&
+            coc.SummonsForDirction__c != '鍖婚櫌璇曠敤'
+          ) {
+            return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ュ嚭璐у崟浠� (鍏�)', '');
+          }
+          if (
+            ass.orderdetails1.Delivery_List_RMB__c == 0 &&
+            (coc.SummonsForDirction__c == '閿�鍞粰浜岀骇缁忛攢鍟�' ||
+            coc.SummonsForDirction__c == '鐩存帴閿�鍞粰鍖婚櫌')
+          ) {
+            return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ュ嚭璐у崟浠� (鍏�)', '');
+          }
+          if (
+            ass.orderdetails1.Box_Piece__c == null ||
+            ass.orderdetails1.Box_Piece__c == ''
+          ) {
+            // ass.orderdetails1.Box_Piece__c.addError('璇疯緭鍏ュ崟浣�');
+            // return null;
+            return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ュ崟浣�', '');
+          }
+          if (ass.orderdetails1.Box_Piece__c == '鐩�') {
+            if (ass.orderdetails1.Shipment_Count__c > ass.Boxnumber) {
+              //ass.orderdetails1.Shipment_Count__c.addError('搴撳瓨涓嶈冻');
+              if (ass.oldCheck == false) {
+                // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '娑堣�楀搧'+ ass.Prod.Name__c + '搴撳瓨涓嶈冻'));
+                return new ResponseBodyLWC(
+                  'Error',
+                  500,
+                  '娑堣�楀搧' + ass.Prod.Name__c + '搴撳瓨涓嶈冻',
+                  ''
+                );
+              } else {
+                // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '娑堣�楀搧'+ ass.orderdetails1.Consumable_Product__r.Name__c + '搴撳瓨涓嶈冻'));
+                return new ResponseBodyLWC(
+                  'Error',
+                  500,
+                  '娑堣�楀搧' +
+                    ass.orderdetails1.Consumable_Product__r.Name__c +
+                    '搴撳瓨涓嶈冻',
+                  ''
+                );
+              }
+            }
+          } else if (ass.orderdetails1.Box_Piece__c == '涓�') {
+            if (ass.orderdetails1.Shipment_Count__c > ass.Piecenumber) {
+              if (ass.oldCheck == false) {
+                // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '娑堣�楀搧'+ ass.Prod.Name__c + '搴撳瓨涓嶈冻'));
+                return new ResponseBodyLWC(
+                  'Error',
+                  500,
+                  '娑堣�楀搧' + ass.Prod.Name__c + '搴撳瓨涓嶈冻',
+                  ''
+                );
+              } else {
+                //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '娑堣�楀搧'+ ass.orderdetails1.Consumable_Product__r.Name__c + '搴撳瓨涓嶈冻'));
+                return new ResponseBodyLWC(
+                  'Error',
+                  500,
+                  '娑堣�楀搧' +
+                    ass.orderdetails1.Consumable_Product__r.Name__c +
+                    '搴撳瓨涓嶈冻',
+                  ''
+                );
+              }
+            }
+          }
+          if (
+            ass.orderdetails1.Shipment_Count__c == null ||
+            ass.orderdetails1.Shipment_Count__c == 0
+          ) {
+            // ass.orderdetails1.Shipment_Count__c.addError('璇疯緭鍏ュ嚭璐ф暟閲�');
+            // return null;
+            return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ュ嚭璐ф暟閲�', '');
+          } else {
+            String str = string.valueOf(i);
+            if (str.length() == 1) {
+              str = '0' + str;
+            }
+            InsAfterDel.Name = p.name + '-' + str;
+            InsAfterDel.Shipment_Count__c = ass.orderdetails1.Shipment_Count__c;
+            InsAfterDel.Consumable_order__c = ESetId;
+            InsAfterDel.Consumable_Product__c = ass.Prod.id;
+            InsAfterDel.Intra_Trade_List_RMB__c = ass.Prod.Intra_Trade_List_RMB__c;
+            InsAfterDel.Delivery_List_RMB__c = ass.orderdetails1.Delivery_List_RMB__c;
+            InsAfterDel.Box_Piece__c = ass.orderdetails1.Box_Piece__c;
+            InsAfterDel.Out_unit__c = ass.orderdetails1.Box_Piece__c;
+            //InsAfterDel.Unitprice_To_agency__c = ass.orderdetails1.Unitprice_To_agency__c;
+            InsAfterDel.Dealer_Custom_Price__c = ass.orderdetails1.Dealer_Custom_Price__c;
+            InsAfterDel.RecordTypeId = System.Label.RT_ConOrderDetail1_Order;
+            //add by rentx 2021-2-26 start
+            InsAfterDel.isOutPattern__c = ass.hospitalSpecialOffer;
+            //add by rentx 2021-2-26 end
+            i++;
+            Ins.add(InsAfterDel);
+          }
+        }
+      }
+      update p;
+      List<Consumable_orderdetails__c> qs = new List<Consumable_orderdetails__c>();
+      qs = [
+        SELECT Id
+        FROM Consumable_orderdetails__c
+        WHERE Consumable_order__c = :ESetId
+      ];
+      if (qs.size() > 0) {
+        delete qs;
+      }
+      if (Ins.size() > 0) {
+        insert Ins;
+      }
+    }
+    // }catch (Exception ex) {
+    //     Database.rollback(sp);
+    //     // ApexPages.addMessages(ex);
+    //     // return null;
+    //     //return new ResponseBodyLWC('Error',500, ex.getMessage(), '');
+    //     return new ResponseBodyLWC('Error',500, JSON.serialize(ex), '');
+    // }
+    data.put('ESetId', ESetId);
+    res.status = 'Success';
+    res.code = 200;
+    System.debug('res = ' + res);
+    return res;
+  }
+
+  public static void checkOutPattern() {
+    //鏍规嵁鐢ㄦ埛閫変腑鐨勪骇鍝佺粰 鍑哄簱鍗曚笂鐨勬槸鍚﹀尰闄㈢壒浠峰嚭搴撳瓧娈佃祴鍊�
+    Integer isHos = 0;
+    for (ConsumableorderdetailsInfo CheckCount : pageRecords) {
+      if (CheckCount.check == true && CheckCount.hospitalSpecialOffer == true) {
+        ishos = ishos + 1;
+      }
+    }
+    if (isHos > 0) {
+      coc.OutPattern__c = true;
+    } else {
+      coc.OutPattern__c = false;
+    }
+  }
+
+  //鎵撳嵃PDF
+  @AuraEnabled
+  public static ResponseBodyLWC PraseToPDF(
+    Consumable_order__c cocLwc,
+    String ESetId
+  ) {
+    System.debug('cocLwc = ' + cocLwc);
+    System.debug('ESetId = ' + ESetId);
+    coc = cocLwc;
+    ResponseBodyLWC res = new ResponseBodyLWC();
+    Map<String, object> data = new Map<String, object>();
+    res.entity = data;
+
+    if (coc.SummonsStatus_c__c == '鎵瑰噯') {
+      Consumable_order__c P = new Consumable_order__c();
+      List<Consumable_order__c> cocinfo = new List<Consumable_order__c>();
+      // update start by vivek 2019-7-15 add 鈥淣oConfirmedPrice__c鈥� in select
+      cocinfo = [
+        SELECT
+          Id,
+          Name,
+          SummonsStatus_c__c,
+          NoConfirmedPrice__c,
+          Dealer_Info__c,
+          Order_ForHospital__c,
+          SummonsForDirction__c,
+          Billed_Status__c
+        FROM Consumable_order__c
+        WHERE Id = :ESetId
+      ];
+      // update end by vivek 2019-7-15
+      if (cocinfo.size() > 0) {
+        p = cocinfo[0];
+      }
+      p.SummonsStatus_c__c = '鍑哄簱鍗曞凡鎵撳嵃';
+      update p;
+    }
+    data.put('ESetId', ESetId);
+    res.status = 'Success';
+    res.code = 200;
+    System.debug('res = ' + res);
+    return res;
+  }
+
+  //鏌ユ壘缁忛攢鍟�
+  @AuraEnabled(cacheable=true scope='global')
+  public static List<LookupSearchResult> search(String searchTerm) {
+    System.debug('searchTerm = ' + searchTerm);
+    String nameCondition = '';
+    nameCondition +=
+      '%' +
+      String.escapeSingleQuotes(searchTerm.replaceAll('%', '\\%')) +
+      '%';
+    List<Account> accs = new List<Account>();
+    System.debug('nameCondition = ' + nameCondition);
+    //鏌ヨ鏉′欢淇敼
+    //绛涢�夊垽鏂潯浠讹細褰撳墠璐㈠勾鐨�4/1 ~ 绗簩骞寸殑6/30 聽& ET or ENG绫诲瀷 & 褰撳墠鐢ㄦ埛绫诲瀷
+    //1 and 2
+    //1. Integer year 2022/4/1 ~ 2023/6/30
+    //寮�濮嬫棩鏈� + 缁撴潫鏃ユ湡
+    //Contract_Decide_Start_Date__c>=寮�濮嬫棩鏈�  and Contract_Decide_End_Date__c<缁撴潫鏃ユ湡
+    //2. 娣诲姞缁忛攢鍟嗗厑閿�绫诲瀷锛欵T缁忛攢鍟嗗崗璁紱ENG鑰楁潗缁忛攢鍟嗗崗璁�
+    //鍙栧綋鍓嶇敤鎴风殑绫诲瀷锛屽鏋滅敤鎴风被鍨嬫槸ET,ET缁忛攢鍟嗗崗璁� = true
+    // Date today = Date.today();
+    // Integer thisYear = today.year();
+    // Integer nextYear = today.year() + 1;
+    // Date thisDatetime = Date.newInstance(thisYear, 4, 1);
+    // Date nextDatetime = Date.newInstance(nextYear, 6, 30);
+    // System.debug('thisDatetime = ' + thisDatetime);
+    // System.debug('nextDatetime = ' + nextDatetime);
+
+    // User UserProTypecTemp = [select UserPro_Type__c from User where id =: UserInfo.getUserId()];
+    // System.debug('UserInfo.getUserId() = ' + UserInfo.getUserId());
+    // System.debug('UserProTypecTemp = ' + UserProTypecTemp);
+    // System.debug('UserProTypecTemp.UserPro_Type__c = ' + UserProTypecTemp.UserPro_Type__c);
+    // if (UserProTypecTemp.UserPro_Type__c == 'ENG') {
+    //     accs = [
+    //         SELECT Id, Name, Department_Class__c, Department_Class__r.Name, Hospital__c, Hospital__r.Name, BillingCity
+    //         FROM Account
+    //         WHERE
+    //             // Name = '濂ユ灄宸存柉锛堝寳浜級閿�鍞湇鍔℃湁闄愬叕鍙�'
+    //             // AND
+    //             Name LIKE :nameCondition
+    //             AND RecordType.DeveloperName = 'AgencyContract'
+    //             AND Contract_Decide_Start_Date__c >= :thisDatetime
+    //             AND Contract_Decide_End_Date__c <= :nextDatetime
+    //             AND ENG_Dealer__c = true
+    //         ORDER BY Name
+    //         LIMIT 49
+    //     ];
+    // }
+    // if (UserProTypecTemp.UserPro_Type__c == 'ET') {
+    //     accs = [
+    //         SELECT Id, Name, Department_Class__c, Department_Class__r.Name, Hospital__c, Hospital__r.Name, BillingCity
+    //         FROM Account
+    //         WHERE
+    //             // Name = '濂ユ灄宸存柉锛堝寳浜級閿�鍞湇鍔℃湁闄愬叕鍙�'
+    //             // AND
+    //             Name LIKE :nameCondition
+    //             AND RecordType.DeveloperName = 'AgencyContract'
+    //             AND Contract_Decide_Start_Date__c >= :thisDatetime
+    //             AND Contract_Decide_End_Date__c <= :nextDatetime
+    //             AND ET_SP_Dealer__c = true
+    //         ORDER BY Name
+    //         LIMIT 49
+    //     ];
+    // }
+
+    Date today = Date.today();
+    //Date today = Date.newInstance(2023, 3, 1);
+    Integer thisMonth = today.month();
+    System.debug('thisMonth = ' + thisMonth);
+
+    Integer lastYear = today.year() - 1;
+    Integer thisYear = today.year();
+    Integer nextYear = today.year() + 1;
+
+    Date lastDatetime = Date.newInstance(lastYear, 4, 1);
+    Date thisDatetime = Date.newInstance(thisYear, 4, 1);
+    Date thisDatetime2 = Date.newInstance(thisYear, 7, 1);
+    Date nextDatetime = Date.newInstance(nextYear, 7, 1);
+    System.debug('lastDatetime = ' + lastDatetime);
+    System.debug('thisDatetime = ' + thisDatetime);
+    System.debug('thisDatetime2 = ' + thisDatetime2);
+    System.debug('nextDatetime = ' + nextDatetime);
+    System.debug('UserInfo.getUserId() = ' + UserInfo.getUserId());
+    User UserProTypecTemp = [
+      SELECT UserPro_Type__c
+      FROM User
+      WHERE id = :UserInfo.getUserId()
+    ];
+
+    String sql = 'SELECT id, Parentid FROM Account WHERE Parent.Name LIKE :nameCondition ';
+    if (thisMonth < 4) {
+      sql += 'AND Contract_Decide_Start_Date__c >= :lastDatetime AND Contract_Decide_End_Date__c < :thisDatetime2 ';
+    } else if (thisMonth >= 4 && thisMonth <= 6) {
+      sql += 'AND Contract_Decide_Start_Date__c >= :lastDatetime AND Contract_Decide_End_Date__c < :nextDatetime ';
+    } else {
+      sql += 'AND Contract_Decide_Start_Date__c >= :thisDatetime AND Contract_Decide_End_Date__c < :nextDatetime ';
+    }
+    if (UserProTypecTemp.UserPro_Type__c == 'ENG') {
+      sql += 'AND ENG_Dealer__c = true';
+    }
+    if (UserProTypecTemp.UserPro_Type__c == 'ET') {
+      sql += 'AND ET_SP_Dealer__c = true';
+    }
+    System.debug('sql = ' + sql);
+    accs = Database.query(sql);
+    // 鐢ㄤ簬淇濆瓨鐗圭害缁忛攢鍟嗗尮閰嶅埌鐨勫叾鐖剁被鐨刬d
+    Set<String> pids = new Set<String>();
+    for (Account acc : accs) {
+      pids.add(acc.Parentid);
+    }
+
+    accs = [
+      SELECT
+        Id,
+        Name,
+        Department_Class__c,
+        Department_Class__r.Name,
+        Hospital__c,
+        Hospital__r.Name,
+        BillingCity
+      FROM Account
+      WHERE
+        (Id IN :pids
+        OR (Name = '濂ユ灄宸存柉锛堝寳浜級閿�鍞湇鍔℃湁闄愬叕鍙�'
+        AND Name LIKE :nameCondition))
+        AND RecordType.DeveloperName = 'Agency'
+      ORDER BY Name
+      LIMIT 49
+    ];
+
+    // accs = [
+    //     SELECT id, Parentid
+    //     FROM Account
+    //     WHERE
+    //         Parent.Name LIKE :nameCondition
+    //         AND Contract_Decide_Start_Date__c <= :Date.Today()
+    //         AND Contract_Decide_End_Date__c >= :Date.Today()
+    // ];
+
+    // 鐢ㄤ簬淇濆瓨鐗圭害缁忛攢鍟嗗尮閰嶅埌鐨勫叾鐖剁被鐨刬d
+    // Set<String> pids = new Set<String>();
+    // for (Account acc : accs) {
+    //     pids.add(acc.Parentid);
+    // }
+    // accs = [
+    //     SELECT Id, Name, Department_Class__c, Department_Class__r.Name, Hospital__c, Hospital__r.Name, BillingCity
+    //     FROM Account
+    //     WHERE
+    //         (Id IN :pids
+    //         OR (Name = '濂ユ灄宸存柉锛堝寳浜級閿�鍞湇鍔℃湁闄愬叕鍙�'
+    //         AND Name LIKE :nameCondition))
+    //         AND RecordType.DeveloperName = 'Agency'
+    //         AND Is_Active__c != '鐒″姽'
+    //     ORDER BY Name
+    //     LIMIT 5
+    // ];
+    System.debug('accs = ' + accs);
+    List<LookupSearchResult> results = new List<LookupSearchResult>();
+    String accountIcon = 'standard:account';
+    for (Account account : accs) {
+      String subtitle = account.BillingCity == null
+        ? 'Account'
+        : 'Account 鈥� ' + account.BillingCity;
+      results.add(
+        new LookupSearchResult(
+          account.Id,
+          'Account',
+          accountIcon,
+          account.Name,
+          subtitle
+        )
+      );
+    }
+    results.sort();
+    System.debug('results = ' + results);
+    return results;
+  }
+
+  //淇濆瓨闄勪欢
+  @AuraEnabled
+  public static String saveFile(
+    Id recordId,
+    String fileName,
+    String base64Data
+  ) {
+    base64Data = EncodingUtil.urlDecode(base64Data, 'UTF-8');
+    ContentVersion cv = new ContentVersion();
+    cv.Title = fileName;
+    cv.PathOnClient = '/' + fileName;
+    cv.FirstPublishLocationId = recordId;
+    cv.VersionData = EncodingUtil.base64Decode(base64Data);
+    cv.IsMajorVersion = true;
+    insert cv;
+    return cv.Id;
+  }
+
+  //鑾峰彇闄勪欢
+  @AuraEnabled
+  public static ResponseBodyLWC getFiles(Id recordId) {
+    System.debug('getFiles recordId = ' + recordId);
+    ResponseBodyLWC res = new ResponseBodyLWC();
+    Map<String, object> data = new Map<String, object>();
+    res.entity = data;
+    List<ContentVersion> cvList = [
+      SELECT
+        id,
+        Title,
+        CreatedBy.Name,
+        PathOnClient,
+        CreatedDate,
+        ContentDocumentId
+      FROM ContentVersion
+      WHERE FirstPublishLocationId = :recordId
+    ];
+    data.put('cvList', cvList);
+    res.status = 'Success';
+    res.code = 200;
+    System.debug('res = ' + res);
+    return res;
+  }
+
+  //鍒犻櫎闄勪欢
+  @AuraEnabled
+  public static ResponseBodyLWC deleteAtt(String contentVersionId) {
+    try {
+      ContentVersion conVersion = [
+        SELECT ContentDocumentId
+        FROM ContentVersion
+        WHERE Id = :contentVersionId
+      ];
+      String contentDocumentId = conVersion.ContentDocumentId;
+      ContentDocument conDocument = [
+        SELECT Id
+        FROM ContentDocument
+        WHERE Id = :contentDocumentId
+      ];
+      delete conDocument;
+      return new ResponseBodyLWC('Success', 200, '', '');
+    } catch (Exception e) {
+      return new ResponseBodyLWC(
+        'Error',
+        500,
+        e.getMessage() + e.getLineNumber(),
+        ''
+      );
+    }
+  }
+
+  //璺宠浆鍑鸿揣/閿�鍞�
+  @AuraEnabled
+  public static ResponseBodyLWC GoodsDelivery(
+    Consumable_order__c cocLwc,
+    String ESetId,
+    List<ConsumableorderdetailsInfoLwc> pageRecordsLwcLwc
+  ) {
+    ResponseBodyLWC res = new ResponseBodyLWC();
+    Map<String, object> data = new Map<String, object>();
+    res.entity = data;
+    coc = cocLwc;
+    ESetId = ESetId;
+    pageRecordsLwc = pageRecordsLwcLwc;
+    if (coc.SummonsForDirction__c == '浜掔浉璋冭揣') {
+      List<Account> accList = [
+        SELECT Id
+        FROM Account
+        WHERE
+          Name = :coc.Order_ForDealerText__c
+          AND RecordType.DeveloperName = 'Agency'
+      ];
+      if (accList.size() < 1) {
+        // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '璇疯緭鍏ヤ簩绾х粡閿�鍟嗗叏绉帮紒'));
+        // return null;
+        return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ヤ簩绾х粡閿�鍟嗗叏绉帮紒', '');
+      }
+    }
+    if (coc.SummonsStatus_c__c == '鎵瑰噯') {
+      // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '璇峰厛鎵撳嵃鎸囩ず鍗曪紒'));
+      // return null;
+      return new ResponseBodyLWC('Error', 500, '璇峰厛鎵撳嵃鎸囩ず鍗曪紒', '');
+    }
+    for (ConsumableorderdetailsInfoLwc ass : pageRecordsLwc) {
+      if (ass.orderdetails1.Shipment_Count__c > ass.allnumber) {
+        // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.Error, '娑堣�楀搧'+ ass.orderdetails1.Consumable_Product__r.Name__c + '搴撳瓨涓嶈冻'));
+        // return null;
+        return new ResponseBodyLWC(
+          'Error',
+          500,
+          '娑堣�楀搧' +
+            ass.orderdetails1.Consumable_Product__r.Name__c +
+            '搴撳瓨涓嶈冻',
+          ''
+        );
+      }
+    }
+    data.put('ESetid', ESetid);
+    res.status = 'Success';
+    res.code = 200;
+    System.debug('res = ' + res);
+    return res;
+  }
+
+  //鍒犻櫎鎸夐挳
+  @AuraEnabled
+  public static ResponseBodyLWC DelConsumable(String ESetId) {
+    ResponseBodyLWC res = new ResponseBodyLWC();
+    Map<String, object> data = new Map<String, object>();
+    res.entity = data;
+
+    ESetId = ESetId;
+
+    Savepoint sp = Database.setSavepoint();
+    try {
+      List<Consumable_order__c> qs = new List<Consumable_order__c>();
+      List<Consumable_orderdetails__c> Dqs = new List<Consumable_orderdetails__c>();
+      Dqs = [
+        SELECT Id
+        FROM Consumable_orderdetails__c
+        WHERE Consumable_order__c = :ESetId
+      ];
+      qs = [SELECT Id FROM Consumable_order__c WHERE Id = :ESetId];
+      if (Dqs.size() > 0 || qs.size() > 0) {
+        delete Dqs;
+        delete qs;
+      }
+    } catch (Exception e) {
+      Database.rollback(sp);
+      System.debug(e.getMessage() + e.getLineNumber());
+      return new ResponseBodyLWC('Error', 500, e.getMessage(), '');
+    }
+    res.status = 'Success';
+    res.code = 200;
+    System.debug('res = ' + res);
+    return res;
+  }
+
+  // Data Bean
+  @TestVisible
+  class ConsumableorderdetailsInfo implements Comparable {
     @AuraEnabled
-    public static ResponseBodyLWC DelConsumable(String ESetId) {
-        ResponseBodyLWC res = new ResponseBodyLWC();
-        Map<String, object> data = new Map<String, object>();
-        res.entity = data;
+    public Boolean check { get; set; }
+    @AuraEnabled
+    public Boolean oldCheck { get; set; }
+    @AuraEnabled
+    public Consumable_Orderdetails__c orderdetails1 { get; set; }
+    @AuraEnabled
+    public Consumable_order_details2__c orderdetails2 { get; set; }
+    @AuraEnabled
+    public Product2__c Prod { get; set; }
+    @AuraEnabled
+    public Decimal Boxnumber { get; set; }
+    @AuraEnabled
+    public Decimal Piecenumber { get; set; }
+    @AuraEnabled
+    public Decimal allnumber { get; set; }
+    @AuraEnabled
+    public Decimal oldConsumableCount { get; set; }
+    @AuraEnabled
+    public Boolean canSelect { get; set; }
+    @AuraEnabled
+    public Boolean sortBy { get; set; }
+    @AuraEnabled
+    public Integer packinglist { get; set; }
+    @AuraEnabled
+    public String approbation_No { get; set; }
+    @AuraEnabled
+    public Date expiration_Date { get; set; }
+    @AuraEnabled
+    public String boxorpiecein { get; set; }
 
-        ESetId = ESetId;
+    public List<SelectOption> boxorpiece { get; set; }
+    @AuraEnabled
+    public Map<String, String> boxorpieceMap { get; set; }
+    @AuraEnabled
+    public Attachment concc { get; set; }
+    @AuraEnabled
+    public String BoxPiece { get; set; }
+    @AuraEnabled
+    public Boolean hospitalSpecialOffer { get; set; }
+    @AuraEnabled
+    public Boolean hosPro { get; set; }
 
-        Savepoint sp = Database.setSavepoint();
-        try {
-            List<Consumable_order__c> qs = new List<Consumable_order__c>();
-            List<Consumable_orderdetails__c> Dqs = new List<Consumable_orderdetails__c>();
-            Dqs = [SELECT Id FROM Consumable_orderdetails__c WHERE Consumable_order__c = :ESetId];
-            qs = [SELECT Id FROM Consumable_order__c WHERE Id = :ESetId];
-            if (Dqs.size() > 0 || qs.size() > 0) {
-                delete Dqs;
-                delete qs;
-            }
-        } catch (Exception e) {
-            Database.rollback(sp);
-            System.debug(e.getMessage() + e.getLineNumber());
-            return new ResponseBodyLWC('Error', 500, e.getMessage(), '');
-        }
-        res.status = 'Success';
-        res.code = 200;
-        System.debug('res = ' + res);
-        return res;
+    public ConsumableorderdetailsInfo() {
     }
 
-    // Data Bean
-    class ConsumableorderdetailsInfo implements Comparable {
-        @AuraEnabled
-        public Boolean check { get; set; }
-        @AuraEnabled
-        public Boolean oldCheck { get; set; }
-        @AuraEnabled
-        public Consumable_Orderdetails__c orderdetails1 { get; set; }
-        @AuraEnabled
-        public Consumable_order_details2__c orderdetails2 { get; set; }
-        @AuraEnabled
-        public Product2__c Prod { get; set; }
-        @AuraEnabled
-        public Decimal Boxnumber { get; set; }
-        @AuraEnabled
-        public Decimal Piecenumber { get; set; }
-        @AuraEnabled
-        public Decimal allnumber { get; set; }
-        @AuraEnabled
-        public Decimal oldConsumableCount { get; set; }
-        @AuraEnabled
-        public Boolean canSelect { get; set; }
-        @AuraEnabled
-        public Boolean sortBy { get; set; }
-        @AuraEnabled
-        public Integer packinglist { get; set; }
-        @AuraEnabled
-        public String approbation_No { get; set; }
-        @AuraEnabled
-        public Date expiration_Date { get; set; }
-        @AuraEnabled
-        public String boxorpiecein { get; set; }
+    public ConsumableorderdetailsInfo(Consumable_Orderdetails__c e) {
+      check = true;
+      oldCheck = true;
+      orderdetails1 = e;
+      orderdetails2 = new Consumable_order_details2__c();
+      Prod = e.Consumable_Product__r;
+      oldConsumableCount = e.Shipment_Count__c;
+      canSelect = true;
+      allnumber = 0;
+      Boxnumber = 0;
+      Piecenumber = 0;
+      BoxPiece = e.Box_Piece__c;
+      boxorpiece = new List<SelectOption>();
+      boxorpiece.add(new SelectOption('鐩�', '鐩�'));
+      boxorpiece.add(new SelectOption('涓�', '涓�'));
 
-        public List<SelectOption> boxorpiece { get; set; }
-        @AuraEnabled
-        public Map<String, String> boxorpieceMap { get; set; }
-        @AuraEnabled
-        public Attachment concc { get; set; }
-        @AuraEnabled
-        public String BoxPiece { get; set; }
-        @AuraEnabled
-        public Boolean hospitalSpecialOffer { get; set; }
-        @AuraEnabled
-        public Boolean hosPro { get; set; }
-
-        public ConsumableorderdetailsInfo() {
-        }
-
-        public ConsumableorderdetailsInfo(Consumable_Orderdetails__c e) {
-            check = true;
-            oldCheck = true;
-            orderdetails1 = e;
-            orderdetails2 = new Consumable_order_details2__c();
-            Prod = e.Consumable_Product__r;
-            oldConsumableCount = e.Shipment_Count__c;
-            canSelect = true;
-            allnumber = 0;
-            Boxnumber = 0;
-            Piecenumber = 0;
-            BoxPiece = e.Box_Piece__c;
-            boxorpiece = new List<SelectOption>();
-            boxorpiece.add(new SelectOption('鐩�', '鐩�'));
-            boxorpiece.add(new SelectOption('涓�', '涓�'));
-
-            boxorpieceMap = new Map<String, String>();
-            boxorpieceMap.put('鐩�', '鐩�');
-            boxorpieceMap.put('涓�', '涓�');
-            hospitalSpecialOffer = false;
-            hosPro = false;
-        }
-
-        // 娑堣�楀搧鍙戣揣鏄庣粏
-        public ConsumableorderdetailsInfo(Consumable_order_details2__c e) {
-            check = true;
-            oldCheck = true;
-            orderdetails1 = new Consumable_Orderdetails__c();
-            orderdetails2 = e;
-            Prod = e.Consumable_Product__r;
-            canSelect = true;
-            allnumber = 0;
-            Boxnumber = 0;
-            Piecenumber = 0;
-            //boxorpiece = new List<SelectOption>();
-            //boxorpiece.add(new SelectOption('鐩�', '鐩�'));
-            //boxorpiece.add(new SelectOption('涓�', '涓�'));
-            hospitalSpecialOffer = false;
-            hosPro = false;
-        }
-
-        //闄勪欢
-        public ConsumableorderdetailsInfo(Attachment e) {
-            concc = e;
-            hospitalSpecialOffer = false;
-            hosPro = false;
-        }
-
-        public ConsumableorderdetailsInfo(Product2__c e) {
-            check = false;
-            oldCheck = false;
-            orderdetails1 = new Consumable_Orderdetails__c();
-            orderdetails2 = new Consumable_order_details2__c();
-            Prod = e;
-            //oldConsumableCount = null;
-            canSelect = true;
-            allnumber = 0;
-            Boxnumber = 0;
-            Piecenumber = 0;
-            orderdetails1.Box_Piece__c = '鐩�';
-            boxorpiece = new List<SelectOption>();
-            boxorpiece.add(new SelectOption('鐩�', '鐩�'));
-            boxorpiece.add(new SelectOption('涓�', '涓�'));
-
-            boxorpieceMap = new Map<String, String>();
-            boxorpieceMap.put('鐩�', '鐩�');
-            boxorpieceMap.put('涓�', '涓�');
-            hospitalSpecialOffer = false;
-            hosPro = false;
-        }
-
-        // 鎺掑簭
-        public Integer compareTo(Object compareTo) {
-            ConsumableorderdetailsInfo compareToorderdetails1 = (ConsumableorderdetailsInfo) compareTo;
-            Integer returnValue = 0;
-            if (sortBy == false) {
-                if (Boxnumber > compareToorderdetails1.Boxnumber) {
-                    returnValue = -1;
-                } else if (Boxnumber < compareToorderdetails1.Boxnumber) {
-                    returnValue = 1;
-                }
-                return returnValue;
-            } else {
-                if (Boxnumber > compareToorderdetails1.Boxnumber) {
-                    returnValue = 1;
-                } else if (Boxnumber < compareToorderdetails1.Boxnumber) {
-                    returnValue = -1;
-                }
-                return returnValue;
-            }
-        }
+      boxorpieceMap = new Map<String, String>();
+      boxorpieceMap.put('鐩�', '鐩�');
+      boxorpieceMap.put('涓�', '涓�');
+      hospitalSpecialOffer = false;
+      hosPro = false;
     }
 
-    class ConsumableorderdetailsInfoLwc {
-        @AuraEnabled
-        public Boolean check { get; set; }
-        @AuraEnabled
-        public Boolean oldCheck { get; set; }
-        @AuraEnabled
-        public Consumable_Orderdetails__c orderdetails1 { get; set; }
-        @AuraEnabled
-        public Consumable_order_details2__c orderdetails2 { get; set; }
-        @AuraEnabled
-        public Product2__c Prod { get; set; }
-        @AuraEnabled
-        public Decimal Boxnumber { get; set; }
-        @AuraEnabled
-        public Decimal Piecenumber { get; set; }
-        @AuraEnabled
-        public Decimal allnumber { get; set; }
-        @AuraEnabled
-        public Decimal oldConsumableCount { get; set; }
-        @AuraEnabled
-        public Boolean canSelect { get; set; }
-        @AuraEnabled
-        public Boolean sortBy { get; set; }
-        @AuraEnabled
-        public Integer packinglist { get; set; }
-        @AuraEnabled
-        public String approbation_No { get; set; }
-        @AuraEnabled
-        public Date expiration_Date { get; set; }
-        @AuraEnabled
-        public String boxorpiecein { get; set; }
-        public List<SelectOption> boxorpiece { get; set; }
-        @AuraEnabled
-        public Map<String, String> boxorpieceMap { get; set; }
-        @AuraEnabled
-        public Attachment concc { get; set; }
-        @AuraEnabled
-        public String BoxPiece { get; set; }
-        @AuraEnabled
-        public Boolean hospitalSpecialOffer { get; set; }
-        @AuraEnabled
-        public Boolean hosPro { get; set; }
-        @AuraEnabled
-        public List<Map<String, String>> unitOptions { get; set; }
-        @AuraEnabled
-        public String unitValue { get; set; }
-        @AuraEnabled
-        public Integer shipmentNumber { get; set; }
-        @AuraEnabled
-        public Decimal shippingUnitPrice { get; set; }
-        @AuraEnabled
-        public String recordId { get; set; }
-        @AuraEnabled
-        public String Id { get; set; }
-        @AuraEnabled
-        public String Name { get; set; }
-        @AuraEnabled
-        public String Category3 { get; set; }
-        @AuraEnabled
-        public String Category4 { get; set; }
-        @AuraEnabled
-        public String Category5 { get; set; }
+    // 娑堣�楀搧鍙戣揣鏄庣粏
+    public ConsumableorderdetailsInfo(Consumable_order_details2__c e) {
+      check = true;
+      oldCheck = true;
+      orderdetails1 = new Consumable_Orderdetails__c();
+      orderdetails2 = e;
+      Prod = e.Consumable_Product__r;
+      canSelect = true;
+      allnumber = 0;
+      Boxnumber = 0;
+      Piecenumber = 0;
+      //boxorpiece = new List<SelectOption>();
+      //boxorpiece.add(new SelectOption('鐩�', '鐩�'));
+      //boxorpiece.add(new SelectOption('涓�', '涓�'));
+      hospitalSpecialOffer = false;
+      hosPro = false;
     }
 
-    //鍒嗛〉Bean
-    public class PaginatedAccounts {
-        @AuraEnabled
-        public Integer nextPageToken;
-        @AuraEnabled
-        public Integer pageNumber { get; set; }
-        @AuraEnabled
-        public Integer totalRecords { get; set; }
-        @AuraEnabled
-        public Integer recordStart { get; set; }
-        @AuraEnabled
-        public Integer recordEnd { get; set; }
+    //闄勪欢
+    public ConsumableorderdetailsInfo(Attachment e) {
+      concc = e;
+      hospitalSpecialOffer = false;
+      hosPro = false;
     }
-}
\ No newline at end of file
+
+    public ConsumableorderdetailsInfo(Product2__c e) {
+      check = false;
+      oldCheck = false;
+      orderdetails1 = new Consumable_Orderdetails__c();
+      orderdetails2 = new Consumable_order_details2__c();
+      Prod = e;
+      //oldConsumableCount = null;
+      canSelect = true;
+      allnumber = 0;
+      Boxnumber = 0;
+      Piecenumber = 0;
+      orderdetails1.Box_Piece__c = '鐩�';
+      boxorpiece = new List<SelectOption>();
+      boxorpiece.add(new SelectOption('鐩�', '鐩�'));
+      boxorpiece.add(new SelectOption('涓�', '涓�'));
+
+      boxorpieceMap = new Map<String, String>();
+      boxorpieceMap.put('鐩�', '鐩�');
+      boxorpieceMap.put('涓�', '涓�');
+      hospitalSpecialOffer = false;
+      hosPro = false;
+    }
+
+    // 鎺掑簭
+    public Integer compareTo(Object compareTo) {
+      ConsumableorderdetailsInfo compareToorderdetails1 = (ConsumableorderdetailsInfo) compareTo;
+      Integer returnValue = 0;
+      if (sortBy == false) {
+        if (Boxnumber > compareToorderdetails1.Boxnumber) {
+          returnValue = -1;
+        } else if (Boxnumber < compareToorderdetails1.Boxnumber) {
+          returnValue = 1;
+        }
+        return returnValue;
+      } else {
+        if (Boxnumber > compareToorderdetails1.Boxnumber) {
+          returnValue = 1;
+        } else if (Boxnumber < compareToorderdetails1.Boxnumber) {
+          returnValue = -1;
+        }
+        return returnValue;
+      }
+    }
+  }
+  @TestVisible
+  class ConsumableorderdetailsInfoLwc {
+    @AuraEnabled
+    public Boolean check { get; set; }
+    @AuraEnabled
+    public Boolean oldCheck { get; set; }
+    @AuraEnabled
+    public Consumable_Orderdetails__c orderdetails1 { get; set; }
+    @AuraEnabled
+    public Consumable_order_details2__c orderdetails2 { get; set; }
+    @AuraEnabled
+    public Product2__c Prod { get; set; }
+    @AuraEnabled
+    public Decimal Boxnumber { get; set; }
+    @AuraEnabled
+    public Decimal Piecenumber { get; set; }
+    @AuraEnabled
+    public Decimal allnumber { get; set; }
+    @AuraEnabled
+    public Decimal oldConsumableCount { get; set; }
+    @AuraEnabled
+    public Boolean canSelect { get; set; }
+    @AuraEnabled
+    public Boolean sortBy { get; set; }
+    @AuraEnabled
+    public Integer packinglist { get; set; }
+    @AuraEnabled
+    public String approbation_No { get; set; }
+    @AuraEnabled
+    public Date expiration_Date { get; set; }
+    @AuraEnabled
+    public String boxorpiecein { get; set; }
+    public List<SelectOption> boxorpiece { get; set; }
+    @AuraEnabled
+    public Map<String, String> boxorpieceMap { get; set; }
+    @AuraEnabled
+    public Attachment concc { get; set; }
+    @AuraEnabled
+    public String BoxPiece { get; set; }
+    @AuraEnabled
+    public Boolean hospitalSpecialOffer { get; set; }
+    @AuraEnabled
+    public Boolean hosPro { get; set; }
+    @AuraEnabled
+    public List<Map<String, String>> unitOptions { get; set; }
+    @AuraEnabled
+    public String unitValue { get; set; }
+    @AuraEnabled
+    public Integer shipmentNumber { get; set; }
+    @AuraEnabled
+    public Decimal shippingUnitPrice { get; set; }
+    @AuraEnabled
+    public String recordId { get; set; }
+    @AuraEnabled
+    public String Id { get; set; }
+    @AuraEnabled
+    public String Name { get; set; }
+    @AuraEnabled
+    public String Category3 { get; set; }
+    @AuraEnabled
+    public String Category4 { get; set; }
+    @AuraEnabled
+    public String Category5 { get; set; }
+  }
+
+  //鍒嗛〉Bean
+  public class PaginatedAccounts {
+    @AuraEnabled
+    public Integer nextPageToken;
+    @AuraEnabled
+    public Integer pageNumber { get; set; }
+    @AuraEnabled
+    public Integer totalRecords { get; set; }
+    @AuraEnabled
+    public Integer recordStart { get; set; }
+    @AuraEnabled
+    public Integer recordEnd { get; set; }
+  }
+}

--
Gitblit v1.9.1