From 744f42c5496e656a1f9927740a3b37c0b97a6cba Mon Sep 17 00:00:00 2001
From: buli <137736985@qq.com>
Date: 星期五, 14 七月 2023 14:34:12 +0800
Subject: [PATCH] lexcommunityupload0714

---
 force-app/main/default/classes/LexInventoryController.cls | 3230 ++++++++++++++++++++++++++--------------------------------
 1 files changed, 1,451 insertions(+), 1,779 deletions(-)

diff --git a/force-app/main/default/classes/LexInventoryController.cls b/force-app/main/default/classes/LexInventoryController.cls
index 238f43d..7380b26 100644
--- a/force-app/main/default/classes/LexInventoryController.cls
+++ b/force-app/main/default/classes/LexInventoryController.cls
@@ -1,1801 +1,1473 @@
 public without sharing class LexInventoryController {
-  // 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; }
+    // 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 String fileName { get; set; }
-  public static Integer size { get; set; }
-  public static Integer noOfRecords { get; set; }
-  public static List<ConsumableorderdetailsInfo> codPageRecords { get; set; } // 涓㈠け鍜屽贰鍥炵殑,鐢婚潰鏄剧ず鐢�
-  public static ApexPages.StandardSetController setCon { get; set; }
-  @AuraEnabled
-  public static List<Consumable_order_details2__c> setConDetails2 { get; set; }
-  public static Map<Id, String> pandiandetailsMap = new Map<Id, String>();
-  /*****************妞滅储鐢�******************/
-  public static String barcode { get; set; }
-  public static Boolean done { get; set; }
-  /*****************鐢婚潰琛ㄧずBean******************/
-  //椤甸潰涓绘暟鎹樉绀虹敤
-  // private static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords;
-  public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords;
-  //鐩樼偣鍒扮殑浜у搧
-  public static List<Consumable_order_details2__c> reSet = new List<Consumable_order_details2__c>();
-  public static List<Consumable_order_details2__c> showcod2nid = new List<Consumable_order_details2__c>();
+    public static Integer totalcount { get; set; }
+    //鍒嗛〉浣跨敤鏁版嵁
+    public static String fileName { get; set; }
+    public static Integer size { get; set; }
+    public static Integer noOfRecords { get; set; }
+    public static List<ConsumableorderdetailsInfo> codPageRecords { get; set; } // 涓㈠け鍜屽贰鍥炵殑,鐢婚潰鏄剧ず鐢�
+    public static ApexPages.StandardSetController setCon { get; set; }
+    @AuraEnabled
+    public static List<Consumable_order_details2__c> setConDetails2 { get; set; }
+    public static Map<Id, String> pandiandetailsMap = new Map<Id, String>();
+    /*****************妞滅储鐢�******************/
+    public static String barcode { get; set; }
+    public static Boolean done { get; set; }
+    /*****************鐢婚潰琛ㄧずBean******************/
+    //椤甸潰涓绘暟鎹樉绀虹敤
+    // private static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords;
+    public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords;
+    //鐩樼偣鍒扮殑浜у搧
+    public static List<Consumable_order_details2__c> reSet = new List<Consumable_order_details2__c>();
+    public static List<Consumable_order_details2__c> showcod2nid = new List<Consumable_order_details2__c>();
 
-  //public List<Consumable_order_details2__c> pandiandetailsList { get; set; }
-  public static List<List<Consumable_order_details2__c>> pandiandetailsListShow {
-    get;
-    set;
-  }
-  //瀵诲洖鏄庣粏
-  public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecordserrordummy; // 涓㈠け鍜屽贰鍥炵殑,瀹為檯鐐掍綔鐢�
-  @AuraEnabled
-  public static List<List<ConsumableorderdetailsInfo>> consumableorderdetailsRecordsview {
-    get;
-    set;
-  } // 浜у搧鍗曚綅鐨凩ist
-  public static List<Consumable_order_details2__c> InsListUp = new List<Consumable_order_details2__c>();
-
-  public static List<ConsumableorderdetailsInfo> consumableorderdetailsviewRecords;
-
-  public static Integer consumableorderdetailsCount {
-    get {
-      return consumableorderdetailsRecords == null
-        ? 0
-        : consumableorderdetailsRecords.size();
-    }
-  }
-  //list<String> notexitlist = new list<String>();
-  public static Map<String, String> reFindProduct = new Map<String, String>();
-  //鎺掑簭鐢�
-  // public static  String sortKey;
-  // public static  String preSortKey;
-  // public static  Boolean sortOrderAsc;
-  // public static  String[] sortOrder;
-  //private Set<String> carCodeListLose = new Set<String>();              //ProductCount_Res 鏈夛紝BarCodeListP 娌℃湁
-  /*****************缁忛攢鍟咺D******************/
-  private static String accountid = null;
-  private static String accountName = null;
-  // 鐩樼偣 ID
-  private static String eSetId = '';
-  // 鐧诲綍鑰呭伐浣滃湴
-  private static String userWorkLocation;
-  //缁忛攢鍟嗙敤鎴蜂骇鍝佸垎绫伙紙ET銆丒NG锛�
-  public static String agencyProType { get; set; }
-  public static String sqlagencyProType;
-  //鍒ゆ柇鎿嶄綔浜哄憳鏄惁鐩樼偣
-  public static Boolean iSinventory = false;
-
-  public LexInventoryController() {
-    size = Integer.valueOf(System.Label.orderdetLimitsize);
-    consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>();
-    done = false;
-
-    consumableorderdetailsRecordsview = new List<List<ConsumableorderdetailsInfo>>();
-    consumableorderdetailsRecordserrordummy = new List<ConsumableorderdetailsInfo>();
-    codPageRecords = new List<ConsumableorderdetailsInfo>();
-    //codPageRecordsShow = new List<ConsumableorderdetailsInfo>();
-  }
-
-  private static void initStandardController() {
-    // init standard controller
-    List<Consumable_order_details2__c> showcod2 = [
-      SELECT
-        Id,
-        Name,
-        Consumable_Product__c,
-        Bar_Code__c,
-        Consumable_Product__r.Name__c,
-        Asset_Model_No__c,
-        Isoverdue__c,
-        Box_Piece__c,
-        Bar_Code_search__c
-      FROM Consumable_order_details2__c
-      WHERE Id IN :pandiandetailsMap.keySet()
-      ORDER BY Name DESC
-    ];
-    setConDetails2 = showcod2;
-    System.debug('setConDetails2===>' + setConDetails2);
-    // setCon = new ApexPages.StandardSetController(showcod2);
-    // // sets the number of records in each page set
-    // setCon.setPageSize(size);
-    // noOfRecords = setCon.getResultSize();
-  }
-
-  public static List<Consumable_order_details2__c> cod2s() {
-    return setConDetails2;
-  }
-  //Changes the size of pagination
-  public static PageReference refreshPageSize() {
-    setCon.setPageSize(size);
-    //showcod2nid = cod2s();
-    makepagerecords();
-    return null;
-  }
-
-  public static List<ConsumableorderdetailsInfo> makepagerecords() {
-    showcod2nid = cod2s();
-    codPageRecords = new List<ConsumableorderdetailsInfo>();
-    for (Consumable_order_details2__c cod2 : showcod2nid) {
-      codPageRecords.add(
-        new ConsumableorderdetailsInfo(cod2, pandiandetailsMap.get(cod2.Id))
-      );
-    }
-    System.debug('===>codPageRecords1' + codPageRecords);
-    return codPageRecords;
-  }
-
-  // 鐢婚潰鍒濆鍖�
-  @AuraEnabled
-  public static ResponseBodyLWC init() {
-    ResponseBodyLWC res = new ResponseBodyLWC();
-    Map<String, object> data = new Map<String, object>();
-    res.entity = data;
-
-    consumableorderdetailsRecordsview = new List<List<ConsumableorderdetailsInfo>>();
-    setConDetails2 = new List<Consumable_order_details2__c>();
-    String url = '鍦ㄥ簱璋冩暣涓�瑙�';
-    fileName = EncodingUtil.urlEncode(url, 'UTF-8');
-    List<Consumable_order_details2__c> showcod2 = [
-      SELECT
-        Id,
-        Name,
-        Consumable_Product__c,
-        Bar_Code__c,
-        Consumable_Product__r.Name__c,
-        Asset_Model_No__c,
-        Isoverdue__c,
-        Box_Piece__c,
-        Bar_Code_search__c
-      FROM Consumable_order_details2__c
-      WHERE Id IN :pandiandetailsMap.keySet()
-      ORDER BY Name
-    ];
-    System.debug('pandiandetailsMap====>' + pandiandetailsMap);
-    initStandardController();
-    makepagerecords();
-    // sortKey = '1';
-    // preSortKey = '1';
-    // sortOrderAsc = false;
-    // sortOrder = new String[1];
-    // sortOrder = new String[]{' ',' ','鈫�'};
-
-    String userId = UserInfo.getUserId();
-    //String userId = '00510000006k82X';
-    //String 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';
-    }
-    sqlagencyProType = '%' + agencyProType + '%';
-    Account accountInfo = [
-      SELECT Name, Dealer_discount__c
-      FROM account
-      WHERE id = :accountid
-    ];
-    accountName = accountInfo.Name;
-    consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>();
-    Map<String, Product2__c> midMap = new Map<String, Product2__c>();
-    List<ConsumableorderdetailsInfo> boxRecords = new List<ConsumableorderdetailsInfo>();
-    Map<String, ConsumableorderdetailsInfo> newMidBoxMap = new Map<String, ConsumableorderdetailsInfo>();
-    Map<String, ConsumableorderdetailsInfo> newMidPieceMap = new Map<String, ConsumableorderdetailsInfo>();
-    //DB202302357027 娑堣�楀搧杩芥函绯荤粺鏃犳硶姝e父浣跨敤鈥斺�旂洏鐐归〉闈㈡搷浣滃嵆鎶ラ敊 fy start
-    //寮�濮嬪埗浣滆〃澶存暟鎹�
-    // List<Product2__c> productCount_Unfull_bak = [select Id, Name,Name__c,
-    //                                                     SFDA_Status__c,Packing_list_manual__c,
-    //                                                     Asset_Model_No__c
-    //                                                 from Product2__c
-    //                                                 //where Estimation_Entry_Possibility__c = '鈼�'
-    //                                                  where Product_Type__c like : sqlagencyProType
-    //                                                 ];
-    // for(integer i = 0;i < productCount_Unfull_bak.size() ; i++){
-    //     midMap.put(productCount_Unfull_bak[i].Id, productCount_Unfull_bak[i]);
-    // }
-    //鏌ヨ搴撳瓨 杩藉姞杩斿搧搴撳瓨
-    List<Consumable_order_details2__c> ProductCount_Res = [
-      SELECT
-        Id,
-        Name,
-        Consumable_Product__c,
-        Bar_Code__c,
-        Consumable_Product__r.Name__c,
-        Asset_Model_No__c,
-        Isoverdue__c,
-        Box_Piece__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 Cancellation_Flag__c = FALSE
-        AND Bar_Code__c != NULL
-        AND Product_Type__c LIKE :sqlagencyProType
-        AND Arrive_Owner_Work_Location__c = :userWorkLocation
-        AND Dealer_Info_text__c = :accountName
-    ];
-    //DB202302357027 娑堣�楀搧杩芥函绯荤粺鏃犳硶姝e父浣跨敤鈥斺�旂洏鐐归〉闈㈡搷浣滃嵆鎶ラ敊 fy start
-    //寮�濮嬪埗浣滆〃澶存暟鎹�
-    Set<Id> Product2cIdSet = new Set<Id>();
-    for (Consumable_order_details2__c con_or_d2item : ProductCount_Res) {
-      Product2cIdSet.add(con_or_d2item.Consumable_Product__c);
-    }
-    List<Product2__c> productCount_Unfull_bak = [
-      SELECT
-        Id,
-        Name,
-        Name__c,
-        SFDA_Status__c,
-        Packing_list_manual__c,
-        Asset_Model_No__c
-      FROM Product2__c
-      //where Estimation_Entry_Possibility__c = '鈼�'
-      WHERE Id IN :Product2cIdSet AND Product_Type__c LIKE :sqlagencyProType
-    ];
-    for (integer i = 0; i < productCount_Unfull_bak.size(); i++) {
-      midMap.put(productCount_Unfull_bak[i].Id, productCount_Unfull_bak[i]);
-    }
-    system.debug('productCount_Unfull_bak' + productCount_Unfull_bak.size());
-    // String erro='productCount_Unfull_bak:'+productCount_Unfull_bak.size();
-    // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, erro));
-    //DB202302357027 娑堣�楀搧杩芥函绯荤粺鏃犳硶姝e父浣跨敤鈥斺�旂洏鐐归〉闈㈡搷浣滃嵆鎶ラ敊 fy end
-    // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'ProductCount_Res  ' + ProductCount_Res.size()));
-    for (Integer i = 0; i < ProductCount_Res.size(); i++) {
-      //鐒跺悗寰幆CountDel鍋欱ox鍜宲iece2涓猰ap
-      if (
-        MidMap.containsKey(ProductCount_Res[i].Consumable_Product__c) &&
-        ProductCount_Res[i].Box_Piece__c == '鐩�'
-      ) {
-        if (
-          newMidBoxMap.containsKey(
-            ProductCount_Res[i].Consumable_Product__c +
-            ProductCount_Res[i].Box_Piece__c
-          )
-        ) {
-          ConsumableorderdetailsInfo Jstage = newMidBoxMap.get(
-              ProductCount_Res[i].Consumable_Product__c +
-              ProductCount_Res[i].Box_Piece__c
-            )
-            .clone();
-          Jstage.countid = Jstage.countid + 1;
-          if (ProductCount_Res[i].Isoverdue__c == 1) {
-            Jstage.limitCount = Jstage.limitCount + 1;
-          }
-          Jstage.boxPiece = ProductCount_Res[i].Box_Piece__c;
-          newMidBoxMap.put(
-            ProductCount_Res[i].Consumable_Product__c +
-            ProductCount_Res[i].Box_Piece__c,
-            Jstage
-          );
-        } else {
-          ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo(
-            MidMap.get(ProductCount_Res[i].Consumable_Product__c)
-          );
-          Jstage.countid = Jstage.countid + 1;
-          if (ProductCount_Res[i].Isoverdue__c == 1) {
-            Jstage.limitCount = Jstage.limitCount + 1;
-          }
-          Jstage.boxPiece = ProductCount_Res[i].Box_Piece__c;
-          newMidBoxMap.put(
-            ProductCount_Res[i].Consumable_Product__c +
-            ProductCount_Res[i].Box_Piece__c,
-            Jstage
-          );
-        }
-      } else if (
-        MidMap.containsKey(ProductCount_Res[i].Consumable_Product__c) &&
-        ProductCount_Res[i].Box_Piece__c == '涓�'
-      ) {
-        if (
-          newMidPieceMap.containsKey(
-            ProductCount_Res[i].Consumable_Product__c +
-            ProductCount_Res[i].Box_Piece__c
-          )
-        ) {
-          ConsumableorderdetailsInfo Jstage = newMidPieceMap.get(
-              ProductCount_Res[i].Consumable_Product__c +
-              ProductCount_Res[i].Box_Piece__c
-            )
-            .clone();
-          Jstage.countid = Jstage.countid + 1;
-          if (ProductCount_Res[i].Isoverdue__c == 1) {
-            Jstage.limitCount = Jstage.limitCount + 1;
-          }
-          Jstage.boxPiece = ProductCount_Res[i].Box_Piece__c;
-          newMidPieceMap.put(
-            ProductCount_Res[i].Consumable_Product__c +
-            ProductCount_Res[i].Box_Piece__c,
-            Jstage
-          );
-        } else {
-          ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo(
-            MidMap.get(ProductCount_Res[i].Consumable_Product__c)
-          );
-          Jstage.countid = Jstage.countid + 1;
-          if (ProductCount_Res[i].Isoverdue__c == 1) {
-            Jstage.limitCount = Jstage.limitCount + 1;
-          }
-          Jstage.boxPiece = ProductCount_Res[i].Box_Piece__c;
-          newMidPieceMap.put(
-            ProductCount_Res[i].Consumable_Product__c +
-            ProductCount_Res[i].Box_Piece__c,
-            Jstage
-          );
-        }
-      }
-    }
-    for (ConsumableorderdetailsInfo bss : newMidBoxMap.values()) {
-      bss.overlimitCount = bss.countid - bss.limitCount;
-      boxRecords.add(bss);
-    }
-    boxRecords.sort();
-    for (ConsumableorderdetailsInfo bss : newMidPieceMap.values()) {
-      bss.overlimitCount = bss.countid - bss.limitCount;
-    }
-    for (ConsumableorderdetailsInfo bss : boxRecords) {
-      consumableorderdetailsRecords.add(bss);
-      if (newMidPieceMap.containsKey(bss.Prod.Id + '涓�')) {
-        consumableorderdetailsRecords.add(
-          newMidPieceMap.get(bss.Prod.Id + '涓�')
-        );
-        //newMidPieceMap绉婚櫎宸茬粡娣诲姞鐨凱iece
-        newMidPieceMap.remove(bss.Prod.Id + '涓�');
-      }
-    }
-    for (ConsumableorderdetailsInfo bss : newMidPieceMap.values()) {
-      consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '涓�'));
-    }
-    //consumableorderdetailsCount = consumableorderdetailsRecords.size();
-    listCut();
-
-    data.put(
-      'ConsumableorderdetailsRecordsview',
-      JSON.serialize(ConsumableorderdetailsRecordsview)
-    );
-    data.put('userWorkLocation', userWorkLocation);
-    data.put('agencyProType', agencyProType);
-    data.put('accountName', accountName);
-    data.put('accountid', accountid);
-
-    data.put(
-      'consumableorderdetailsRecords',
-      JSON.serialize(consumableorderdetailsRecords)
-    );
-    res.status = 'Success';
-    res.code = 200;
-    System.debug('res = ' + res);
-    return res;
-  }
-
-  private static void listCut() {
-    //鎷嗗垎鏆傜敤list
-    List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordsbreak = new List<ConsumableorderdetailsInfo>();
-    List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordsbreakover = new List<ConsumableorderdetailsInfo>();
-    ConsumableorderdetailsInfo c = null;
-    ConsumableorderdetailsRecordsbreak.clear();
-    ConsumableorderdetailsRecordsbreakover.clear();
-    consumableorderdetailsRecordsview.clear();
-    //閫夋嫨浜у搧view
-    ConsumableorderdetailsRecordsbreak = new List<ConsumableorderdetailsInfo>();
-    ConsumableorderdetailsRecordsbreakover = new List<ConsumableorderdetailsInfo>();
-    if (consumableorderdetailsRecords.size() > 1000) {
-      for (Integer i = 0; i < consumableorderdetailsRecords.size(); i++) {
-        if (i < 1000) {
-          c = consumableorderdetailsRecords.get(i);
-          ConsumableorderdetailsRecordsbreak.add(c);
-        } else {
-          c = consumableorderdetailsRecords.get(i);
-          ConsumableorderdetailsRecordsbreakover.add(c);
-        }
-      }
-      consumableorderdetailsRecordsview.add(ConsumableorderdetailsRecordsbreak);
-      consumableorderdetailsRecordsview.add(
-        ConsumableorderdetailsRecordsbreakover
-      );
-    } else {
-      consumableorderdetailsRecordsview.add(consumableorderdetailsRecords);
-    }
-  }
-  //========20160311======ADD_Start================================
-  // 灏嗛〉闈㈡垨鍙栧緱BarCode鍘绘帀閲嶅鐨勶紝杞崲鎴怢ist
-  //========20160311======ADD_Start================================
-  public static List<String> ParseBarCode(String Code) {
-    Map<String, Integer> barcodeCountMap = new Map<String, Integer>();
-    String[] Cache = new List<String>{};
-    Cache = Code.split('\n');
-    List<String> Buff = new List<String>();
-    for (String A : Cache) {
-      A = A.trim().toUpperCase();
-      if (barcodeCountMap.containsKey(A)) {
-        barcodeCountMap.put(A, barcodeCountMap.get(A) + 1);
-      } else {
-        barcodeCountMap.put(A, 1);
-      }
-      Buff.add(A + barcodeCountMap.get(A));
-    }
-    return Buff;
-  }
-
-  //test
-
-  // @AuraEnabled
-  // public static ResponseBodyLWC searchConsumableorderdetails(String sqlagencyProType,String userWorkLocation,String accountName,String barcode,List<ConsumableorderdetailsInfo> consumableorderdetailsRecordsLWC){
-  //     return new ResponseBodyLWC('Error',500, 'test', '');
-  // }
-  //========20160311======ADD_End==================================
-  // BarCode褰曞叆
-  @AuraEnabled
-  public static ResponseBodyLWC searchConsumableorderdetails(
-    String agencyProType,
-    String userWorkLocation,
-    String accountName,
-    String barcode,
-    String consumableorderdetailsRecordsLWC,
-    Integer pageSizeLWC,
-    Integer pageTokenLWC,
-    String sortFieldLWC,
-    String sortOrderLWC
-  ) {
-    pageSize = pageSizeLWC;
-    pageToken = pageTokenLWC;
-    sortField = sortFieldLWC;
-    sortOrder = sortOrderLWC;
-
-    System.debug(
-      '===>consumableorderdetailsRecordsLWC' + consumableorderdetailsRecordsLWC
-    );
-    List<ConsumableorderdetailsInfo> consumableorderdetailsRecords = (List<ConsumableorderdetailsInfo>) JSON.deserialize(
-      consumableorderdetailsRecordsLWC,
-      List<ConsumableorderdetailsInfo>.class
-    );
-    // ConsumableorderdetailsInfo[] consumableorderdetailsRecords=(List<ConsumableorderdetailsInfo>)JSON.deserialize(consumableorderdetailsRecordsLWC,List<ConsumableorderdetailsInfo>.class);
-    system.debug(
-      '=====>consumableorderdetailsRecordsLWC' +
-      consumableorderdetailsRecordsLWC
-    );
-    ResponseBodyLWC res = new ResponseBodyLWC();
-    Map<String, object> data = new Map<String, object>();
-    res.entity = data;
-
-    sqlagencyProType = '%' + agencyProType + '%';
-    System.debug('sqlagencyProType==>' + sqlagencyProType);
-    System.debug('accountName==>' + accountName);
-    System.debug('userWorkLocation==>' + userWorkLocation);
-
-    /* BarCodelist鍋氭垚 */
-    //FIXME barcodeSet 鍋氭垚锛孭roductCount_ResSet 鍋氭垚
-    List<Consumable_order_details2__c> pandiandetailsList = new List<Consumable_order_details2__c>();
-    pandiandetailsListShow = new List<List<Consumable_order_details2__c>>();
-    done = false;
-    List<String> BarCodeListP = ParseBarCode(barcode);
-    System.debug('BarCodeListP===>' + BarCodeListP);
-    //鏌ヨ搴撳瓨 杩藉姞杩斿搧搴撳瓨
-    List<Consumable_order_details2__c> ProductCount_Res = [
-      SELECT
-        Id,
-        Name,
-        Consumable_Product__c,
-        Bar_Code__c,
-        Consumable_Product__r.Name__c,
-        Dealer_Info_text__c,
-        Asset_Model_No__c,
-        Isoverdue__c,
-        Box_Piece__c,
-        Bar_Code_search__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 Cancellation_Flag__c = FALSE
-        AND Bar_Code__c != NULL
-        AND Product_Type__c LIKE :sqlagencyProType
-        AND Arrive_Owner_Work_Location__c = :userWorkLocation
-        AND Dealer_Info_text__c = :accountName
-    ];
-    System.debug('ProductCount_Res==>' + ProductCount_Res);
-    reFindProduct.clear();
-    Map<String, ConsumableorderdetailsInfo> barCodeListAdjustMap = new Map<String, ConsumableorderdetailsInfo>();
-    //barCodeListLoseMap.clear();
-    Set<String> carCodeListLose = new Set<String>();
-    List<ConsumableorderdetailsInfo> consumableorderdetailsRecordsAdjust = new List<ConsumableorderdetailsInfo>();
-    Map<String, String> proIdNotinpage = new Map<String, String>();
-    List<Consumable_order_details2__c> reFindProductList = new List<Consumable_order_details2__c>();
-    codPageRecords = new List<ConsumableorderdetailsInfo>();
-    consumableorderdetailsRecordserrordummy = new List<ConsumableorderdetailsInfo>();
-    List<ConsumableorderdetailsInfo> reFindProductaddtopage = new List<ConsumableorderdetailsInfo>();
-    pandiandetailsMap.clear();
-    reSet = new List<Consumable_order_details2__c>();
-    /* 鍒ゆ柇BarCode鏄惁涓虹┖ */
-    if (barcode == null || barcode == '') {
-      //鍏堝彇鍑烘墍鏈変涪澶变骇鍝�
-      for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
-        // 20200509 gzw add 鐩樼偣鏁伴噺鍒濆鍖�
-        ass.Pandian = 0;
-        // 20200509 gzw add 鐩樼偣鏁伴噺鍒濆鍖�
-        if (ass.check == true) {
-          //ass.Diff = ass.countid - ass.Pandian;
-          for (integer i = 0; i < ProductCount_Res.size(); i++) {
-            System.debug('Pro==>' + ProductCount_Res[i].Consumable_Product__c);
-            System.debug('ProId==>' + ass.Prod.Id);
-            System.debug('ass.boxPiece ==>' + ass.boxPiece);
-            System.debug('boxPiece ==>' + ProductCount_Res[i].Box_Piece__c);
-            if (
-              ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id &&
-              ass.boxPiece == ProductCount_Res[i].Box_Piece__c
-            ) {
-              if (carCodeListLose.contains(ProductCount_Res[i].Bar_Code__c)) {
-                continue;
-              } else {
-                //consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'涓㈠け'));
-                //pandiandetailsMap.put(ProductCount_Res[i].Id, '涓㈠け');
-                ////barCodeListLoseMap.put(ProductCount_Res[i].Id, new ConsumableorderdetailsInfo(ProductCount_Res[i]));
-                carCodeListLose.add(ProductCount_Res[i].Bar_Code__c);
-              }
-            }
-          }
-        }
-      }
-
-      //宸茬粡鍑哄簱鐨勪骇鍝�
-      List<Consumable_order_details2__c> reSet1 = [
-        SELECT
-          Id,
-          Name,
-          Consumable_Product__c,
-          Bar_Code__c,
-          Consumable_Product__r.Name__c,
-          Asset_Model_No__c,
-          Isoverdue__c,
-          Box_Piece__c,
-          Bar_Code_search__c,
-          Dealer_Info_text__c
-        FROM Consumable_order_details2__c
-        WHERE
-          Dealer_Arrive__c = TRUE
-          AND (Dealer_Shipment__c = TRUE
-          OR Dealer_Saled__c = TRUE)
-          AND Dealer_Returned__c = FALSE
-          AND Cancellation_Flag__c = FALSE
-          AND Bar_Code__c IN :carCodeListLose
-          AND Dealer_Info_text__c = :accountName
-        ORDER BY Name
-      ];
-      Map<String, Consumable_order_details2__c> needreturnMap = new Map<String, Consumable_order_details2__c>();
-      for (Consumable_order_details2__c cod2 : reSet1) {
-        needreturnMap.put(cod2.Bar_Code__c, cod2);
-      }
-
-      // 缁忛攢鍟嗕箣闂存垨鑰呭悓涓�缁忛攢鍟嗕笉鍚屽伐浣滃湴璋冭揣
-      reSet1 = [
-        SELECT
-          Id,
-          Name,
-          Consumable_Product__c,
-          Bar_Code__c,
-          Consumable_Product__r.Name__c,
-          Asset_Model_No__c,
-          Isoverdue__c,
-          Box_Piece__c,
-          Bar_Code_search__c,
-          Dealer_Info_text__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 Cancellation_Flag__c = FALSE
-          AND Bar_Code__c IN :carCodeListLose
-          AND (Dealer_Info_text__c != :accountName
-          OR (Dealer_Info_text__c = :accountName
-          AND Arrive_Owner_Work_Location__c != :userWorkLocation))
-        ORDER BY Name
-      ];
-      Map<String, Consumable_order_details2__c> otherAgProMap = new Map<String, Consumable_order_details2__c>();
-      for (Consumable_order_details2__c cod2 : reSet1) {
-        otherAgProMap.put(cod2.Bar_Code__c, cod2);
-      }
-      carCodeListLose.clear();
-
-      for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
-        if (ass.check == true) {
-          ass.Diff = ass.countid - ass.Pandian;
-          for (integer i = 0; i < ProductCount_Res.size(); i++) {
-            if (
-              ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id &&
-              ass.boxPiece == ProductCount_Res[i].Box_Piece__c
-            ) {
-              if (
-                carCodeListLose.contains(ProductCount_Res[i].Bar_Code_search__c)
-              ) {
-                continue;
-              } else {
-                if (
-                  needreturnMap.containsKey(ProductCount_Res[i].Bar_Code__c)
-                ) {
-                  consumableorderdetailsRecordserrordummy.add(
-                    new ConsumableorderdetailsInfo(
-                      ProductCount_Res[i],
-                      '璇ヤ骇鍝佹湭杩斿搧'
-                    )
-                  );
-                  pandiandetailsMap.put(ProductCount_Res[i].Id, '璇ヤ骇鍝佹湭杩斿搧');
-                  carCodeListLose.add(ProductCount_Res[i].Bar_Code_search__c);
-                  continue;
-                }
-                if (
-                  otherAgProMap.containsKey(ProductCount_Res[i].Bar_Code__c)
-                ) {
-                  consumableorderdetailsRecordserrordummy.add(
-                    new ConsumableorderdetailsInfo(
-                      ProductCount_Res[i],
-                      '璇ヤ骇鍝佸綊灞炰簬' +
-                        otherAgProMap.get(ProductCount_Res[i].Bar_Code__c)
-                          .Dealer_Info_text__c +
-                        '鐨勫簱瀛樸��'
-                    )
-                  );
-                  pandiandetailsMap.put(
-                    ProductCount_Res[i].Id,
-                    '璇ヤ骇鍝佸綊灞炰簬' +
-                      otherAgProMap.get(ProductCount_Res[i].Bar_Code__c)
-                        .Dealer_Info_text__c +
-                      '鐨勫簱瀛樸��'
-                  );
-                  carCodeListLose.add(ProductCount_Res[i].Bar_Code_search__c);
-                  continue;
-                }
-                if (ProductCount_Res[i].Isoverdue__c == 0) {
-                  consumableorderdetailsRecordserrordummy.add(
-                    new ConsumableorderdetailsInfo(
-                      ProductCount_Res[i],
-                      '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��'
-                    )
-                  );
-                  pandiandetailsMap.put(
-                    ProductCount_Res[i].Id,
-                    '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��'
-                  );
-                  carCodeListLose.add(ProductCount_Res[i].Bar_Code_search__c);
-                  ass.Diff--;
-                  continue;
-                }
-                consumableorderdetailsRecordserrordummy.add(
-                  new ConsumableorderdetailsInfo(ProductCount_Res[i], '涓㈠け')
-                );
-                pandiandetailsMap.put(ProductCount_Res[i].Id, '涓㈠け');
-                carCodeListLose.add(ProductCount_Res[i].Bar_Code_search__c);
-              }
-            }
-          }
-        } else {
-          ass.Pandian = 0;
-          ass.Diff = 0;
-        }
-      }
-      List<Consumable_order_details2__c> showcod2 = new List<Consumable_order_details2__c>();
-      if (pandiandetailsMap.keySet().size() > 0) {
-        showcod2 = [
-          SELECT
-            Id,
-            Name,
-            Consumable_Product__c,
-            Bar_Code__c,
-            Consumable_Product__r.Name__c,
-            Asset_Model_No__c,
-            Isoverdue__c,
-            Box_Piece__c,
-            Bar_Code_search__c
-          FROM Consumable_order_details2__c
-          WHERE Id IN :pandiandetailsMap.keySet()
-          ORDER BY Name
-        ];
-      }
-      initStandardController();
-      showcod2nid = cod2s();
-
-      for (Consumable_order_details2__c cod2 : showcod2nid) {
-        codPageRecords.add(
-          new ConsumableorderdetailsInfo(cod2, pandiandetailsMap.get(cod2.Id))
-        );
-      }
-
-      iSinventory = true;
-      if (codPageRecords.size() > 0)
-        done = true;
-      consumableorderdetailsRecordserrordummy.clear();
-
-      //pandiandetailsList = new list<Consumable_order_details2__c>();
-      pandiandetailsList = [
-        SELECT
-          Id,
-          Bar_Code__c,
-          Consumable_Product__r.Name__c,
-          Box_Piece__c,
-          Lose_reason__c
-        FROM Consumable_order_details2__c
-        WHERE Id IN :pandiandetailsMap.keySet()
-        ORDER BY Name
-      ];
-      for (Consumable_order_details2__c codDet : pandiandetailsList) {
-        codDet.Lose_reason__c = pandiandetailsMap.get(codDet.Id);
-      }
-      List<Consumable_order_details2__c> pandiandetailsListMid = new List<Consumable_order_details2__c>();
-      for (Consumable_order_details2__c cod2 : pandiandetailsList) {
-        pandiandetailsListMid.add(cod2);
-        if (pandiandetailsListMid.size() == 1000) {
-          pandiandetailsListShow.add(pandiandetailsListMid);
-          pandiandetailsListMid = new List<Consumable_order_details2__c>();
-        }
-      }
-      if (pandiandetailsListMid.size() > 0) {
-        pandiandetailsListShow.add(pandiandetailsListMid);
-      }
-
-      //鍒嗛〉
-      PaginatedAccounts paginatedAccounts = new PaginatedAccounts();
-      totalCount = codPageRecords.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;
-
-      Integer startIdx;
-      Integer endIdx;
-      List<ConsumableorderdetailsInfo> pageCodeRecords = new List<ConsumableorderdetailsInfo>();
-      startIdx = pageToken;
-      endIdx = startIdx + pageSize;
-      if (endIdx > codPageRecords.size()) {
-        endIdx = codPageRecords.size();
-      }
-      for (Integer i = startIdx; i < endIdx; i++) {
-        pageCodeRecords.add(codPageRecords.get(i));
-      }
-
-      data.put('paginatedAccounts', paginatedAccounts);
-      data.put('pageCodeRecords', pageCodeRecords);
-
-      //end
-      data.put('codPageRecords', JSON.serialize(codPageRecords));
-      data.put(
-        'consumableorderdetailsRecords',
-        JSON.serialize(consumableorderdetailsRecords)
-      );
-      data.put(
-        'consumableorderdetailsRecordsview',
-        JSON.serialize(consumableorderdetailsRecordsview)
-      );
-      data.put('pandiandetailsMap', pandiandetailsMap);
-      System.debug('iSinventory===>' + iSinventory);
-      System.debug('codPageRecords===>' + codPageRecords);
-      data.put('iSinventory', JSON.serialize(iSinventory));
-      data.put('reSet1', reSet1);
-      System.debug('reSet1===>' + reSet1);
-      res.code = 200;
-      res.status = 'Success1';
-
-      return res;
-    }
-
-    //CHAN-B7J4NB 鍙湁涓�涓椂锛岀洏鐐逛笉鍒�
-    //init();
-    //CHAN-B7J4NB
-    Map<String, String> showproductIdMap = new Map<String, String>();
-    for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
-      showproductIdMap.put(
-        ass.prod.Id + ass.boxPiece,
-        ass.prod.Id + ass.boxPiece
-      );
-    }
-    // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCodeListP' + BarCodeListP));
-    /***************************************************************************/
-    // BarCode鐨勬绱�  鎵�鏈夊湪搴�
-    reSet = [
-      SELECT
-        Id,
-        Consumable_Product__c,
-        Consumable_Product__r.Name__c,
-        Box_Piece__c,
-        Bar_Code_search__c,
-        Isoverdue__c
-      FROM Consumable_order_details2__c
-      WHERE
-        Bar_Code_search__c IN :BarCodeListP
-        AND 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_Date__c = NULL
-        AND Bar_Code__c != NULL
-        AND Product_Type__c LIKE :sqlagencyProType
-        AND Arrive_Owner_Work_Location__c = :userWorkLocation
-        AND Dealer_Info_text__c = :accountName
-      ORDER BY Name
-    ];
-    System.debug('reSet===>' + reSet);
-    Map<String, Integer> pandianProdIdCountMap = new Map<String, Integer>(); // ProdId 鍗樹綅
-    // 20200509 add gzw 璁板綍闇�瑕侀攢瀛樻暟閲�
-    Map<String, Integer> pandianoverdueCountMap = new Map<String, Integer>(); // ProdId 鍗樹綅
-    // 20200509 add gzw 璁板綍闇�瑕侀攢瀛樻暟閲�
-    Map<String, ConsumableorderdetailsInfo> barCodeListPandianMap = new Map<String, ConsumableorderdetailsInfo>(); // 鏄庣窗銉愩兗銈炽兗銉� 鍗樹綅
-    //鐩樼偣鍒扮殑鏄庣粏
-    for (Consumable_order_details2__c rs : reSet) {
-      //BarCodeListPandian.add(rs.Bar_Code_search__c);
-      for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
-        if (
-          rs.Consumable_Product__c == ass.Prod.Id &&
-          rs.Box_Piece__c == ass.boxPiece
-        ) {
-          ass.check = true;
-        }
-      }
-
-      barCodeListPandianMap.put(
-        rs.Bar_Code_search__c,
-        new ConsumableorderdetailsInfo(rs)
-      );
-      if (rs.Isoverdue__c == 0) {
-        consumableorderdetailsRecordserrordummy.add(
-          new ConsumableorderdetailsInfo(rs, '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��')
-        );
-        pandiandetailsMap.put(rs.Id, '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��');
-        if (
-          pandianoverdueCountMap.containsKey(
-            rs.Consumable_product__c + rs.Box_Piece__c
-          ) == false
-        ) {
-          pandianoverdueCountMap.put(
-            rs.Consumable_Product__c + rs.Box_Piece__c,
-            1
-          );
-        } else {
-          pandianoverdueCountMap.put(
-            rs.Consumable_Product__c + rs.Box_Piece__c,
-            pandianoverdueCountMap.get(
-              rs.Consumable_Product__c + rs.Box_Piece__c
-            ) + 1
-          );
-        }
-        continue;
-      }
-      if (
-        pandianProdIdCountMap.containsKey(
-          rs.Consumable_product__c + rs.Box_Piece__c
-        ) == false
-      ) {
-        pandianProdIdCountMap.put(
-          rs.Consumable_Product__c + rs.Box_Piece__c,
-          1
-        );
-      } else {
-        pandianProdIdCountMap.put(
-          rs.Consumable_Product__c + rs.Box_Piece__c,
-          pandianProdIdCountMap.get(
-            rs.Consumable_Product__c + rs.Box_Piece__c
-          ) + 1
-        );
-      }
-    }
-
-    // 缁忛攢鍟嗕箣闂存垨鑰呭悓涓�缁忛攢鍟嗕笉鍚屽伐浣滃湴璋冭揣
-    List<Consumable_order_details2__c> reSet1 = [
-      SELECT
-        Id,
-        Name,
-        Consumable_Product__c,
-        Bar_Code__c,
-        Consumable_Product__r.Name__c,
-        Dealer_Shipment__c,
-        Dealer_Saled__c,
-        Asset_Model_No__c,
-        Isoverdue__c,
-        Box_Piece__c,
-        Dealer_Arrive__c,
-        Bar_Code_search__c,
-        Dealer_Info_text__c
-      FROM Consumable_order_details2__c
-      WHERE
-        (Dealer_Arrive__c = TRUE
-        OR Dealer_Shipment__c = TRUE
-        OR Dealer_Saled__c = TRUE)
-        AND Dealer_Returned__c = FALSE
-        AND Cancellation_Flag__c = FALSE
-        AND Bar_Code_search__c IN :BarCodeListP
-        AND (Dealer_Info_text__c != :accountName
-        OR (Dealer_Info_text__c = :accountName
-        AND Arrive_Owner_Work_Location__c != :userWorkLocation))
-      ORDER BY Name
-    ];
-    Map<String, Consumable_order_details2__c> otherAgProMap = new Map<String, Consumable_order_details2__c>();
-    for (Consumable_order_details2__c cod2 : reSet1) {
-      otherAgProMap.put(cod2.Bar_Code__c, cod2);
-    }
-    // 闇�瑕佸叆搴撶殑浜у搧
-    for (Consumable_order_details2__c cod2 : reSet1) {
-      for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
-        if (
-          cod2.Consumable_Product__c == ass.Prod.Id &&
-          cod2.Box_Piece__c == ass.boxPiece
-        ) {
-          ass.check = true;
-        }
-      }
-      if (
-        !showproductIdMap.containsKey(
-          cod2.Consumable_product__c + cod2.Box_Piece__c
-        )
-      ) {
-        reFindProductList.add(cod2);
-        proIdNotinpage.put(cod2.Consumable_Product__c, cod2.Box_Piece__c);
-      }
-      if (
-        !barCodeListPandianMap.containsKey(cod2.Bar_Code_search__c) &&
-        otherAgProMap.containsKey(cod2.Bar_Code__c) &&
-        (otherAgProMap.get(cod2.Bar_Code__c).Dealer_Saled__c == true ||
-        otherAgProMap.get(cod2.Bar_Code__c).Dealer_Shipment__c == true)
-      ) {
-        consumableorderdetailsRecordserrordummy.add(
-          new ConsumableorderdetailsInfo(cod2, '鏃犳浜у搧鐨勫簱瀛橈紝璇峰叆搴撱��')
-        );
-        pandiandetailsMap.put(cod2.Id, '鏃犳浜у搧鐨勫簱瀛橈紝璇峰叆搴撱��');
-      }
-    }
+    //public List<Consumable_order_details2__c> pandiandetailsList { get; set; }
+    public static List<List<Consumable_order_details2__c>> pandiandetailsListShow { get; set; }
     //瀵诲洖鏄庣粏
