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

---
 force-app/main/default/classes/LexInventoryController.cls | 3008 ++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 1,763 insertions(+), 1,245 deletions(-)

diff --git a/force-app/main/default/classes/LexInventoryController.cls b/force-app/main/default/classes/LexInventoryController.cls
index 564eded..238f43d 100644
--- a/force-app/main/default/classes/LexInventoryController.cls
+++ b/force-app/main/default/classes/LexInventoryController.cls
@@ -1,1283 +1,1801 @@
 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; }
-  
-    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<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>();
+  // 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 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 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 List<ConsumableorderdetailsInfo> consumableorderdetailsviewRecords;
-   
-    public static  Integer consumableorderdetailsCount  {
-        get {
-            return consumableorderdetailsRecords == null ? 0 : consumableorderdetailsRecords.size();
-        }
+  //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;
+  }
+  //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;
+  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>();
+    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;
+  }
 
-    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();
+  // 鐢婚潰鍒濆鍖�
+  @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';
     }
-
-    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 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', '');
+    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]);
     // }
-    //========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 + '%';
-
-        
-
-
-        /* 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 );
-        //鏌ヨ搴撳瓨 杩藉姞杩斿搧搴撳瓨
-        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 ];
-        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++){
-                        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;
-          
+    //鏌ヨ搴撳瓨 杩藉姞杩斿搧搴撳瓨
+    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
+          );
         }
-
-
-
-        //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);
+      } 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
+          );
         }
-// 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;
-                }
-            }
+      }
+    }
+    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();
 
-            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);
-                }
+    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);
+              }
             }
-            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)
+      //宸茬粡鍑哄簱鐨勪骇鍝�
+      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],
+                      '璇ヤ骇鍝佹湭杩斿搧'
                     )
-                    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;
+                  );
+                  pandiandetailsMap.put(ProductCount_Res[i].Id, '璇ヤ骇鍝佹湭杩斿搧');
+                  carCodeListLose.add(ProductCount_Res[i].Bar_Code_search__c);
+                  continue;
                 }
-            }
-            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 (
+                  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(!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);
-                    }
+                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);
+              }
             }
-            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 + '涓�'));
-            }
+          }
+        } 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(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, '涓㈠け');
-                        }
-                    }
-                }
-            }
+      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>();
         }
-        //宸茬粡鍑哄簱鐨勪骇鍝�
-        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;
-                        }
+      }
+      if (pandiandetailsListMid.size() > 0) {
+        pandiandetailsListShow.add(pandiandetailsListMid);
+      }
 
-                        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;
-                        }
-                    }
-                }
-            }
-        }
+      //鍒嗛〉
+      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;
 
-        //鏇存柊涓绘槑缁嗗崟
-        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;
-                }
-            }
-        }
+      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);
 
-        //瀵诲洖鍋氭垚
-        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();
+      //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';
 
-        }
-        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;
+      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;
+  }
+
+  // 淇濆瓨鎸夐挳
+  @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 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 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);
+    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; }
+  }
 
-        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;
+  // 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 PageReference ProS() {
-        // 杩斿洖鐩樼偣涓�瑙�
-        PageReference ref = new Pagereference('/apex/InventoryList?eSetId=' + eSetId);
-        ref.setRedirect(true);
-        return ref; 
+    // 宸插瓨鍦ㄦ秷鑰楀搧鏄庣粏鐢�
+    public ConsumableorderdetailsInfo(Consumable_order_details2__c e) {
+      check = false;
+      orderdetails2 = e;
+      Prod = e.Consumable_Product__r;
+      canSelect = true;
     }
-    //CSV鍑哄姏
-    public PageReference doClick() {
-        Pagereference pr = page.InventoryCSV;
-        return pr;
+    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;
     }
-      //鍒嗛〉Bean
-      public class PaginatedAccounts {
-        @AuraEnabled
-        public Integer nextPageToken;
-        @AuraEnabled
-        public Integer pageNumber { get; set; }
-        @AuraEnabled
-        public Integer totalRecords { get; set; }
-        @AuraEnabled
-        public Integer recordStart { get; set; }
-        @AuraEnabled
-        public Integer recordEnd { get; set; }
+    // 鎺掑簭
+    public 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;
     }
-
-    // Data Bean
-    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