-    List<Consumable_order_details2__c> productAdjust = new List<Consumable_order_details2__c>();
-    productAdjust = [
-      SELECT
-        Id,
-        Name,
-        Consumable_Product__c,
-        Bar_Code__c,
-        Consumable_Product__r.Name__c,
-        Lose_reason__c,
-        Asset_Model_No__c,
-        Box_Piece__c,
-        Bar_Code_search__c,
-        Isoverdue__c
-      FROM Consumable_order_details2__c
-      WHERE
-        Bar_Code_search__c IN :BarCodeListP
-        AND Bar_Code__c != NULL
-        AND Lose_Flag__c = TRUE
-        AND Product_Type__c LIKE :sqlagencyProType
-        AND Dealer_Info_text__c = :accountName
-        AND Arrive_Owner_Work_Location__c = :userWorkLocation
-      ORDER BY Name
-    ];
+    public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecordserrordummy; // 涓㈠け鍜屽贰鍥炵殑,瀹為檯鐐掍綔鐢�
+    @AuraEnabled
+    public static List<List<ConsumableorderdetailsInfo>> consumableorderdetailsRecordsview { get; set; } // 浜у搧鍗曚綅鐨凩ist
+    public static List<Consumable_order_details2__c> InsListUp = new List<Consumable_order_details2__c>();
 
-    for (Consumable_order_details2__c rs : productAdjust) {
-      // 杩囨湡搴撳瓨閿�瀛� 20200427 gzw add srart
-      if (rs.Isoverdue__c == 0 || rs.Lose_reason__c == '杩囨湡搴撳瓨閿�瀛�') {
-        consumableorderdetailsRecordserrordummy.add(
-          new ConsumableorderdetailsInfo(rs, '杩囨湡鎴栬�呴攢瀛樹骇鍝侊紝鏃犳硶瀵诲洖鍏ュ簱')
-        );
-        pandiandetailsMap.put(rs.Id, '杩囨湡鎴栬�呴攢瀛樹骇鍝侊紝鏃犳硶瀵诲洖鍏ュ簱');
-        carCodeListLose.add(rs.Bar_Code_search__c);
-        continue;
-      }
-      // 杩囨湡搴撳瓨閿�瀛� 20200427 gzw add end
-      for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
-        if (
-          rs.Consumable_Product__c == ass.Prod.Id &&
-          rs.Box_Piece__c == ass.boxPiece
-        ) {
-          ass.check = true;
+    public static List<ConsumableorderdetailsInfo> consumableorderdetailsviewRecords;
+
+    public static Integer consumableorderdetailsCount {
+        get {
+            return consumableorderdetailsRecords == null ? 0 : consumableorderdetailsRecords.size();
         }
-      }
-      if (
-        !showproductIdMap.containsKey(
-          rs.Consumable_product__c + rs.Box_Piece__c
-        )
-      ) {
-        reFindProductList.add(rs);
-        proIdNotinpage.put(rs.Consumable_Product__c, rs.Box_Piece__c);
-      }
-      if (barCodeListAdjustMap.containsKey(rs.Bar_Code_search__c)) {
-        continue;
-      } else {
-        barCodeListAdjustMap.put(
-          rs.Bar_Code_search__c,
-          new ConsumableorderdetailsInfo(rs)
-        );
-        consumableorderdetailsRecordserrordummy.add(
-          new ConsumableorderdetailsInfo(rs, '瀵诲洖')
-        );
-        pandiandetailsMap.put(rs.Id, '瀵诲洖');
-        consumableorderdetailsRecordsAdjust.add(
-          new ConsumableorderdetailsInfo(rs)
-        );
-      }
     }
-    if (reFindProductList.size() > 0) {
-      Map<String, Product2__c> midMap = new Map<String, Product2__c>();
-      List<ConsumableorderdetailsInfo> boxRecords = new List<ConsumableorderdetailsInfo>();
-      Map<String, ConsumableorderdetailsInfo> newMidBoxMap = new Map<String, ConsumableorderdetailsInfo>();
-      Map<String, ConsumableorderdetailsInfo> newMidPieceMap = new Map<String, ConsumableorderdetailsInfo>();
-      List<Product2__c> product_Refind = [
-        SELECT
-          Id,
-          Name,
-          Name__c,
-          SFDA_Status__c,
-          Packing_list_manual__c,
-          Asset_Model_No__c
-        FROM Product2__c
-        WHERE Id IN :proIdNotinpage.keySet()
-      ];
-      for (Product2__c pro : product_Refind) {
-        midMap.put(pro.Id, pro);
-      }
-      for (Integer i = 0; i < reFindProductList.size(); i++) {
-        //鐒跺悗寰幆CountDel鍋欱ox鍜宲iece2涓猰ap
-        if (
-          MidMap.containsKey(reFindProductList[i].Consumable_Product__c) &&
-          reFindProductList[i].Box_Piece__c == '鐩�'
-        ) {
-          if (
-            newMidBoxMap.containsKey(
-              reFindProductList[i].Consumable_Product__c +
-              reFindProductList[i].Box_Piece__c
-            )
-          ) {
-            ConsumableorderdetailsInfo Jstage = newMidBoxMap.get(
-                reFindProductList[i].Consumable_Product__c +
-                reFindProductList[i].Box_Piece__c
-              )
-              .clone();
-            Jstage.countid = 0;
-            if (reFindProductList[i].Isoverdue__c == 1) {
-              Jstage.limitCount = 0;
+    //list<String> notexitlist = new list<String>();
+    public static Map<String, String> reFindProduct = new Map<String, String>();
+    //鎺掑簭鐢�
+    // public static  String sortKey;
+    // public static  String preSortKey;
+    // public static  Boolean sortOrderAsc;
+    // public static  String[] sortOrder;
+    //private Set<String> carCodeListLose = new Set<String>();              //ProductCount_Res 鏈夛紝BarCodeListP 娌℃湁
+    /*****************缁忛攢鍟咺D******************/
+    private static String accountid = null;
+    private static String accountName = null;
+    // 鐩樼偣 ID
+    private static String eSetId = '';
+    // 鐧诲綍鑰呭伐浣滃湴
+    private static String userWorkLocation;
+    //缁忛攢鍟嗙敤鎴蜂骇鍝佸垎绫伙紙ET銆丒NG锛�
+    public static String agencyProType { get; set; }
+    public static String sqlagencyProType;
+    //鍒ゆ柇鎿嶄綔浜哄憳鏄惁鐩樼偣
+    public static Boolean iSinventory = false;
+
+    public LexInventoryController() {
+        size = Integer.valueOf(System.Label.orderdetLimitsize);
+        consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>();
+        done = false;
+
+        consumableorderdetailsRecordsview = new List<List<ConsumableorderdetailsInfo>>();
+        consumableorderdetailsRecordserrordummy = new List<ConsumableorderdetailsInfo>();
+        codPageRecords = new List<ConsumableorderdetailsInfo>();
+        //codPageRecordsShow = new List<ConsumableorderdetailsInfo>();
+    }
+
+    private static void initStandardController() {
+        // init standard controller
+        List<Consumable_order_details2__c> showcod2 = [
+            SELECT
+                Id,
+                Name,
+                Consumable_Product__c,
+                Bar_Code__c,
+                Consumable_Product__r.Name__c,
+                Asset_Model_No__c,
+                Isoverdue__c,
+                Box_Piece__c,
+                Bar_Code_search__c
+            FROM Consumable_order_details2__c
+            WHERE Id IN :pandiandetailsMap.keySet()
+            ORDER BY Name DESC
+        ];
+        setConDetails2 = showcod2;
+        System.debug('setConDetails2===>' + setConDetails2);
+        // setCon = new ApexPages.StandardSetController(showcod2);
+        // // sets the number of records in each page set
+        // setCon.setPageSize(size);
+        // noOfRecords = setCon.getResultSize();
+    }
+
+    public static List<Consumable_order_details2__c> cod2s() {
+        return setConDetails2;
+    }
+    //Changes the size of pagination
+    public static PageReference refreshPageSize() {
+        setCon.setPageSize(size);
+        //showcod2nid = cod2s();
+        makepagerecords();
+        return null;
+    }
+
+    public static List<ConsumableorderdetailsInfo> makepagerecords() {
+        showcod2nid = cod2s();
+        codPageRecords = new List<ConsumableorderdetailsInfo>();
+        for (Consumable_order_details2__c cod2 : showcod2nid) {
+            codPageRecords.add(new ConsumableorderdetailsInfo(cod2, pandiandetailsMap.get(cod2.Id)));
+        }
+        System.debug('===>codPageRecords1' + codPageRecords);
+        return codPageRecords;
+    }
+
+    // 鐢婚潰鍒濆鍖�
+    @AuraEnabled
+    public static ResponseBodyLWC init() {
+        ResponseBodyLWC res = new ResponseBodyLWC();
+        Map<String, object> data = new Map<String, object>();
+        res.entity = data;
+
+        consumableorderdetailsRecordsview = new List<List<ConsumableorderdetailsInfo>>();
+        setConDetails2 = new List<Consumable_order_details2__c>();
+        String url = '鍦ㄥ簱璋冩暣涓�瑙�';
+        fileName = EncodingUtil.urlEncode(url, 'UTF-8');
+        List<Consumable_order_details2__c> showcod2 = [
+            SELECT
+                Id,
+                Name,
+                Consumable_Product__c,
+                Bar_Code__c,
+                Consumable_Product__r.Name__c,
+                Asset_Model_No__c,
+                Isoverdue__c,
+                Box_Piece__c,
+                Bar_Code_search__c
+            FROM Consumable_order_details2__c
+            WHERE Id IN :pandiandetailsMap.keySet()
+            ORDER BY Name
+        ];
+        System.debug('pandiandetailsMap====>' + pandiandetailsMap);
+        initStandardController();
+        makepagerecords();
+        // sortKey = '1';
+        // preSortKey = '1';
+        // sortOrderAsc = false;
+        // sortOrder = new String[1];
+        // sortOrder = new String[]{' ',' ','鈫�'};
+
+        String userId = UserInfo.getUserId();
+        //String userId = '00510000006k82X';
+        //String 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';
+        }
+        sqlagencyProType = '%' + agencyProType + '%';
+        Account accountInfo = [SELECT Name, Dealer_discount__c FROM account WHERE id = :accountid];
+        accountName = accountInfo.Name;
+        consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>();
+        Map<String, Product2__c> midMap = new Map<String, Product2__c>();
+        List<ConsumableorderdetailsInfo> boxRecords = new List<ConsumableorderdetailsInfo>();
+        Map<String, ConsumableorderdetailsInfo> newMidBoxMap = new Map<String, ConsumableorderdetailsInfo>();
+        Map<String, ConsumableorderdetailsInfo> newMidPieceMap = new Map<String, ConsumableorderdetailsInfo>();
+        //DB202302357027 娑堣�楀搧杩芥函绯荤粺鏃犳硶姝e父浣跨敤鈥斺�旂洏鐐归〉闈㈡搷浣滃嵆鎶ラ敊 fy start
+        //寮�濮嬪埗浣滆〃澶存暟鎹�
+        // List<Product2__c> productCount_Unfull_bak = [select Id, Name,Name__c,
+        //                                                     SFDA_Status__c,Packing_list_manual__c,
+        //                                                     Asset_Model_No__c
+        //                                                 from Product2__c
+        //                                                 //where Estimation_Entry_Possibility__c = '鈼�'
+        //                                                  where Product_Type__c like : sqlagencyProType
+        //                                                 ];
+        // for(integer i = 0;i < productCount_Unfull_bak.size() ; i++){
+        //     midMap.put(productCount_Unfull_bak[i].Id, productCount_Unfull_bak[i]);
+        // }
+        //鏌ヨ搴撳瓨 杩藉姞杩斿搧搴撳瓨
+        List<Consumable_order_details2__c> ProductCount_Res = [
+            SELECT
+                Id,
+                Name,
+                Consumable_Product__c,
+                Bar_Code__c,
+                Consumable_Product__r.Name__c,
+                Asset_Model_No__c,
+                Isoverdue__c,
+                Box_Piece__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 Cancellation_Flag__c = FALSE
+                AND Bar_Code__c != NULL
+                AND Product_Type__c LIKE :sqlagencyProType
+                AND Arrive_Owner_Work_Location__c = :userWorkLocation
+                AND Dealer_Info_text__c = :accountName
+        ];
+        //DB202302357027 娑堣�楀搧杩芥函绯荤粺鏃犳硶姝e父浣跨敤鈥斺�旂洏鐐归〉闈㈡搷浣滃嵆鎶ラ敊 fy start
+        //寮�濮嬪埗浣滆〃澶存暟鎹�
+        Set<Id> Product2cIdSet = new Set<Id>();
+        for (Consumable_order_details2__c con_or_d2item : ProductCount_Res) {
+            Product2cIdSet.add(con_or_d2item.Consumable_Product__c);
+        }
+        List<Product2__c> productCount_Unfull_bak = [
+            SELECT Id, Name, Name__c, SFDA_Status__c, Packing_list_manual__c, Asset_Model_No__c
+            FROM Product2__c
+            //where Estimation_Entry_Possibility__c = '鈼�'
+            WHERE Id IN :Product2cIdSet AND Product_Type__c LIKE :sqlagencyProType
+        ];
+        for (integer i = 0; i < productCount_Unfull_bak.size(); i++) {
+            midMap.put(productCount_Unfull_bak[i].Id, productCount_Unfull_bak[i]);
+        }
+        system.debug('productCount_Unfull_bak' + productCount_Unfull_bak.size());
+        // String erro='productCount_Unfull_bak:'+productCount_Unfull_bak.size();
+        // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, erro));
+        //DB202302357027 娑堣�楀搧杩芥函绯荤粺鏃犳硶姝e父浣跨敤鈥斺�旂洏鐐归〉闈㈡搷浣滃嵆鎶ラ敊 fy end
+        // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'ProductCount_Res  ' + ProductCount_Res.size()));
+        for (Integer i = 0; i < ProductCount_Res.size(); i++) {
+            //鐒跺悗寰幆CountDel鍋欱ox鍜宲iece2涓猰ap
+            if (MidMap.containsKey(ProductCount_Res[i].Consumable_Product__c) && ProductCount_Res[i].Box_Piece__c == '鐩�') {
+                if (newMidBoxMap.containsKey(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c)) {
+                    ConsumableorderdetailsInfo Jstage = newMidBoxMap.get(
+                            ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c
+                        )
+                        .clone();
+                    Jstage.countid = Jstage.countid + 1;
+                    if (ProductCount_Res[i].Isoverdue__c == 1) {
+                        Jstage.limitCount = Jstage.limitCount + 1;
+                    }
+                    Jstage.boxPiece = ProductCount_Res[i].Box_Piece__c;
+                    newMidBoxMap.put(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c, Jstage);
+                } else {
+                    ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo(
+                        MidMap.get(ProductCount_Res[i].Consumable_Product__c)
+                    );
+                    Jstage.countid = Jstage.countid + 1;
+                    if (ProductCount_Res[i].Isoverdue__c == 1) {
+                        Jstage.limitCount = Jstage.limitCount + 1;
+                    }
+                    Jstage.boxPiece = ProductCount_Res[i].Box_Piece__c;
+                    newMidBoxMap.put(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c, Jstage);
+                }
+            } else if (MidMap.containsKey(ProductCount_Res[i].Consumable_Product__c) && ProductCount_Res[i].Box_Piece__c == '涓�') {
+                if (newMidPieceMap.containsKey(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c)) {
+                    ConsumableorderdetailsInfo Jstage = newMidPieceMap.get(
+                            ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c
+                        )
+                        .clone();
+                    Jstage.countid = Jstage.countid + 1;
+                    if (ProductCount_Res[i].Isoverdue__c == 1) {
+                        Jstage.limitCount = Jstage.limitCount + 1;
+                    }
+                    Jstage.boxPiece = ProductCount_Res[i].Box_Piece__c;
+                    newMidPieceMap.put(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c, Jstage);
+                } else {
+                    ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo(
+                        MidMap.get(ProductCount_Res[i].Consumable_Product__c)
+                    );
+                    Jstage.countid = Jstage.countid + 1;
+                    if (ProductCount_Res[i].Isoverdue__c == 1) {
+                        Jstage.limitCount = Jstage.limitCount + 1;
+                    }
+                    Jstage.boxPiece = ProductCount_Res[i].Box_Piece__c;
+                    newMidPieceMap.put(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c, Jstage);
+                }
             }
-            Jstage.boxPiece = reFindProductList[i].Box_Piece__c;
-            newMidBoxMap.put(
-              reFindProductList[i].Consumable_Product__c +
-              reFindProductList[i].Box_Piece__c,
-              Jstage
-            );
-          } else {
-            ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo(
-              MidMap.get(reFindProductList[i].Consumable_Product__c)
-            );
-            Jstage.countid = 0;
-            if (reFindProductList[i].Isoverdue__c == 1) {
-              Jstage.limitCount = 0;
+        }
+        for (ConsumableorderdetailsInfo bss : newMidBoxMap.values()) {
+            bss.overlimitCount = bss.countid - bss.limitCount;
+            boxRecords.add(bss);
+        }
+        boxRecords.sort();
+        for (ConsumableorderdetailsInfo bss : newMidPieceMap.values()) {
+            bss.overlimitCount = bss.countid - bss.limitCount;
+        }
+        for (ConsumableorderdetailsInfo bss : boxRecords) {
+            consumableorderdetailsRecords.add(bss);
+            if (newMidPieceMap.containsKey(bss.Prod.Id + '涓�')) {
+                consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '涓�'));
+                //newMidPieceMap绉婚櫎宸茬粡娣诲姞鐨凱iece
+                newMidPieceMap.remove(bss.Prod.Id + '涓�');
             }
-            Jstage.boxPiece = reFindProductList[i].Box_Piece__c;
-            newMidBoxMap.put(
-              reFindProductList[i].Consumable_Product__c +
-              reFindProductList[i].Box_Piece__c,
-              Jstage
-            );
-          }
-        } else if (
-          MidMap.containsKey(reFindProductList[i].Consumable_Product__c) &&
-          reFindProductList[i].Box_Piece__c == '涓�'
-        ) {
-          if (
-            newMidPieceMap.containsKey(
-              reFindProductList[i].Consumable_Product__c +
-              reFindProductList[i].Box_Piece__c
-            )
-          ) {
-            ConsumableorderdetailsInfo Jstage = newMidPieceMap.get(
-                reFindProductList[i].Consumable_product__c +
-                reFindProductList[i].Box_Piece__c
-              )
-              .clone();
-            Jstage.countid = 0;
-            if (reFindProductList[i].Isoverdue__c == 1) {
-              Jstage.limitCount = 0;
+        }
+        for (ConsumableorderdetailsInfo bss : newMidPieceMap.values()) {
+            consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '涓�'));
+        }
+        //consumableorderdetailsCount = consumableorderdetailsRecords.size();
+        listCut();
+
+        data.put('ConsumableorderdetailsRecordsview', JSON.serialize(ConsumableorderdetailsRecordsview));
+        data.put('userWorkLocation', userWorkLocation);
+        data.put('agencyProType', agencyProType);
+        data.put('accountName', accountName);
+        data.put('accountid', accountid);
+
+        data.put('consumableorderdetailsRecords', JSON.serialize(consumableorderdetailsRecords));
+        res.status = 'Success';
+        res.code = 200;
+        System.debug('res = ' + res);
+        return res;
+    }
+
+    private static void listCut() {
+        //鎷嗗垎鏆傜敤list
+        List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordsbreak = new List<ConsumableorderdetailsInfo>();
+        List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordsbreakover = new List<ConsumableorderdetailsInfo>();
+        ConsumableorderdetailsInfo c = null;
+        ConsumableorderdetailsRecordsbreak.clear();
+        ConsumableorderdetailsRecordsbreakover.clear();
+        consumableorderdetailsRecordsview.clear();
+        //閫夋嫨浜у搧view
+        ConsumableorderdetailsRecordsbreak = new List<ConsumableorderdetailsInfo>();
+        ConsumableorderdetailsRecordsbreakover = new List<ConsumableorderdetailsInfo>();
+        if (consumableorderdetailsRecords.size() > 1000) {
+            for (Integer i = 0; i < consumableorderdetailsRecords.size(); i++) {
+                if (i < 1000) {
+                    c = consumableorderdetailsRecords.get(i);
+                    ConsumableorderdetailsRecordsbreak.add(c);
+                } else {
+                    c = consumableorderdetailsRecords.get(i);
+                    ConsumableorderdetailsRecordsbreakover.add(c);
+                }
             }
-            Jstage.boxPiece = reFindProductList[i].Box_Piece__c;
-            newMidPieceMap.put(
-              reFindProductList[i].Consumable_Product__c +
-              reFindProductList[i].Box_Piece__c,
-              Jstage
-            );
-          } else {
-            ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo(
-              MidMap.get(reFindProductList[i].Consumable_Product__c)
-            );
-            Jstage.countid = 0;
-            if (reFindProductList[i].Isoverdue__c == 1) {
-              Jstage.limitCount = 0;
-            }
-            Jstage.boxPiece = reFindProductList[i].Box_Piece__c;
-            newMidPieceMap.put(
-              reFindProductList[i].Consumable_Product__c +
-              reFindProductList[i].Box_Piece__c,
-              Jstage
-            );
-          }
-        }
-      }
-      for (ConsumableorderdetailsInfo bss : newMidBoxMap.values()) {
-        bss.check = true;
-        bss.overlimitCount = bss.countid - bss.limitCount;
-        boxRecords.add(bss);
-      }
-      boxRecords.sort();
-      for (ConsumableorderdetailsInfo bss : newMidPieceMap.values()) {
-        bss.check = true;
-        bss.overlimitCount = bss.countid - bss.limitCount;
-      }
-      for (ConsumableorderdetailsInfo bss : boxRecords) {
-        consumableorderdetailsRecords.add(bss);
-        if (newMidPieceMap.containsKey(bss.Prod.Id + '涓�')) {
-          consumableorderdetailsRecords.add(
-            newMidPieceMap.get(bss.Prod.Id + '涓�')
-          );
-          //newMidPieceMap绉婚櫎宸茬粡娣诲姞鐨凱iece
-          newMidPieceMap.remove(bss.Prod.Id + '涓�');
-        }
-      }
-      for (ConsumableorderdetailsInfo bss : newMidPieceMap.values()) {
-        consumableorderdetailsRecords.add(
-          newMidPieceMap.get(bss.Prod.Id + '涓�')
-        );
-      }
-    }
-
-    //鍏堝彇鍑烘湭鐩樼偣鍒扮殑浜у搧
-    for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
-      if (ass.check == true) {
-        for (integer i = 0; i < ProductCount_Res.size(); i++) {
-          if (
-            ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id &&
-            ass.boxPiece == ProductCount_Res[i].Box_Piece__c
-          ) {
-            if (
-              barCodeListPandianMap.get(
-                ProductCount_Res[i].Bar_Code_search__c
-              ) != null
-            ) {
-              continue;
-            } else {
-              carCodeListLose.add(ProductCount_Res[i].Bar_Code__c);
-              ////barCodeListLoseMap.put(ProductCount_Res[i].Id, new ConsumableorderdetailsInfo(ProductCount_Res[i]));
-              //consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'涓㈠け'));
-              //pandiandetailsMap.put(ProductCount_Res[i].Id, '涓㈠け');
-            }
-          }
-        }
-      }
-    }
-    //宸茬粡鍑哄簱鐨勪骇鍝�
-    List<Consumable_order_details2__c> reSet2 = [
-      SELECT
-        Id,
-        Name,
-        Consumable_Product__c,
-        Bar_Code__c,
-        Consumable_Product__r.Name__c,
-        Asset_Model_No__c,
-        Isoverdue__c,
-        Box_Piece__c,
-        Bar_Code_search__c,
-        Dealer_Info_text__c
-      FROM Consumable_order_details2__c
-      WHERE
-        Dealer_Arrive__c = TRUE
-        AND (Dealer_Shipment__c = TRUE
-        OR Dealer_Saled__c = TRUE)
-        AND Dealer_Returned__c = FALSE
-        AND Cancellation_Flag__c = FALSE
-        AND Bar_Code_search__c IN :BarCodeListP
-        AND Dealer_Info_text__c = :accountName
-      ORDER BY Name
-    ];
-    Map<String, Consumable_order_details2__c> needreturnMap = new Map<String, Consumable_order_details2__c>();
-    for (Consumable_order_details2__c cod2 : reSet2) {
-      needreturnMap.put(cod2.Bar_Code__c, cod2);
-    }
-    //// 缁忛攢鍟嗕箣闂存垨鑰呭悓涓�缁忛攢鍟嗕笉鍚屽伐浣滃湴璋冭揣
-    //List<Consumable_order_details2__c> reSet1 = [SELECT Id,  Name,Consumable_Product__c,
-    //                Bar_Code__c,Consumable_Product__r.Name__c,Dealer_Shipment__c,Dealer_Saled__c,
-    //                Asset_Model_No__c,Isoverdue__c,Box_Piece__c,Dealer_Arrive__c,
-    //                Bar_Code_search__c,Dealer_Info_text__c
-    //            FROM Consumable_order_details2__c
-    //            WHERE (Dealer_Arrive__c = TRUE
-    //            or  Dealer_Shipment__c= TRUE
-    //            or  Dealer_Saled__c = TRUE)
-    //            AND  Dealer_Returned__c = FALSE
-    //            AND  Cancellation_Flag__c = FALSE
-    //            AND  Bar_Code_search__c in :BarCodeListP
-    //            AND (Dealer_Info_text__c != :accountName
-    //                OR (Dealer_Info_text__c = :accountName
-    //                    AND Arrive_Owner_Work_Location__c != :userWorkLocation)
-    //            )
-    //            ORDER BY Name ];
-    //Map<String,Consumable_order_details2__c> otherAgProMap = new Map<String,Consumable_order_details2__c>();
-    //for(Consumable_order_details2__c cod2 :reSet1){
-    //    otherAgProMap.put(cod2.Bar_Code__c,cod2);
-    //}
-    carCodeListLose.clear();
-    //鏈洏鐐瑰埌鐨勪骇鍝�
-    for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
-      if (ass.check == true) {
-        for (integer i = 0; i < ProductCount_Res.size(); i++) {
-          if (
-            ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id &&
-            ass.boxPiece == ProductCount_Res[i].Box_Piece__c
-          ) {
-            if (
-              barCodeListPandianMap.containsKey(
-                ProductCount_Res[i].Bar_Code_search__c
-              )
-            ) {
-              continue;
-            }
-            if (ProductCount_Res[i].Isoverdue__c == 0) {
-              consumableorderdetailsRecordserrordummy.add(
-                new ConsumableorderdetailsInfo(
-                  ProductCount_Res[i],
-                  '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��'
-                )
-              );
-              pandiandetailsMap.put(
-                ProductCount_Res[i].Id,
-                '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��'
-              );
-              if (
-                pandianoverdueCountMap.containsKey(
-                  ProductCount_Res[i].Consumable_product__c +
-                  ProductCount_Res[i].Box_Piece__c
-                ) == false
-              ) {
-                pandianoverdueCountMap.put(
-                  ProductCount_Res[i].Consumable_Product__c +
-                  ProductCount_Res[i].Box_Piece__c,
-                  1
-                );
-              } else {
-                pandianoverdueCountMap.put(
-                  ProductCount_Res[i].Consumable_Product__c +
-                  ProductCount_Res[i].Box_Piece__c,
-                  pandianoverdueCountMap.get(
-                    ProductCount_Res[i].Consumable_Product__c +
-                    ProductCount_Res[i].Box_Piece__c
-                  ) + 1
-                );
-              }
-              continue;
-            }
-
-            consumableorderdetailsRecordserrordummy.add(
-              new ConsumableorderdetailsInfo(ProductCount_Res[i], '涓㈠け')
-            );
-            pandiandetailsMap.put(ProductCount_Res[i].Id, '涓㈠け');
-          }
-        }
-        // 鍚屾椂瀛樺湪鍏朵粬缁忛攢鍟嗗簱瀛樹骇鍝�
-        for (Consumable_order_details2__c cod2 : reSet1) {
-          if (
-            cod2.Consumable_Product__c == ass.Prod.Id &&
-            ass.boxPiece == cod2.Box_Piece__c
-          ) {
-            if (
-              barCodeListPandianMap.containsKey(cod2.Bar_Code_search__c) &&
-              otherAgProMap.containsKey(cod2.Bar_Code__c) &&
-              otherAgProMap.get(cod2.Bar_Code__c).Dealer_Saled__c == false &&
-              otherAgProMap.get(cod2.Bar_Code__c).Dealer_Shipment__c == false
-            ) {
-              consumableorderdetailsRecordserrordummy.add(
-                new ConsumableorderdetailsInfo(
-                  cod2,
-                  '璇ヤ骇鍝佸綊灞炰簬' +
-                    otherAgProMap.get(cod2.Bar_Code__c).Dealer_Info_text__c +
-                    '鐨勫簱瀛樸��'
-                )
-              );
-              pandiandetailsMap.put(
-                cod2.Id,
-                '璇ヤ骇鍝佸綊灞炰簬' +
-                  otherAgProMap.get(cod2.Bar_Code__c).Dealer_Info_text__c +
-                  '鐨勫簱瀛樸��'
-              );
-              continue;
-            }
-          }
-        }
-        // 闇�瑕佽繑鍝佺殑浜у搧
-        for (Consumable_order_details2__c cod2 : reSet2) {
-          if (
-            cod2.Consumable_Product__c == ass.Prod.Id &&
-            ass.boxPiece == cod2.Box_Piece__c
-          ) {
-            if (needreturnMap.containsKey(cod2.Bar_Code__c)) {
-              consumableorderdetailsRecordserrordummy.add(
-                new ConsumableorderdetailsInfo(
-                  cod2,
-                  '璇ヤ骇鍝佺洰鍓嶅嚭搴撶姸鎬侊紝璇疯繑鍝併��'
-                )
-              );
-              pandiandetailsMap.put(cod2.Id, '璇ヤ骇鍝佺洰鍓嶅嚭搴撶姸鎬侊紝璇疯繑鍝併��');
-              continue;
-            }
-          }
-        }
-      }
-    }
-
-    //鏇存柊涓绘槑缁嗗崟
-    if (barCodeListPandianMap.size() > 0) {
-      for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
-        if (ass.check == true) {
-          integer countSum = 0;
-          if (pandianProdIdCountMap.containsKey(ass.Prod.Id + ass.boxPiece)) {
-            countSum = pandianProdIdCountMap.get(ass.Prod.Id + ass.boxPiece);
-          }
-          integer overdueSum = 0;
-          if (pandianoverdueCountMap.containsKey(ass.Prod.Id + ass.boxPiece)) {
-            overdueSum = pandianoverdueCountMap.get(ass.Prod.Id + ass.boxPiece);
-          }
-          ass.Pandian = countSum;
-          ass.Diff = ass.countid - countSum - overdueSum;
-          ass.refind = 0;
-        }
-      }
-    } else {
-      for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
-        if (ass.check == true) {
-          integer overdueSum = 0;
-          if (pandianoverdueCountMap.containsKey(ass.Prod.Id + ass.boxPiece)) {
-            overdueSum = pandianoverdueCountMap.get(ass.Prod.Id + ass.boxPiece);
-          }
-          ass.Diff = ass.countid - ass.Pandian - overdueSum;
-        }
-      }
-    }
-
-    //瀵诲洖鍋氭垚
-    for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
-      for (
-        ConsumableorderdetailsInfo adjust : consumableorderdetailsRecordsAdjust
-      ) {
-        if (
-          ass.Prod.Name__c == adjust.Prod.Name__c &&
-          ass.boxPiece == adjust.orderdetails2.Box_Piece__c
-        ) {
-          if (
-            reFindProduct.containsKey(adjust.orderdetails2.Bar_Code_search__c)
-          ) {
-            continue;
-          } else {
-            ass.Pandian++;
-            ass.refind++;
-            reFindProduct.put(
-              adjust.orderdetails2.Bar_Code_search__c,
-              adjust.orderdetails2.Bar_Code_search__c
-            );
-          }
-        }
-      }
-    }
-    if (pandiandetailsMap.keySet().size() > 0) {
-      List<Consumable_order_details2__c> showcod2 = [
-        SELECT
-          Id,
-          Name,
-          Consumable_Product__c,
-          Bar_Code__c,
-          Consumable_Product__r.Name__c,
-          Asset_Model_No__c,
-          Isoverdue__c,
-          Box_Piece__c,
-          Bar_Code_search__c
-        FROM Consumable_order_details2__c
-        WHERE Id IN :pandiandetailsMap.keySet()
-        ORDER BY Name
-      ];
-      initStandardController();
-      showcod2nid = cod2s();
-    }
-    for (Consumable_order_details2__c cod2 : showcod2nid) {
-      codPageRecords.add(
-        new ConsumableorderdetailsInfo(cod2, pandiandetailsMap.get(cod2.Id))
-      );
-    }
-    if (codPageRecords.size() > 0)
-      done = true;
-    iSinventory = true;
-    consumableorderdetailsRecordserrordummy.clear();
-    pandiandetailsList = [
-      SELECT
-        Id,
-        Bar_Code__c,
-        Consumable_Product__r.Name__c,
-        Box_Piece__c,
-        Lose_reason__c
-      FROM Consumable_order_details2__c
-      WHERE Id IN :pandiandetailsMap.keySet()
-      ORDER BY Name
-    ];
-    for (Consumable_order_details2__c codDet : pandiandetailsList) {
-      codDet.Lose_reason__c = pandiandetailsMap.get(codDet.Id);
-    }
-    List<Consumable_order_details2__c> pandiandetailsListMid = new List<Consumable_order_details2__c>();
-    for (Consumable_order_details2__c cod2 : pandiandetailsList) {
-      pandiandetailsListMid.add(cod2);
-      if (pandiandetailsListMid.size() == 1000) {
-        pandiandetailsListShow.add(pandiandetailsListMid);
-        pandiandetailsListMid = new List<Consumable_order_details2__c>();
-      }
-    }
-    if (pandiandetailsListMid.size() > 0) {
-      pandiandetailsListShow.add(pandiandetailsListMid);
-    }
-    //鍒嗛〉
-    PaginatedAccounts paginatedAccounts = new PaginatedAccounts();
-    totalCount = codPageRecords.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;
-
-    Integer startIdx;
-    Integer endIdx;
-    List<ConsumableorderdetailsInfo> pageCodeRecords = new List<ConsumableorderdetailsInfo>();
-    startIdx = pageToken;
-    endIdx = startIdx + pageSize;
-    if (endIdx > codPageRecords.size()) {
-      endIdx = codPageRecords.size();
-    }
-    for (Integer i = startIdx; i < endIdx; i++) {
-      pageCodeRecords.add(codPageRecords.get(i));
-    }
-
-    data.put('paginatedAccounts', paginatedAccounts);
-    data.put('pageCodeRecords', pageCodeRecords);
-
-    //end
-
-    System.debug('=====>codPageRecords2' + codPageRecords);
-    System.debug(
-      '=====>consumableorderdetailsRecords' + consumableorderdetailsRecords
-    );
-    data.put('codPageRecords', JSON.serialize(codPageRecords));
-    data.put(
-      'consumableorderdetailsRecords',
-      JSON.serialize(consumableorderdetailsRecords)
-    );
-    System.debug('iSinventory===>' + iSinventory);
-    data.put('iSinventory', JSON.serialize(iSinventory));
-    System.debug('pandiandetailsMap===>' + pandiandetailsMap);
-    data.put('pandiandetailsMap', pandiandetailsMap);
-    data.put('reSet', reSet);
-    data.put(
-      'consumableorderdetailsRecordsview',
-      JSON.serialize(consumableorderdetailsRecordsview)
-    );
-    System.debug(
-      '=====>consumableorderdetailsRecordsview' +
-      consumableorderdetailsRecordsview
-    );
-    res.code = 200;
-    res.status = 'Sucess';
-    return res;
-  }
-
-  // 淇濆瓨鎸夐挳
-  @AuraEnabled
-  public static ResponseBodyLWC save(
-    Boolean iSinventory,
-    String consumableorderdetailsRecordsLWC,
-    String accountid,
-    String agencyProType,
-    Map<Id, String> pandiandetailsMap,
-    List<Consumable_order_details2__c> reSet
-  ) {
-    List<ConsumableorderdetailsInfo> consumableorderdetailsRecords = (List<ConsumableorderdetailsInfo>) JSON.deserialize(
-      consumableorderdetailsRecordsLWC,
-      List<ConsumableorderdetailsInfo>.class
-    );
-    agencyProType = agencyProType;
-    accountid = accountid;
-    pandiandetailsMap = pandiandetailsMap;
-    reSet = reSet;
-    System.debug('pandiandetailsMap===>' + pandiandetailsMap);
-
-    ResponseBodyLWC res = new ResponseBodyLWC();
-    Map<String, object> data = new Map<String, object>();
-    res.entity = data;
-    // 璺宠繃鏄庣粏2涓嶅繀瑕佹洿鏂�
-    StaticParameter.EscapeConsumableOrderDetail2Trigger = true;
-    if (!iSinventory) {
-      return new ResponseBodyLWC('Error', 500, '璇峰厛褰曞叆BarCode', '');
-      // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'璇峰厛鐐广�怋arCode褰曞叆銆�'));
-      // return null;
-    }
-    integer Lo = 0;
-    for (ConsumableorderdetailsInfo header : consumableorderdetailsRecords) {
-      if (header.check == true) {
-        Lo++;
-      }
-    }
-    if (Lo == 0) {
-      iSinventory = false;
-      // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'璇烽�夋嫨瑕佺洏鐐圭殑鏄庣粏'));
-      // return null;
-      return new ResponseBodyLWC('Error', 500, '璇烽�夋嫨瑕佺洏鐐圭殑鏄庣粏', '');
-    }
-    for (ConsumableorderdetailsInfo header : consumableorderdetailsRecords) {
-      if (header.check == true) {
-        //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, header.prod.Name__c + '  '+header.prod.Name__c));
-        //return null;
-        if (
-          (header.DiffReason == '' || header.DiffReason == null) &&
-          header.Diff > 0
-        ) {
-          return new ResponseBodyLWC(
-            'Error',
-            500,
-            header.prod.Name__c + '璇疯緭鍏ュ樊寮傚師鍥�',
-            ''
-          );
-          // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, header.prod.Name__c + '璇疯緭鍏ュ樊寮傚師鍥�'));
-          // return null;
-        } else if (
-          (header.DiffReason != '' && header.DiffReason != null) &&
-          header.Diff == 0
-        ) {
-          // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '鏃犱涪澶变骇鍝侊紝涓嶉渶瑕佸~鍐欏樊寮傚師鍥�'));
-          // return null;
-          return new ResponseBodyLWC(
-            'Error',
-            500,
-            header.prod.Name__c + '鏃犱涪澶变骇鍝侊紝涓嶉渶瑕佸~鍐欏樊寮傚師鍥�',
-            ''
-          );
-        }
-      }
-    }
-    Integer orderDetNo = 1;
-    Savepoint sp = Database.setSavepoint();
-    Consumable_order__c Po = new Consumable_order__c();
-    Po.Name = '*';
-    Po.Order_status__c = '鎵瑰噯';
-    Po.Inventory_date__c = Date.today();
-    Po.Order_type__c = '鐩樼偣';
-    Po.Dealer_Info__c = accountid;
-    Po.Order_ProType__c = agencyProType;
-    Po.RecordTypeid = System.Label.RT_ConOrder_Inventory;
-    try {
-      insert Po;
-      eSetId = Po.id;
-      List<Consumable_order__c> Consumable_order = [
-        SELECT Name
-        FROM Consumable_order__c
-        WHERE id = :Po.id
-      ];
-      List<Consumable_orderdetails__c> InsList = new List<Consumable_orderdetails__c>();
-      List<Consumable_order_details2__c> InsListUp = new List<Consumable_order_details2__c>();
-      List<Consumable_order_details2__c> updListAdjust = new List<Consumable_order_details2__c>();
-      Map<String, String> ErrorName = new Map<String, String>();
-      Map<String, Boolean> CheckTF = new Map<String, Boolean>();
-      for (ConsumableorderdetailsInfo header : consumableorderdetailsRecords) {
-        if (header.check == true) {
-          Consumable_orderdetails__c insPan = new Consumable_orderdetails__c();
-          insPan = new Consumable_orderdetails__c();
-          String str = string.valueOf(orderDetNo);
-          if (str.length() == 1) {
-            str = '0' + str;
-          }
-          insPan.Name = Consumable_order[0].Name + '-' + str;
-          insPan.Consumable_Product__c = header.ProdId;
-          ErrorName.put(insPan.Consumable_Product__c, header.DiffReason);
-          CheckTF.put(insPan.Consumable_product__c, true);
-          insPan.Consumable_order__c = Po.Id;
-          insPan.Lose_reason__c = header.DiffReason;
-          insPan.Diff__c = header.Diff;
-          insPan.Product_Refind__c = header.refind;
-          insPan.inventory_sum__c = header.Pandian;
-          insPan.Count_Sum__c = header.countid;
-          insPan.RecordTypeId = System.Label.RT_ConOrderDetail1_Inventory;
-          orderDetNo++;
-          InsList.add(insPan);
-        }
-      }
-      if (InsList.size() > 0) {
-        insert InsList;
-      }
-      List<Consumable_order_details2__c> showcod2 = [
-        SELECT
-          Id,
-          Name,
-          Consumable_Product__c,
-          Bar_Code__c,
-          Consumable_Product__r.Name__c,
-          Asset_Model_No__c,
-          Isoverdue__c,
-          Box_Piece__c,
-          Bar_Code_search__c
-        FROM Consumable_order_details2__c
-        WHERE Id IN :pandiandetailsMap.keySet()
-        ORDER BY Name
-      ];
-      for (Consumable_order_details2__c cod : showcod2) {
-        Consumable_order_details2__c InsDetail = new Consumable_order_details2__c();
-        InsDetail.Id = cod.Id;
-        InsDetail.Consumable_Inventory_order__c = po.Id;
-        InsDetail.Inventory_date__c = Date.today();
-        // 20210224 gzw CHAN-BXF3PG start
-        // if(pandiandetailsMap.get(cod.Id) == '涓㈠け' ){
-        if (
-          pandiandetailsMap.get(cod.Id) == '涓㈠け' &&
-          CheckTF.containsKey(cod.Consumable_product__c)
-        ) {
-          // 20210224 gzw CHAN-BXF3PG end
-          InsDetail.Lose_reason__c = ErrorName.get(cod.Consumable_product__c);
-          InsDetail.Lose_Flag__c = true;
-        } else if (pandiandetailsMap.get(cod.Id) == '瀵诲洖') {
-          InsDetail.Lose_reason__c = '';
-          InsDetail.Lose_Flag__c = false;
+            consumableorderdetailsRecordsview.add(ConsumableorderdetailsRecordsbreak);
+            consumableorderdetailsRecordsview.add(ConsumableorderdetailsRecordsbreakover);
         } else {
-          continue;
+            consumableorderdetailsRecordsview.add(consumableorderdetailsRecords);
         }
-        InsListUp.add(InsDetail);
-      }
-      for (Consumable_order_details2__c rs : reSet) {
-        rs.Inventory_date__c = Date.today();
-      }
-      if (reSet.size() > 0) {
-        update reSet;
-      }
-      if (InsListUp.size() > 0) {
-        ControllerUtil.updateOrderDetailsSatus(InsListUp); // Commented By DTT - Li Jun for testing 20230407
-      }
-    } catch (Exception e) {
-      Database.rollback(sp);
-      // ApexPages.addMessages(ex);
-      return new ResponseBodyLWC(
-        'Error',
-        500,
-        e.getMessage() + e.getLineNumber(),
-        ''
-      );
-      // return null;
     }
-    // FIXME impliment BarCodeListAdjust
-    /************************************************************************************************/
-    // return ProS();
-    data.put('eSetId', eSetId);
-    data.put('InsListUp', InsListUp);
-    res.status = 'Success';
-    res.code = 200;
-    System.debug('res = ' + res);
-    return res;
-  }
+    //========20160311======ADD_Start================================
+    // 灏嗛〉闈㈡垨鍙栧緱BarCode鍘绘帀閲嶅鐨勶紝杞崲鎴怢ist
+    //========20160311======ADD_Start================================
+    public static List<String> ParseBarCode(String Code) {
+        Map<String, Integer> barcodeCountMap = new Map<String, Integer>();
+        String[] Cache = new List<String>{};
+        Cache = Code.split('\n');
+        List<String> Buff = new List<String>();
+        for (String A : Cache) {
+            A = A.trim().toUpperCase();
+            if (barcodeCountMap.containsKey(A)) {
+                barcodeCountMap.put(A, barcodeCountMap.get(A) + 1);
+            } else {
+                barcodeCountMap.put(A, 1);
+            }
+            Buff.add(A + barcodeCountMap.get(A));
+        }
+        return Buff;
+    }
 
-  //鐩樼偣涓�瑙�
-  public PageReference ProS() {
-    // 杩斿洖鐩樼偣涓�瑙�
-    PageReference ref = new Pagereference(
-      '/apex/InventoryList?eSetId=' + eSetId
-    );
-    ref.setRedirect(true);
-    return ref;
-  }
-  //CSV鍑哄姏
-  public PageReference doClick() {
-    Pagereference pr = page.InventoryCSV;
-    return pr;
-  }
-  //鍒嗛〉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; }
-  }
+    //test
 
-  // Data Bean
-  @TestVisible
-  class ConsumableorderdetailsInfo implements Comparable {
+    // @AuraEnabled
+    // public static ResponseBodyLWC searchConsumableorderdetails(String sqlagencyProType,String userWorkLocation,String accountName,String barcode,List<ConsumableorderdetailsInfo> consumableorderdetailsRecordsLWC){
+    //     return new ResponseBodyLWC('Error',500, 'test', '');
+    // }
+    //========20160311======ADD_End==================================
+    // BarCode褰曞叆
     @AuraEnabled
-    public Boolean check { 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 countid { get; set; }
-    @AuraEnabled
-    public String ProdId { get; set; }
-    @AuraEnabled
-    public Decimal Pandian { get; set; }
-    @AuraEnabled
-    public Decimal Diff { get; set; }
-    @AuraEnabled
-    public Decimal refind { get; set; }
-    @AuraEnabled
-    public String DiffReason { get; set; }
-    @AuraEnabled
-    public Boolean canSelect { get; set; }
-    @AuraEnabled
-    public Boolean sortBy { get; set; }
-    @AuraEnabled
-    public Decimal limitCount { get; set; }
-    @AuraEnabled
-    public Decimal overlimitCount { get; set; }
-    @AuraEnabled
-    public String boxPiece { get; set; }
-    public ConsumableorderdetailsInfo(
-      Consumable_order_details2__c e,
-      string str
+    public static ResponseBodyLWC searchConsumableorderdetails(
+        String agencyProType,
+        String userWorkLocation,
+        String accountName,
+        String barcode,
+        String consumableorderdetailsRecordsLWC,
+        Integer pageSizeLWC,
+        Integer pageTokenLWC,
+        String sortFieldLWC,
+        String sortOrderLWC
     ) {
-      orderdetails2 = e;
-      Prod = e.Consumable_Product__r;
-      //e.Lose_reason__c = str;
-      DiffReason = str;
+        pageSize = pageSizeLWC;
+        pageToken = pageTokenLWC;
+        sortField = sortFieldLWC;
+        sortOrder = sortOrderLWC;
+
+        System.debug('===>consumableorderdetailsRecordsLWC' + consumableorderdetailsRecordsLWC);
+        List<ConsumableorderdetailsInfo> consumableorderdetailsRecords = (List<ConsumableorderdetailsInfo>) JSON.deserialize(
+            consumableorderdetailsRecordsLWC,
+            List<ConsumableorderdetailsInfo>.class
+        );
+        // ConsumableorderdetailsInfo[] consumableorderdetailsRecords=(List<ConsumableorderdetailsInfo>)JSON.deserialize(consumableorderdetailsRecordsLWC,List<ConsumableorderdetailsInfo>.class);
+        system.debug('=====>consumableorderdetailsRecordsLWC' + consumableorderdetailsRecordsLWC);
+        ResponseBodyLWC res = new ResponseBodyLWC();
+        Map<String, object> data = new Map<String, object>();
+        res.entity = data;
+
+        sqlagencyProType = '%' + agencyProType + '%';
+        System.debug('sqlagencyProType==>' + sqlagencyProType);
+        System.debug('accountName==>' + accountName);
+        System.debug('userWorkLocation==>' + userWorkLocation);
+
+        /* BarCodelist鍋氭垚 */
+        //FIXME barcodeSet 鍋氭垚锛孭roductCount_ResSet 鍋氭垚
+        List<Consumable_order_details2__c> pandiandetailsList = new List<Consumable_order_details2__c>();
+        pandiandetailsListShow = new List<List<Consumable_order_details2__c>>();
+        done = false;
+        List<String> BarCodeListP = ParseBarCode(barcode);
+        System.debug('BarCodeListP===>' + BarCodeListP);
+        //鏌ヨ搴撳瓨 杩藉姞杩斿搧搴撳瓨
+        List<Consumable_order_details2__c> ProductCount_Res = [
+            SELECT
+                Id,
+                Name,
+                Consumable_Product__c,
+                Bar_Code__c,
+                Consumable_Product__r.Name__c,
+                Dealer_Info_text__c,
+                Asset_Model_No__c,
+                Isoverdue__c,
+                Box_Piece__c,
+                Bar_Code_search__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 Cancellation_Flag__c = FALSE
+                AND Bar_Code__c != NULL
+                AND Product_Type__c LIKE :sqlagencyProType
+                AND Arrive_Owner_Work_Location__c = :userWorkLocation
+                AND Dealer_Info_text__c = :accountName
+        ];
+        System.debug('ProductCount_Res==>' + ProductCount_Res);
+        reFindProduct.clear();
+        Map<String, ConsumableorderdetailsInfo> barCodeListAdjustMap = new Map<String, ConsumableorderdetailsInfo>();
+        //barCodeListLoseMap.clear();
+        Set<String> carCodeListLose = new Set<String>();
+        List<ConsumableorderdetailsInfo> consumableorderdetailsRecordsAdjust = new List<ConsumableorderdetailsInfo>();
+        Map<String, String> proIdNotinpage = new Map<String, String>();
+        List<Consumable_order_details2__c> reFindProductList = new List<Consumable_order_details2__c>();
+        codPageRecords = new List<ConsumableorderdetailsInfo>();
+        consumableorderdetailsRecordserrordummy = new List<ConsumableorderdetailsInfo>();
+        List<ConsumableorderdetailsInfo> reFindProductaddtopage = new List<ConsumableorderdetailsInfo>();
+        pandiandetailsMap.clear();
+        reSet = new List<Consumable_order_details2__c>();
+        /* 鍒ゆ柇BarCode鏄惁涓虹┖ */
+        if (barcode == null || barcode == '') {
+            //鍏堝彇鍑烘墍鏈変涪澶变骇鍝�
+            for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
+                // 20200509 gzw add 鐩樼偣鏁伴噺鍒濆鍖�
+                ass.Pandian = 0;
+                // 20200509 gzw add 鐩樼偣鏁伴噺鍒濆鍖�
+                if (ass.check == true) {
+                    //ass.Diff = ass.countid - ass.Pandian;
+                    for (integer i = 0; i < ProductCount_Res.size(); i++) {
+                        System.debug('Pro==>' + ProductCount_Res[i].Consumable_Product__c);
+                        System.debug('ProId==>' + ass.Prod.Id);
+                        System.debug('ass.boxPiece ==>' + ass.boxPiece);
+                        System.debug('boxPiece ==>' + ProductCount_Res[i].Box_Piece__c);
+                        if (ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id && ass.boxPiece == ProductCount_Res[i].Box_Piece__c) {
+                            if (carCodeListLose.contains(ProductCount_Res[i].Bar_Code__c)) {
+                                continue;
+                            } else {
+                                //consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'涓㈠け'));
+                                //pandiandetailsMap.put(ProductCount_Res[i].Id, '涓㈠け');
+                                ////barCodeListLoseMap.put(ProductCount_Res[i].Id, new ConsumableorderdetailsInfo(ProductCount_Res[i]));
+                                carCodeListLose.add(ProductCount_Res[i].Bar_Code__c);
+                            }
+                        }
+                    }
+                }
+            }
+
+            //宸茬粡鍑哄簱鐨勪骇鍝�
+            List<Consumable_order_details2__c> reSet1 = [
+                SELECT
+                    Id,
+                    Name,
+                    Consumable_Product__c,
+                    Bar_Code__c,
+                    Consumable_Product__r.Name__c,
+                    Asset_Model_No__c,
+                    Isoverdue__c,
+                    Box_Piece__c,
+                    Bar_Code_search__c,
+                    Dealer_Info_text__c
+                FROM Consumable_order_details2__c
+                WHERE
+                    Dealer_Arrive__c = TRUE
+                    AND (Dealer_Shipment__c = TRUE
+                    OR Dealer_Saled__c = TRUE)
+                    AND Dealer_Returned__c = FALSE
+                    AND Cancellation_Flag__c = FALSE
+                    AND Bar_Code__c IN :carCodeListLose
+                    AND Dealer_Info_text__c = :accountName
+                ORDER BY Name
+            ];
+            Map<String, Consumable_order_details2__c> needreturnMap = new Map<String, Consumable_order_details2__c>();
+            for (Consumable_order_details2__c cod2 : reSet1) {
+                needreturnMap.put(cod2.Bar_Code__c, cod2);
+            }
+
+            // 缁忛攢鍟嗕箣闂存垨鑰呭悓涓�缁忛攢鍟嗕笉鍚屽伐浣滃湴璋冭揣
+            reSet1 = [
+                SELECT
+                    Id,
+                    Name,
+                    Consumable_Product__c,
+                    Bar_Code__c,
+                    Consumable_Product__r.Name__c,
+                    Asset_Model_No__c,
+                    Isoverdue__c,
+                    Box_Piece__c,
+                    Bar_Code_search__c,
+                    Dealer_Info_text__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 Cancellation_Flag__c = FALSE
+                    AND Bar_Code__c IN :carCodeListLose
+                    AND (Dealer_Info_text__c != :accountName
+                    OR (Dealer_Info_text__c = :accountName
+                    AND Arrive_Owner_Work_Location__c != :userWorkLocation))
+                ORDER BY Name
+            ];
+            Map<String, Consumable_order_details2__c> otherAgProMap = new Map<String, Consumable_order_details2__c>();
+            for (Consumable_order_details2__c cod2 : reSet1) {
+                otherAgProMap.put(cod2.Bar_Code__c, cod2);
+            }
+            carCodeListLose.clear();
+
+            for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
+                if (ass.check == true) {
+                    ass.Diff = ass.countid - ass.Pandian;
+                    for (integer i = 0; i < ProductCount_Res.size(); i++) {
+                        if (ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id && ass.boxPiece == ProductCount_Res[i].Box_Piece__c) {
+                            if (carCodeListLose.contains(ProductCount_Res[i].Bar_Code_search__c)) {
+                                continue;
+                            } else {
+                                if (needreturnMap.containsKey(ProductCount_Res[i].Bar_Code__c)) {
+                                    consumableorderdetailsRecordserrordummy.add(
+                                        new ConsumableorderdetailsInfo(ProductCount_Res[i], '璇ヤ骇鍝佹湭杩斿搧')
+                                    );
+                                    pandiandetailsMap.put(ProductCount_Res[i].Id, '璇ヤ骇鍝佹湭杩斿搧');
+                                    carCodeListLose.add(ProductCount_Res[i].Bar_Code_search__c);
+                                    continue;
+                                }
+                                if (otherAgProMap.containsKey(ProductCount_Res[i].Bar_Code__c)) {
+                                    consumableorderdetailsRecordserrordummy.add(
+                                        new ConsumableorderdetailsInfo(
+                                            ProductCount_Res[i],
+                                            '璇ヤ骇鍝佸綊灞炰簬' +
+                                                otherAgProMap.get(ProductCount_Res[i].Bar_Code__c).Dealer_Info_text__c +
+                                                '鐨勫簱瀛樸��'
+                                        )
+                                    );
+                                    pandiandetailsMap.put(
+                                        ProductCount_Res[i].Id,
+                                        '璇ヤ骇鍝佸綊灞炰簬' + otherAgProMap.get(ProductCount_Res[i].Bar_Code__c).Dealer_Info_text__c + '鐨勫簱瀛樸��'
+                                    );
+                                    carCodeListLose.add(ProductCount_Res[i].Bar_Code_search__c);
+                                    continue;
+                                }
+                                if (ProductCount_Res[i].Isoverdue__c == 0) {
+                                    consumableorderdetailsRecordserrordummy.add(
+                                        new ConsumableorderdetailsInfo(ProductCount_Res[i], '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��')
+                                    );
+                                    pandiandetailsMap.put(ProductCount_Res[i].Id, '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��');
+                                    carCodeListLose.add(ProductCount_Res[i].Bar_Code_search__c);
+                                    ass.Diff--;
+                                    continue;
+                                }
+                                consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i], '涓㈠け'));
+                                pandiandetailsMap.put(ProductCount_Res[i].Id, '涓㈠け');
+                                carCodeListLose.add(ProductCount_Res[i].Bar_Code_search__c);
+                            }
+                        }
+                    }
+                } else {
+                    ass.Pandian = 0;
+                    ass.Diff = 0;
+                }
+            }
+            List<Consumable_order_details2__c> showcod2 = new List<Consumable_order_details2__c>();
+            if (pandiandetailsMap.keySet().size() > 0) {
+                showcod2 = [
+                    SELECT
+                        Id,
+                        Name,
+                        Consumable_Product__c,
+                        Bar_Code__c,
+                        Consumable_Product__r.Name__c,
+                        Asset_Model_No__c,
+                        Isoverdue__c,
+                        Box_Piece__c,
+                        Bar_Code_search__c
+                    FROM Consumable_order_details2__c
+                    WHERE Id IN :pandiandetailsMap.keySet()
+                    ORDER BY Name
+                ];
+            }
+            initStandardController();
+            showcod2nid = cod2s();
+
+            for (Consumable_order_details2__c cod2 : showcod2nid) {
+                codPageRecords.add(new ConsumableorderdetailsInfo(cod2, pandiandetailsMap.get(cod2.Id)));
+            }
+
+            iSinventory = true;
+            if (codPageRecords.size() > 0)
+                done = true;
+            consumableorderdetailsRecordserrordummy.clear();
+
+            //pandiandetailsList = new list<Consumable_order_details2__c>();
+            pandiandetailsList = [
+                SELECT Id, Bar_Code__c, Consumable_Product__r.Name__c, Box_Piece__c, Lose_reason__c
+                FROM Consumable_order_details2__c
+                WHERE Id IN :pandiandetailsMap.keySet()
+                ORDER BY Name
+            ];
+            for (Consumable_order_details2__c codDet : pandiandetailsList) {
+                codDet.Lose_reason__c = pandiandetailsMap.get(codDet.Id);
+            }
+            List<Consumable_order_details2__c> pandiandetailsListMid = new List<Consumable_order_details2__c>();
+            for (Consumable_order_details2__c cod2 : pandiandetailsList) {
+                pandiandetailsListMid.add(cod2);
+                if (pandiandetailsListMid.size() == 1000) {
+                    pandiandetailsListShow.add(pandiandetailsListMid);
+                    pandiandetailsListMid = new List<Consumable_order_details2__c>();
+                }
+            }
+            if (pandiandetailsListMid.size() > 0) {
+                pandiandetailsListShow.add(pandiandetailsListMid);
+            }
+
+            //鍒嗛〉
+            PaginatedAccounts paginatedAccounts = new PaginatedAccounts();
+            totalCount = codPageRecords.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;
+
+            Integer startIdx;
+            Integer endIdx;
+            List<ConsumableorderdetailsInfo> pageCodeRecords = new List<ConsumableorderdetailsInfo>();
+            startIdx = pageToken;
+            endIdx = startIdx + pageSize;
+            if (endIdx > codPageRecords.size()) {
+                endIdx = codPageRecords.size();
+            }
+            for (Integer i = startIdx; i < endIdx; i++) {
+                pageCodeRecords.add(codPageRecords.get(i));
+            }
+
+            data.put('paginatedAccounts', paginatedAccounts);
+            data.put('pageCodeRecords', pageCodeRecords);
+
+            //end
+            data.put('codPageRecords', JSON.serialize(codPageRecords));
+            data.put('consumableorderdetailsRecords', JSON.serialize(consumableorderdetailsRecords));
+            data.put('consumableorderdetailsRecordsview', JSON.serialize(consumableorderdetailsRecordsview));
+            data.put('pandiandetailsMap', pandiandetailsMap);
+            System.debug('iSinventory===>' + iSinventory);
+            System.debug('codPageRecords===>' + codPageRecords);
+            data.put('iSinventory', JSON.serialize(iSinventory));
+            data.put('reSet1', reSet1);
+            System.debug('reSet1===>' + reSet1);
+            res.code = 200;
+            res.status = 'Success1';
+
+            return res;
+        }
+
+        //CHAN-B7J4NB 鍙湁涓�涓椂锛岀洏鐐逛笉鍒�
+        //init();
+        //CHAN-B7J4NB
+        Map<String, String> showproductIdMap = new Map<String, String>();
+        for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
+            showproductIdMap.put(ass.prod.Id + ass.boxPiece, ass.prod.Id + ass.boxPiece);
+        }
+        // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCodeListP' + BarCodeListP));
+        /***************************************************************************/
+        // BarCode鐨勬绱�  鎵�鏈夊湪搴�
+        reSet = [
+            SELECT Id, Consumable_Product__c, Consumable_Product__r.Name__c, Box_Piece__c, Bar_Code_search__c, Isoverdue__c
+            FROM Consumable_order_details2__c
+            WHERE
+                Bar_Code_search__c IN :BarCodeListP
+                AND 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_Date__c = NULL
+                AND Bar_Code__c != NULL
+                AND Product_Type__c LIKE :sqlagencyProType
+                AND Arrive_Owner_Work_Location__c = :userWorkLocation
+                AND Dealer_Info_text__c = :accountName
+            ORDER BY Name
+        ];
+        System.debug('reSet===>' + reSet);
+        Map<String, Integer> pandianProdIdCountMap = new Map<String, Integer>(); // ProdId 鍗樹綅
+        // 20200509 add gzw 璁板綍闇�瑕侀攢瀛樻暟閲�
+        Map<String, Integer> pandianoverdueCountMap = new Map<String, Integer>(); // ProdId 鍗樹綅
+        // 20200509 add gzw 璁板綍闇�瑕侀攢瀛樻暟閲�
+        Map<String, ConsumableorderdetailsInfo> barCodeListPandianMap = new Map<String, ConsumableorderdetailsInfo>(); // 鏄庣窗銉愩兗銈炽兗銉� 鍗樹綅
+        //鐩樼偣鍒扮殑鏄庣粏
+        for (Consumable_order_details2__c rs : reSet) {
+            //BarCodeListPandian.add(rs.Bar_Code_search__c);
+            for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
+                if (rs.Consumable_Product__c == ass.Prod.Id && rs.Box_Piece__c == ass.boxPiece) {
+                    ass.check = true;
+                }
+            }
+
+            barCodeListPandianMap.put(rs.Bar_Code_search__c, new ConsumableorderdetailsInfo(rs));
+            if (rs.Isoverdue__c == 0) {
+                consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(rs, '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��'));
+                pandiandetailsMap.put(rs.Id, '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��');
+                if (pandianoverdueCountMap.containsKey(rs.Consumable_product__c + rs.Box_Piece__c) == false) {
+                    pandianoverdueCountMap.put(rs.Consumable_Product__c + rs.Box_Piece__c, 1);
+                } else {
+                    pandianoverdueCountMap.put(
+                        rs.Consumable_Product__c + rs.Box_Piece__c,
+                        pandianoverdueCountMap.get(rs.Consumable_Product__c + rs.Box_Piece__c) + 1
+                    );
+                }
+                continue;
+            }
+            if (pandianProdIdCountMap.containsKey(rs.Consumable_product__c + rs.Box_Piece__c) == false) {
+                pandianProdIdCountMap.put(rs.Consumable_Product__c + rs.Box_Piece__c, 1);
+            } else {
+                pandianProdIdCountMap.put(
+                    rs.Consumable_Product__c + rs.Box_Piece__c,
+                    pandianProdIdCountMap.get(rs.Consumable_Product__c + rs.Box_Piece__c) + 1
+                );
+            }
+        }
+
+        // 缁忛攢鍟嗕箣闂存垨鑰呭悓涓�缁忛攢鍟嗕笉鍚屽伐浣滃湴璋冭揣
+        List<Consumable_order_details2__c> reSet1 = [
+            SELECT
+                Id,
+                Name,
+                Consumable_Product__c,
+                Bar_Code__c,
+                Consumable_Product__r.Name__c,
+                Dealer_Shipment__c,
+                Dealer_Saled__c,
+                Asset_Model_No__c,
+                Isoverdue__c,
+                Box_Piece__c,
+                Dealer_Arrive__c,
+                Bar_Code_search__c,
+                Dealer_Info_text__c
+            FROM Consumable_order_details2__c
+            WHERE
+                (Dealer_Arrive__c = TRUE
+                OR Dealer_Shipment__c = TRUE
+                OR Dealer_Saled__c = TRUE)
+                AND Dealer_Returned__c = FALSE
+                AND Cancellation_Flag__c = FALSE
+                AND Bar_Code_search__c IN :BarCodeListP
+                AND (Dealer_Info_text__c != :accountName
+                OR (Dealer_Info_text__c = :accountName
+                AND Arrive_Owner_Work_Location__c != :userWorkLocation))
+            ORDER BY Name
+        ];
+        Map<String, Consumable_order_details2__c> otherAgProMap = new Map<String, Consumable_order_details2__c>();
+        for (Consumable_order_details2__c cod2 : reSet1) {
+            otherAgProMap.put(cod2.Bar_Code__c, cod2);
+        }
+        // 闇�瑕佸叆搴撶殑浜у搧
+        for (Consumable_order_details2__c cod2 : reSet1) {
+            for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
+                if (cod2.Consumable_Product__c == ass.Prod.Id && cod2.Box_Piece__c == ass.boxPiece) {
+                    ass.check = true;
+                }
+            }
+            if (!showproductIdMap.containsKey(cod2.Consumable_product__c + cod2.Box_Piece__c)) {
+                reFindProductList.add(cod2);
+                proIdNotinpage.put(cod2.Consumable_Product__c, cod2.Box_Piece__c);
+            }
+            if (
+                !barCodeListPandianMap.containsKey(cod2.Bar_Code_search__c) &&
+                otherAgProMap.containsKey(cod2.Bar_Code__c) &&
+                (otherAgProMap.get(cod2.Bar_Code__c).Dealer_Saled__c == true ||
+                otherAgProMap.get(cod2.Bar_Code__c).Dealer_Shipment__c == true)
+            ) {
+                consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(cod2, '鏃犳浜у搧鐨勫簱瀛橈紝璇峰叆搴撱��'));
+                pandiandetailsMap.put(cod2.Id, '鏃犳浜у搧鐨勫簱瀛橈紝璇峰叆搴撱��');
+            }
+        }
+        //瀵诲洖鏄庣粏
+        List<Consumable_order_details2__c> productAdjust = new List<Consumable_order_details2__c>();
+        productAdjust = [
+            SELECT
+                Id,
+                Name,
+                Consumable_Product__c,
+                Bar_Code__c,
+                Consumable_Product__r.Name__c,
+                Lose_reason__c,
+                Asset_Model_No__c,
+                Box_Piece__c,
+                Bar_Code_search__c,
+                Isoverdue__c
+            FROM Consumable_order_details2__c
+            WHERE
+                Bar_Code_search__c IN :BarCodeListP
+                AND Bar_Code__c != NULL
+                AND Lose_Flag__c = TRUE
+                AND Product_Type__c LIKE :sqlagencyProType
+                AND Dealer_Info_text__c = :accountName
+                AND Arrive_Owner_Work_Location__c = :userWorkLocation
+            ORDER BY Name
+        ];
+
+        for (Consumable_order_details2__c rs : productAdjust) {
+            // 杩囨湡搴撳瓨閿�瀛� 20200427 gzw add srart
+            if (rs.Isoverdue__c == 0 || rs.Lose_reason__c == '杩囨湡搴撳瓨閿�瀛�') {
+                consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(rs, '杩囨湡鎴栬�呴攢瀛樹骇鍝侊紝鏃犳硶瀵诲洖鍏ュ簱'));
+                pandiandetailsMap.put(rs.Id, '杩囨湡鎴栬�呴攢瀛樹骇鍝侊紝鏃犳硶瀵诲洖鍏ュ簱');
+                carCodeListLose.add(rs.Bar_Code_search__c);
+                continue;
+            }
+            // 杩囨湡搴撳瓨閿�瀛� 20200427 gzw add end
+            for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
+                if (rs.Consumable_Product__c == ass.Prod.Id && rs.Box_Piece__c == ass.boxPiece) {
+                    ass.check = true;
+                }
+            }
+            if (!showproductIdMap.containsKey(rs.Consumable_product__c + rs.Box_Piece__c)) {
+                reFindProductList.add(rs);
+                proIdNotinpage.put(rs.Consumable_Product__c, rs.Box_Piece__c);
+            }
+            if (barCodeListAdjustMap.containsKey(rs.Bar_Code_search__c)) {
+                continue;
+            } else {
+                barCodeListAdjustMap.put(rs.Bar_Code_search__c, new ConsumableorderdetailsInfo(rs));
+                consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(rs, '瀵诲洖'));
+                pandiandetailsMap.put(rs.Id, '瀵诲洖');
+                consumableorderdetailsRecordsAdjust.add(new ConsumableorderdetailsInfo(rs));
+            }
+        }
+        if (reFindProductList.size() > 0) {
+            Map<String, Product2__c> midMap = new Map<String, Product2__c>();
+            List<ConsumableorderdetailsInfo> boxRecords = new List<ConsumableorderdetailsInfo>();
+            Map<String, ConsumableorderdetailsInfo> newMidBoxMap = new Map<String, ConsumableorderdetailsInfo>();
+            Map<String, ConsumableorderdetailsInfo> newMidPieceMap = new Map<String, ConsumableorderdetailsInfo>();
+            List<Product2__c> product_Refind = [
+                SELECT Id, Name, Name__c, SFDA_Status__c, Packing_list_manual__c, Asset_Model_No__c
+                FROM Product2__c
+                WHERE Id IN :proIdNotinpage.keySet()
+            ];
+            for (Product2__c pro : product_Refind) {
+                midMap.put(pro.Id, pro);
+            }
+            for (Integer i = 0; i < reFindProductList.size(); i++) {
+                //鐒跺悗寰幆CountDel鍋欱ox鍜宲iece2涓猰ap
+                if (MidMap.containsKey(reFindProductList[i].Consumable_Product__c) && reFindProductList[i].Box_Piece__c == '鐩�') {
+                    if (newMidBoxMap.containsKey(reFindProductList[i].Consumable_Product__c + reFindProductList[i].Box_Piece__c)) {
+                        ConsumableorderdetailsInfo Jstage = newMidBoxMap.get(
+                                reFindProductList[i].Consumable_Product__c + reFindProductList[i].Box_Piece__c
+                            )
+                            .clone();
+                        Jstage.countid = 0;
+                        if (reFindProductList[i].Isoverdue__c == 1) {
+                            Jstage.limitCount = 0;
+                        }
+                        Jstage.boxPiece = reFindProductList[i].Box_Piece__c;
+                        newMidBoxMap.put(reFindProductList[i].Consumable_Product__c + reFindProductList[i].Box_Piece__c, Jstage);
+                    } else {
+                        ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo(
+                            MidMap.get(reFindProductList[i].Consumable_Product__c)
+                        );
+                        Jstage.countid = 0;
+                        if (reFindProductList[i].Isoverdue__c == 1) {
+                            Jstage.limitCount = 0;
+                        }
+                        Jstage.boxPiece = reFindProductList[i].Box_Piece__c;
+                        newMidBoxMap.put(reFindProductList[i].Consumable_Product__c + reFindProductList[i].Box_Piece__c, Jstage);
+                    }
+                } else if (MidMap.containsKey(reFindProductList[i].Consumable_Product__c) && reFindProductList[i].Box_Piece__c == '涓�') {
+                    if (newMidPieceMap.containsKey(reFindProductList[i].Consumable_Product__c + reFindProductList[i].Box_Piece__c)) {
+                        ConsumableorderdetailsInfo Jstage = newMidPieceMap.get(
+                                reFindProductList[i].Consumable_product__c + reFindProductList[i].Box_Piece__c
+                            )
+                            .clone();
+                        Jstage.countid = 0;
+                        if (reFindProductList[i].Isoverdue__c == 1) {
+                            Jstage.limitCount = 0;
+                        }
+                        Jstage.boxPiece = reFindProductList[i].Box_Piece__c;
+                        newMidPieceMap.put(reFindProductList[i].Consumable_Product__c + reFindProductList[i].Box_Piece__c, Jstage);
+                    } else {
+                        ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo(
+                            MidMap.get(reFindProductList[i].Consumable_Product__c)
+                        );
+                        Jstage.countid = 0;
+                        if (reFindProductList[i].Isoverdue__c == 1) {
+                            Jstage.limitCount = 0;
+                        }
+                        Jstage.boxPiece = reFindProductList[i].Box_Piece__c;
+                        newMidPieceMap.put(reFindProductList[i].Consumable_Product__c + reFindProductList[i].Box_Piece__c, Jstage);
+                    }
+                }
+            }
+            for (ConsumableorderdetailsInfo bss : newMidBoxMap.values()) {
+                bss.check = true;
+                bss.overlimitCount = bss.countid - bss.limitCount;
+                boxRecords.add(bss);
+            }
+            boxRecords.sort();
+            for (ConsumableorderdetailsInfo bss : newMidPieceMap.values()) {
+                bss.check = true;
+                bss.overlimitCount = bss.countid - bss.limitCount;
+            }
+            for (ConsumableorderdetailsInfo bss : boxRecords) {
+                consumableorderdetailsRecords.add(bss);
+                if (newMidPieceMap.containsKey(bss.Prod.Id + '涓�')) {
+                    consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '涓�'));
+                    //newMidPieceMap绉婚櫎宸茬粡娣诲姞鐨凱iece
+                    newMidPieceMap.remove(bss.Prod.Id + '涓�');
+                }
+            }
+            for (ConsumableorderdetailsInfo bss : newMidPieceMap.values()) {
+                consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '涓�'));
+            }
+        }
+
+        //鍏堝彇鍑烘湭鐩樼偣鍒扮殑浜у搧
+        for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
+            if (ass.check == true) {
+                for (integer i = 0; i < ProductCount_Res.size(); i++) {
+                    if (ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id && ass.boxPiece == ProductCount_Res[i].Box_Piece__c) {
+                        if (barCodeListPandianMap.get(ProductCount_Res[i].Bar_Code_search__c) != null) {
+                            continue;
+                        } else {
+                            carCodeListLose.add(ProductCount_Res[i].Bar_Code__c);
+                            ////barCodeListLoseMap.put(ProductCount_Res[i].Id, new ConsumableorderdetailsInfo(ProductCount_Res[i]));
+                            //consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'涓㈠け'));
+                            //pandiandetailsMap.put(ProductCount_Res[i].Id, '涓㈠け');
+                        }
+                    }
+                }
+            }
+        }
+        //宸茬粡鍑哄簱鐨勪骇鍝�
+        List<Consumable_order_details2__c> reSet2 = [
+            SELECT
+                Id,
+                Name,
+                Consumable_Product__c,
+                Bar_Code__c,
+                Consumable_Product__r.Name__c,
+                Asset_Model_No__c,
+                Isoverdue__c,
+                Box_Piece__c,
+                Bar_Code_search__c,
+                Dealer_Info_text__c
+            FROM Consumable_order_details2__c
+            WHERE
+                Dealer_Arrive__c = TRUE
+                AND (Dealer_Shipment__c = TRUE
+                OR Dealer_Saled__c = TRUE)
+                AND Dealer_Returned__c = FALSE
+                AND Cancellation_Flag__c = FALSE
+                AND Bar_Code_search__c IN :BarCodeListP
+                AND Dealer_Info_text__c = :accountName
+            ORDER BY Name
+        ];
+        Map<String, Consumable_order_details2__c> needreturnMap = new Map<String, Consumable_order_details2__c>();
+        for (Consumable_order_details2__c cod2 : reSet2) {
+            needreturnMap.put(cod2.Bar_Code__c, cod2);
+        }
+        //// 缁忛攢鍟嗕箣闂存垨鑰呭悓涓�缁忛攢鍟嗕笉鍚屽伐浣滃湴璋冭揣
+        //List<Consumable_order_details2__c> reSet1 = [SELECT Id,  Name,Consumable_Product__c,
+        //                Bar_Code__c,Consumable_Product__r.Name__c,Dealer_Shipment__c,Dealer_Saled__c,
+        //                Asset_Model_No__c,Isoverdue__c,Box_Piece__c,Dealer_Arrive__c,
+        //                Bar_Code_search__c,Dealer_Info_text__c
+        //            FROM Consumable_order_details2__c
+        //            WHERE (Dealer_Arrive__c = TRUE
+        //            or  Dealer_Shipment__c= TRUE
+        //            or  Dealer_Saled__c = TRUE)
+        //            AND  Dealer_Returned__c = FALSE
+        //            AND  Cancellation_Flag__c = FALSE
+        //            AND  Bar_Code_search__c in :BarCodeListP
+        //            AND (Dealer_Info_text__c != :accountName
+        //                OR (Dealer_Info_text__c = :accountName
+        //                    AND Arrive_Owner_Work_Location__c != :userWorkLocation)
+        //            )
+        //            ORDER BY Name ];
+        //Map<String,Consumable_order_details2__c> otherAgProMap = new Map<String,Consumable_order_details2__c>();
+        //for(Consumable_order_details2__c cod2 :reSet1){
+        //    otherAgProMap.put(cod2.Bar_Code__c,cod2);
+        //}
+        carCodeListLose.clear();
+        //鏈洏鐐瑰埌鐨勪骇鍝�
+        for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
+            if (ass.check == true) {
+                for (integer i = 0; i < ProductCount_Res.size(); i++) {
+                    if (ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id && ass.boxPiece == ProductCount_Res[i].Box_Piece__c) {
+                        if (barCodeListPandianMap.containsKey(ProductCount_Res[i].Bar_Code_search__c)) {
+                            continue;
+                        }
+                        if (ProductCount_Res[i].Isoverdue__c == 0) {
+                            consumableorderdetailsRecordserrordummy.add(
+                                new ConsumableorderdetailsInfo(ProductCount_Res[i], '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��')
+                            );
+                            pandiandetailsMap.put(ProductCount_Res[i].Id, '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��');
+                            if (
+                                pandianoverdueCountMap.containsKey(
+                                    ProductCount_Res[i].Consumable_product__c + ProductCount_Res[i].Box_Piece__c
+                                ) == false
+                            ) {
+                                pandianoverdueCountMap.put(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c, 1);
+                            } else {
+                                pandianoverdueCountMap.put(
+                                    ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c,
+                                    pandianoverdueCountMap.get(
+                                        ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c
+                                    ) + 1
+                                );
+                            }
+                            continue;
+                        }
+
+                        consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i], '涓㈠け'));
+                        pandiandetailsMap.put(ProductCount_Res[i].Id, '涓㈠け');
+                    }
+                }
+                // 鍚屾椂瀛樺湪鍏朵粬缁忛攢鍟嗗簱瀛樹骇鍝�
+                for (Consumable_order_details2__c cod2 : reSet1) {
+                    if (cod2.Consumable_Product__c == ass.Prod.Id && ass.boxPiece == cod2.Box_Piece__c) {
+                        if (
+                            barCodeListPandianMap.containsKey(cod2.Bar_Code_search__c) &&
+                            otherAgProMap.containsKey(cod2.Bar_Code__c) &&
+                            otherAgProMap.get(cod2.Bar_Code__c).Dealer_Saled__c == false &&
+                            otherAgProMap.get(cod2.Bar_Code__c).Dealer_Shipment__c == false
+                        ) {
+                            consumableorderdetailsRecordserrordummy.add(
+                                new ConsumableorderdetailsInfo(
+                                    cod2,
+                                    '璇ヤ骇鍝佸綊灞炰簬' + otherAgProMap.get(cod2.Bar_Code__c).Dealer_Info_text__c + '鐨勫簱瀛樸��'
+                                )
+                            );
+                            pandiandetailsMap.put(
+                                cod2.Id,
+                                '璇ヤ骇鍝佸綊灞炰簬' + otherAgProMap.get(cod2.Bar_Code__c).Dealer_Info_text__c + '鐨勫簱瀛樸��'
+                            );
+                            continue;
+                        }
+                    }
+                }
+                // 闇�瑕佽繑鍝佺殑浜у搧
+                for (Consumable_order_details2__c cod2 : reSet2) {
+                    if (cod2.Consumable_Product__c == ass.Prod.Id && ass.boxPiece == cod2.Box_Piece__c) {
+                        if (needreturnMap.containsKey(cod2.Bar_Code__c)) {
+                            consumableorderdetailsRecordserrordummy.add(
+                                new ConsumableorderdetailsInfo(cod2, '璇ヤ骇鍝佺洰鍓嶅嚭搴撶姸鎬侊紝璇疯繑鍝併��')
+                            );
+                            pandiandetailsMap.put(cod2.Id, '璇ヤ骇鍝佺洰鍓嶅嚭搴撶姸鎬侊紝璇疯繑鍝併��');
+                            continue;
+                        }
+                    }
+                }
+            }
+        }
+
+        //鏇存柊涓绘槑缁嗗崟
+        if (barCodeListPandianMap.size() > 0) {
+            for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
+                if (ass.check == true) {
+                    integer countSum = 0;
+                    if (pandianProdIdCountMap.containsKey(ass.Prod.Id + ass.boxPiece)) {
+                        countSum = pandianProdIdCountMap.get(ass.Prod.Id + ass.boxPiece);
+                    }
+                    integer overdueSum = 0;
+                    if (pandianoverdueCountMap.containsKey(ass.Prod.Id + ass.boxPiece)) {
+                        overdueSum = pandianoverdueCountMap.get(ass.Prod.Id + ass.boxPiece);
+                    }
+                    ass.Pandian = countSum;
+                    ass.Diff = ass.countid - countSum - overdueSum;
+                    ass.refind = 0;
+                }
+            }
+        } else {
+            for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
+                if (ass.check == true) {
+                    integer overdueSum = 0;
+                    if (pandianoverdueCountMap.containsKey(ass.Prod.Id + ass.boxPiece)) {
+                        overdueSum = pandianoverdueCountMap.get(ass.Prod.Id + ass.boxPiece);
+                    }
+                    ass.Diff = ass.countid - ass.Pandian - overdueSum;
+                }
+            }
+        }
+
+        //瀵诲洖鍋氭垚
+        for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
+            for (ConsumableorderdetailsInfo adjust : consumableorderdetailsRecordsAdjust) {
+                if (ass.Prod.Name__c == adjust.Prod.Name__c && ass.boxPiece == adjust.orderdetails2.Box_Piece__c) {
+                    if (reFindProduct.containsKey(adjust.orderdetails2.Bar_Code_search__c)) {
+                        continue;
+                    } else {
+                        ass.Pandian++;
+                        ass.refind++;
+                        reFindProduct.put(adjust.orderdetails2.Bar_Code_search__c, adjust.orderdetails2.Bar_Code_search__c);
+                    }
+                }
+            }
+        }
+        if (pandiandetailsMap.keySet().size() > 0) {
+            List<Consumable_order_details2__c> showcod2 = [
+                SELECT
+                    Id,
+                    Name,
+                    Consumable_Product__c,
+                    Bar_Code__c,
+                    Consumable_Product__r.Name__c,
+                    Asset_Model_No__c,
+                    Isoverdue__c,
+                    Box_Piece__c,
+                    Bar_Code_search__c
+                FROM Consumable_order_details2__c
+                WHERE Id IN :pandiandetailsMap.keySet()
+                ORDER BY Name
+            ];
+            initStandardController();
+            showcod2nid = cod2s();
+        }
+        for (Consumable_order_details2__c cod2 : showcod2nid) {
+            codPageRecords.add(new ConsumableorderdetailsInfo(cod2, pandiandetailsMap.get(cod2.Id)));
+        }
+        if (codPageRecords.size() > 0)
+            done = true;
+        iSinventory = true;
+        consumableorderdetailsRecordserrordummy.clear();
+        pandiandetailsList = [
+            SELECT Id, Bar_Code__c, Consumable_Product__r.Name__c, Box_Piece__c, Lose_reason__c
+            FROM Consumable_order_details2__c
+            WHERE Id IN :pandiandetailsMap.keySet()
+            ORDER BY Name
+        ];
+        for (Consumable_order_details2__c codDet : pandiandetailsList) {
+            codDet.Lose_reason__c = pandiandetailsMap.get(codDet.Id);
+        }
+        List<Consumable_order_details2__c> pandiandetailsListMid = new List<Consumable_order_details2__c>();
+        for (Consumable_order_details2__c cod2 : pandiandetailsList) {
+            pandiandetailsListMid.add(cod2);
+            if (pandiandetailsListMid.size() == 1000) {
+                pandiandetailsListShow.add(pandiandetailsListMid);
+                pandiandetailsListMid = new List<Consumable_order_details2__c>();
+            }
+        }
+        if (pandiandetailsListMid.size() > 0) {
+            pandiandetailsListShow.add(pandiandetailsListMid);
+        }
+        //鍒嗛〉
+        PaginatedAccounts paginatedAccounts = new PaginatedAccounts();
+        totalCount = codPageRecords.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;
+
+        Integer startIdx;
+        Integer endIdx;
+        List<ConsumableorderdetailsInfo> pageCodeRecords = new List<ConsumableorderdetailsInfo>();
+        startIdx = pageToken;
+        endIdx = startIdx + pageSize;
+        if (endIdx > codPageRecords.size()) {
+            endIdx = codPageRecords.size();
+        }
+        for (Integer i = startIdx; i < endIdx; i++) {
+            pageCodeRecords.add(codPageRecords.get(i));
+        }
+
+        data.put('paginatedAccounts', paginatedAccounts);
+        data.put('pageCodeRecords', pageCodeRecords);
+
+        //end
+
+        System.debug('=====>codPageRecords2' + codPageRecords);
+        System.debug('=====>consumableorderdetailsRecords' + consumableorderdetailsRecords);
+        data.put('codPageRecords', JSON.serialize(codPageRecords));
+        data.put('consumableorderdetailsRecords', JSON.serialize(consumableorderdetailsRecords));
+        System.debug('iSinventory===>' + iSinventory);
+        data.put('iSinventory', JSON.serialize(iSinventory));
+        System.debug('pandiandetailsMap===>' + pandiandetailsMap);
+        data.put('pandiandetailsMap', pandiandetailsMap);
+        data.put('reSet', reSet);
+        data.put('consumableorderdetailsRecordsview', JSON.serialize(consumableorderdetailsRecordsview));
+        System.debug('=====>consumableorderdetailsRecordsview' + consumableorderdetailsRecordsview);
+        res.code = 200;
+        res.status = 'Sucess';
+        return res;
     }
 
-    // 宸插瓨鍦ㄦ秷鑰楀搧鏄庣粏鐢�
-    public ConsumableorderdetailsInfo(Consumable_order_details2__c e) {
-      check = false;
-      orderdetails2 = e;
-      Prod = e.Consumable_Product__r;
-      canSelect = true;
+    // 淇濆瓨鎸夐挳
+    @AuraEnabled
+    public static ResponseBodyLWC save(
+        Boolean iSinventory,
+        String consumableorderdetailsRecordsLWC,
+        String accountid,
+        String agencyProType,
+        Map<Id, String> pandiandetailsMap,
+        List<Consumable_order_details2__c> reSet
+    ) {
+        List<ConsumableorderdetailsInfo> consumableorderdetailsRecords = (List<ConsumableorderdetailsInfo>) JSON.deserialize(
+            consumableorderdetailsRecordsLWC,
+            List<ConsumableorderdetailsInfo>.class
+        );
+        agencyProType = agencyProType;
+        accountid = accountid;
+        pandiandetailsMap = pandiandetailsMap;
+        reSet = reSet;
+        System.debug('pandiandetailsMap===>' + pandiandetailsMap);
+
+        ResponseBodyLWC res = new ResponseBodyLWC();
+        Map<String, object> data = new Map<String, object>();
+        res.entity = data;
+        // 璺宠繃鏄庣粏2涓嶅繀瑕佹洿鏂�
+        StaticParameter.EscapeConsumableOrderDetail2Trigger = true;
+        if (!iSinventory) {
+            return new ResponseBodyLWC('Error', 500, '璇峰厛褰曞叆BarCode', '');
+            // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'璇峰厛鐐广�怋arCode褰曞叆銆�'));
+            // return null;
+        }
+        integer Lo = 0;
+        for (ConsumableorderdetailsInfo header : consumableorderdetailsRecords) {
+            if (header.check == true) {
+                Lo++;
+            }
+        }
+        if (Lo == 0) {
+            iSinventory = false;
+            // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'璇烽�夋嫨瑕佺洏鐐圭殑鏄庣粏'));
+            // return null;
+            return new ResponseBodyLWC('Error', 500, '璇烽�夋嫨瑕佺洏鐐圭殑鏄庣粏', '');
+        }
+        for (ConsumableorderdetailsInfo header : consumableorderdetailsRecords) {
+            if (header.check == true) {
+                //ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, header.prod.Name__c + '  '+header.prod.Name__c));
+                //return null;
+                if ((header.DiffReason == '' || header.DiffReason == null) && header.Diff > 0) {
+                    return new ResponseBodyLWC('Error', 500, header.prod.Name__c + '璇疯緭鍏ュ樊寮傚師鍥�', '');
+                    // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, header.prod.Name__c + '璇疯緭鍏ュ樊寮傚師鍥�'));
+                    // return null;
+                } else if ((header.DiffReason != '' && header.DiffReason != null) && header.Diff == 0) {
+                    // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '鏃犱涪澶变骇鍝侊紝涓嶉渶瑕佸~鍐欏樊寮傚師鍥�'));
+                    // return null;
+                    return new ResponseBodyLWC('Error', 500, header.prod.Name__c + '鏃犱涪澶变骇鍝侊紝涓嶉渶瑕佸~鍐欏樊寮傚師鍥�', '');
+                }
+            }
+        }
+        Integer orderDetNo = 1;
+        Savepoint sp = Database.setSavepoint();
+        Consumable_order__c Po = new Consumable_order__c();
+        Po.Name = '*';
+        Po.Order_status__c = '鎵瑰噯';
+        Po.Inventory_date__c = Date.today();
+        Po.Order_type__c = '鐩樼偣';
+        Po.Dealer_Info__c = accountid;
+        Po.Order_ProType__c = agencyProType;
+        Po.RecordTypeid = System.Label.RT_ConOrder_Inventory;
+        try {
+            insert Po;
+            eSetId = Po.id;
+            List<Consumable_order__c> Consumable_order = [SELECT Name FROM Consumable_order__c WHERE id = :Po.id];
+            List<Consumable_orderdetails__c> InsList = new List<Consumable_orderdetails__c>();
+            List<Consumable_order_details2__c> InsListUp = new List<Consumable_order_details2__c>();
+            List<Consumable_order_details2__c> updListAdjust = new List<Consumable_order_details2__c>();
+            Map<String, String> ErrorName = new Map<String, String>();
+            Map<String, Boolean> CheckTF = new Map<String, Boolean>();
+            for (ConsumableorderdetailsInfo header : consumableorderdetailsRecords) {
+                if (header.check == true) {
+                    Consumable_orderdetails__c insPan = new Consumable_orderdetails__c();
+                    insPan = new Consumable_orderdetails__c();
+                    String str = string.valueOf(orderDetNo);
+                    if (str.length() == 1) {
+                        str = '0' + str;
+                    }
+                    insPan.Name = Consumable_order[0].Name + '-' + str;
+                    insPan.Consumable_Product__c = header.ProdId;
+                    ErrorName.put(insPan.Consumable_Product__c, header.DiffReason);
+                    CheckTF.put(insPan.Consumable_product__c, true);
+                    insPan.Consumable_order__c = Po.Id;
+                    insPan.Lose_reason__c = header.DiffReason;
+                    insPan.Diff__c = header.Diff;
+                    insPan.Product_Refind__c = header.refind;
+                    insPan.inventory_sum__c = header.Pandian;
+                    insPan.Count_Sum__c = header.countid;
+                    insPan.RecordTypeId = System.Label.RT_ConOrderDetail1_Inventory;
+                    orderDetNo++;
+                    InsList.add(insPan);
+                }
+            }
+            if (InsList.size() > 0) {
+                insert InsList;
+            }
+            List<Consumable_order_details2__c> showcod2 = [
+                SELECT
+                    Id,
+                    Name,
+                    Consumable_Product__c,
+                    Bar_Code__c,
+                    Consumable_Product__r.Name__c,
+                    Asset_Model_No__c,
+                    Isoverdue__c,
+                    Box_Piece__c,
+                    Bar_Code_search__c
+                FROM Consumable_order_details2__c
+                WHERE Id IN :pandiandetailsMap.keySet()
+                ORDER BY Name
+            ];
+            for (Consumable_order_details2__c cod : showcod2) {
+                Consumable_order_details2__c InsDetail = new Consumable_order_details2__c();
+                InsDetail.Id = cod.Id;
+                InsDetail.Consumable_Inventory_order__c = po.Id;
+                InsDetail.Inventory_date__c = Date.today();
+                // 20210224 gzw CHAN-BXF3PG start
+                // if(pandiandetailsMap.get(cod.Id) == '涓㈠け' ){
+                if (pandiandetailsMap.get(cod.Id) == '涓㈠け' && CheckTF.containsKey(cod.Consumable_product__c)) {
+                    // 20210224 gzw CHAN-BXF3PG end
+                    InsDetail.Lose_reason__c = ErrorName.get(cod.Consumable_product__c);
+                    InsDetail.Lose_Flag__c = true;
+                } else if (pandiandetailsMap.get(cod.Id) == '瀵诲洖') {
+                    InsDetail.Lose_reason__c = '';
+                    InsDetail.Lose_Flag__c = false;
+                } else {
+                    continue;
+                }
+                InsListUp.add(InsDetail);
+            }
+            for (Consumable_order_details2__c rs : reSet) {
+                rs.Inventory_date__c = Date.today();
+            }
+            if (reSet.size() > 0) {
+                update reSet;
+            }
+            if (InsListUp.size() > 0) {
+                ControllerUtil.updateOrderDetailsSatus(InsListUp); // Commented By DTT - Li Jun for testing 20230407
+            }
+        } catch (Exception e) {
+            Database.rollback(sp);
+            // ApexPages.addMessages(ex);
+            return new ResponseBodyLWC('Error', 500, e.getMessage() + e.getLineNumber(), '');
+            // return null;
+        }
+        // FIXME impliment BarCodeListAdjust
+        /************************************************************************************************/
+        // return ProS();
+        data.put('eSetId', eSetId);
+        data.put('InsListUp', InsListUp);
+        res.status = 'Success';
+        res.code = 200;
+        System.debug('res = ' + res);
+        return res;
     }
-    public ConsumableorderdetailsInfo(Product2__c e) {
-      check = false;
-      //orderdetails1 = new Consumable_orderdetails__c();
-      Prod = e;
-      canSelect = true;
-      ProdId = string.valueOf(e.id);
-      countid = 0;
-      Pandian = 0;
-      refind = 0;
-      Diff = 0;
-      limitCount = 0;
-      overlimitCount = 0;
+
+    //鐩樼偣涓�瑙�
+    public PageReference ProS() {
+        // 杩斿洖鐩樼偣涓�瑙�
+        PageReference ref = new Pagereference('/apex/InventoryList?eSetId=' + eSetId);
+        ref.setRedirect(true);
+        return ref;
     }
-    // 鎺掑簭
-    public Integer compareTo(Object compareTo) {
-      ConsumableorderdetailsInfo compareToesd = (ConsumableorderdetailsInfo) compareTo;
-      Integer returnValue = 0;
-      if (countid > compareToesd.countid) {
-        returnValue = -1;
-      } else if (countid < compareToesd.countid) {
-        returnValue = 1;
-      }
-      return returnValue;
+    //CSV鍑哄姏
+    public PageReference doClick() {
+        Pagereference pr = page.InventoryCSV;
+        return pr;
     }
-  }
-}
+    //鍒嗛〉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; }
+    }
+
+    // Data Bean
+    @TestVisible
+    class ConsumableorderdetailsInfo implements Comparable {
+        @AuraEnabled
+        public Boolean check { 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 countid { get; set; }
+        @AuraEnabled
+        public String ProdId { get; set; }
+        @AuraEnabled
+        public Decimal Pandian { get; set; }
+        @AuraEnabled
+        public Decimal Diff { get; set; }
+        @AuraEnabled
+        public Decimal refind { get; set; }
+        @AuraEnabled
+        public String DiffReason { get; set; }
+        @AuraEnabled
+        public Boolean canSelect { get; set; }
+        @AuraEnabled
+        public Boolean sortBy { get; set; }
+        @AuraEnabled
+        public Decimal limitCount { get; set; }
+        @AuraEnabled
+        public Decimal overlimitCount { get; set; }
+        @AuraEnabled
+        public String boxPiece { get; set; }
+        public ConsumableorderdetailsInfo(Consumable_order_details2__c e, string str) {
+            orderdetails2 = e;
+            Prod = e.Consumable_Product__r;
+            //e.Lose_reason__c = str;
+            DiffReason = str;
+        }
+
+        // 宸插瓨鍦ㄦ秷鑰楀搧鏄庣粏鐢�
+        public ConsumableorderdetailsInfo(Consumable_order_details2__c e) {
+            check = false;
+            orderdetails2 = e;
+            Prod = e.Consumable_Product__r;
+            canSelect = true;
+        }
+        public ConsumableorderdetailsInfo(Product2__c e) {
+            check = false;
+            //orderdetails1 = new Consumable_orderdetails__c();
+            Prod = e;
+            canSelect = true;
+            ProdId = string.valueOf(e.id);
+            countid = 0;
+            Pandian = 0;
+            refind = 0;
+            Diff = 0;
+            limitCount = 0;
+            overlimitCount = 0;
+        }
+        // 鎺掑簭
+        public Integer compareTo(Object compareTo) {
+            ConsumableorderdetailsInfo compareToesd = (ConsumableorderdetailsInfo) compareTo;
+            Integer returnValue = 0;
+            if (countid > compareToesd.countid) {
+                returnValue = -1;
+            } else if (countid < compareToesd.countid) {
+                returnValue = 1;
+            }
+            return returnValue;
+        }
+    }
+}
\ No newline at end of file

--
Gitblit v1.9.1