From b5c5eb130ca0848124f9d136af4be142ad5aac07 Mon Sep 17 00:00:00 2001
From: binxie <137736985@qq.com>
Date: 星期一, 26 六月 2023 14:42:02 +0800
Subject: [PATCH] backup0626

---
 force-app/main/default/classes/LexInventoryController.cls | 1734 ++++++++++++++++++++++++++---------------------------------
 1 files changed, 772 insertions(+), 962 deletions(-)

diff --git a/force-app/main/default/classes/LexInventoryController.cls b/force-app/main/default/classes/LexInventoryController.cls
index 7380b26..564eded 100644
--- a/force-app/main/default/classes/LexInventoryController.cls
+++ b/force-app/main/default/classes/LexInventoryController.cls
@@ -4,45 +4,44 @@
     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; }
+    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  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; }
+    public static  String barcode { get; set; }
+    public static  Boolean done { get; set; }
     /*****************鐢婚潰琛ㄧずBean******************/
     //椤甸潰涓绘暟鎹樉绀虹敤
-    // private static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords;
-    public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords;
+    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>();
+    public static  List<Consumable_order_details2__c> reSet = new List<Consumable_order_details2__c>();
+    public static  List<Consumable_order_details2__c> showcod2nid = new List<Consumable_order_details2__c>();
 
     //public List<Consumable_order_details2__c> pandiandetailsList { get; set; }
-    public static List<List<Consumable_order_details2__c>> pandiandetailsListShow { get; set; }
+    public static  List<List<Consumable_order_details2__c>> pandiandetailsListShow { get; set; }
     //瀵诲洖鏄庣粏
-    public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecordserrordummy; // 涓㈠け鍜屽贰鍥炵殑,瀹為檯鐐掍綔鐢�
+    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<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 {
+   
+    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  Map<String,String> reFindProduct = new Map<String,String>();
     //鎺掑簭鐢�
     // public static  String sortKey;
     // public static  String preSortKey;
@@ -57,12 +56,12 @@
     // 鐧诲綍鑰呭伐浣滃湴
     private static String userWorkLocation;
     //缁忛攢鍟嗙敤鎴蜂骇鍝佸垎绫伙紙ET銆丒NG锛�
-    public static String agencyProType { get; set; }
+    public static String agencyProType {get;set;}
     public static String sqlagencyProType;
     //鍒ゆ柇鎿嶄綔浜哄憳鏄惁鐩樼偣
     public static Boolean iSinventory = false;
 
-    public LexInventoryController() {
+    public LexInventoryController(){
         size = Integer.valueOf(System.Label.orderdetLimitsize);
         consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>();
         done = false;
@@ -73,79 +72,65 @@
         //codPageRecordsShow = new List<ConsumableorderdetailsInfo>();
     }
 
-    private static void initStandardController() {
+    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
-        ];
+        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);
+        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;
+    public static  List<Consumable_order_details2__c> cod2s() {
+         return setConDetails2;
     }
     //Changes the size of pagination
-    public static PageReference refreshPageSize() {
+    public static  PageReference refreshPageSize() {
         setCon.setPageSize(size);
         //showcod2nid = cod2s();
         makepagerecords();
         return null;
     }
 
-    public static List<ConsumableorderdetailsInfo> makepagerecords() {
+    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)));
+            codPageRecords.add(new ConsumableorderdetailsInfo(cod2,pandiandetailsMap.get(cod2.Id)));
         }
-        System.debug('===>codPageRecords1' + codPageRecords);
-        return codPageRecords;
+        System.debug('===>codPageRecords1'+codPageRecords);
+         return codPageRecords;
     }
 
     // 鐢婚潰鍒濆鍖�
     @AuraEnabled
     public static ResponseBodyLWC init() {
+      
+
         ResponseBodyLWC res = new ResponseBodyLWC();
-        Map<String, object> data = new Map<String, object>();
+        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);
+        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';
@@ -157,21 +142,21 @@
         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];
+        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)) {
+        if(String.isBlank(Useracc.UserPro_Type__c)){
             agencyProType = 'ET';
         }
         sqlagencyProType = '%' + agencyProType + '%';
-        Account accountInfo = [SELECT Name, Dealer_discount__c FROM account WHERE id = :accountid];
+        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>();
+        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>();
+        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,
@@ -185,135 +170,123 @@
         //     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
-        ];
+        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) {
+        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++) {
+        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());
+        }  
+        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++) {
+        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) {
+            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) {
+                    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);
+                    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) {
+            }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) {
+                    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);
+                    newMidPieceMap.put(ProductCount_Res[i].Consumable_Product__c+ProductCount_Res[i].Box_Piece__c, Jstage);
                 }
             }
         }
-        for (ConsumableorderdetailsInfo bss : newMidBoxMap.values()) {
+        for(ConsumableorderdetailsInfo bss : newMidBoxMap.values()){
             bss.overlimitCount = bss.countid - bss.limitCount;
             boxRecords.add(bss);
         }
         boxRecords.sort();
-        for (ConsumableorderdetailsInfo bss : newMidPieceMap.values()) {
+        for(ConsumableorderdetailsInfo bss : newMidPieceMap.values()){
             bss.overlimitCount = bss.countid - bss.limitCount;
         }
-        for (ConsumableorderdetailsInfo bss : boxRecords) {
+        for(ConsumableorderdetailsInfo bss : boxRecords){
             consumableorderdetailsRecords.add(bss);
-            if (newMidPieceMap.containsKey(bss.Prod.Id + '涓�')) {
+            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()) {
+        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));
+
+        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() {
+    private static void listCut(){
         //鎷嗗垎鏆傜敤list
         List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordsbreak = new List<ConsumableorderdetailsInfo>();
         List<ConsumableorderdetailsInfo> ConsumableorderdetailsRecordsbreakover = new List<ConsumableorderdetailsInfo>();
@@ -324,41 +297,44 @@
         //閫夋嫨浜у搧view
         ConsumableorderdetailsRecordsbreak = new List<ConsumableorderdetailsInfo>();
         ConsumableorderdetailsRecordsbreakover = new List<ConsumableorderdetailsInfo>();
-        if (consumableorderdetailsRecords.size() > 1000) {
-            for (Integer i = 0; i < consumableorderdetailsRecords.size(); i++) {
-                if (i < 1000) {
+        if(consumableorderdetailsRecords.size() > 1000){
+            for(Integer i = 0; i < consumableorderdetailsRecords.size(); i++){
+                if(i < 1000){
                     c = consumableorderdetailsRecords.get(i);
                     ConsumableorderdetailsRecordsbreak.add(c);
-                } else {
+                }else{
                     c = consumableorderdetailsRecords.get(i);
                     ConsumableorderdetailsRecordsbreakover.add(c);
                 }
             }
             consumableorderdetailsRecordsview.add(ConsumableorderdetailsRecordsbreak);
             consumableorderdetailsRecordsview.add(ConsumableorderdetailsRecordsbreakover);
-        } else {
+        }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>{};
+    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) {
+        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);
+            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
 
@@ -369,78 +345,53 @@
     //========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
-    ) {
+    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
-        );
+        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);
+       system.debug('=====>consumableorderdetailsRecordsLWC'+consumableorderdetailsRecordsLWC);
         ResponseBodyLWC res = new ResponseBodyLWC();
-        Map<String, object> data = new Map<String, object>();
+        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<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
-        ];
-        System.debug('ProductCount_Res==>' + ProductCount_Res);
+        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>();
+        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>();
+        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>();
@@ -448,23 +399,20 @@
         pandiandetailsMap.clear();
         reSet = new List<Consumable_order_details2__c>();
         /* 鍒ゆ柇BarCode鏄惁涓虹┖ */
-        if (barcode == null || barcode == '') {
+        if (barcode == null || barcode == ''){
             //鍏堝彇鍑烘墍鏈変涪澶变骇鍝�
-            for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
+            for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){
                 // 20200509 gzw add 鐩樼偣鏁伴噺鍒濆鍖�
                 ass.Pandian = 0;
                 // 20200509 gzw add 鐩樼偣鏁伴噺鍒濆鍖�
-                if (ass.check == true) {
+                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)) {
+                    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 {
+                            }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]));
@@ -476,170 +424,576 @@
             }
 
             //宸茬粡鍑哄簱鐨勪骇鍝�
-            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);
+            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);
+            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) {
+
+            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)) {
+                    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], '璇ヤ骇鍝佹湭杩斿搧')
-                                    );
+                            }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 + '鐨勫簱瀛樸��'
-                                    );
+                                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], '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��')
-                                    );
+                                    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], '涓㈠け'));
+                                consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'涓㈠け'));
                                 pandiandetailsMap.put(ProductCount_Res[i].Id, '涓㈠け');
                                 carCodeListLose.add(ProductCount_Res[i].Bar_Code_search__c);
                             }
                         }
                     }
-                } else {
+                }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
-                ];
+                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)));
+                codPageRecords.add(new ConsumableorderdetailsInfo(cod2,pandiandetailsMap.get(cod2.Id)));
             }
 
             iSinventory = true;
-            if (codPageRecords.size() > 0)
-                done = 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) {
+            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) {
+            for(Consumable_order_details2__c cod2 : pandiandetailsList){
                 pandiandetailsListMid.add(cod2);
-                if (pandiandetailsListMid.size() == 1000) {
+                if(pandiandetailsListMid.size() == 1000){
                     pandiandetailsListShow.add(pandiandetailsListMid);
                     pandiandetailsListMid = new List<Consumable_order_details2__c>();
                 }
             }
-            if (pandiandetailsListMid.size() > 0) {
-                pandiandetailsListShow.add(pandiandetailsListMid);
+                if(pandiandetailsListMid.size() > 0){
+                    pandiandetailsListShow.add(pandiandetailsListMid);
+                }
+
+                 //鍒嗛〉
+            PaginatedAccounts paginatedAccounts = new PaginatedAccounts();
+            totalCount = codPageRecords.size();
+            paginatedAccounts.nextPageToken = (pageToken + pageSize < totalCount) ? pageToken + pageSize : null;
+            paginatedAccounts.recordStart = pageToken + 1;
+            paginatedAccounts.pageNumber = pageToken / pageSize + 1;
+            Integer recordEnd = pageSize * paginatedAccounts.pageNumber;
+            paginatedAccounts.recordEnd = totalCount >= recordEnd ? recordEnd : totalCount;
+            paginatedAccounts.totalRecords = totalCount;
+
+            Integer startIdx;
+            Integer endIdx;
+            List<ConsumableorderdetailsInfo> pageCodeRecords = new List<ConsumableorderdetailsInfo>();
+            startIdx = pageToken;
+            endIdx = startIdx + pageSize;
+            if (endIdx > codPageRecords.size()) {
+                endIdx = codPageRecords.size();
+            }
+            for (Integer i = startIdx; i < endIdx; i++) {
+                pageCodeRecords.add(codPageRecords.get(i));
             }
 
+            data.put('paginatedAccounts', paginatedAccounts);
+            data.put('pageCodeRecords', pageCodeRecords);
+
+            //end
+            data.put('codPageRecords',JSON.serialize(codPageRecords));
+            data.put('consumableorderdetailsRecords',JSON.serialize(consumableorderdetailsRecords));
+            data.put('consumableorderdetailsRecordsview',JSON.serialize(consumableorderdetailsRecordsview));
+            data.put('pandiandetailsMap',pandiandetailsMap);
+            System.debug('iSinventory===>'+iSinventory);
+            System.debug('codPageRecords===>'+codPageRecords);
+            data.put('iSinventory',JSON.serialize(iSinventory));
+            data.put('reSet1',reSet1);
+            System.debug('reSet1===>'+reSet1);
+            res.code = 200;
+            res.status = 'Success1';
+         
+            return res;
+          
+        }
+
+
+
+        //CHAN-B7J4NB 鍙湁涓�涓椂锛岀洏鐐逛笉鍒�
+        //init();
+        //CHAN-B7J4NB
+        Map<String,String> showproductIdMap = new Map<String,String>();
+        for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){
+            showproductIdMap.put(ass.prod.Id + ass.boxPiece, ass.prod.Id + ass.boxPiece);
+        }
+// ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCodeListP' + BarCodeListP));
+        /***************************************************************************/
+        // BarCode鐨勬绱�  鎵�鏈夊湪搴�
+        reSet = [select Id,Consumable_Product__c,Consumable_Product__r.Name__c,
+                        Box_Piece__c,Bar_Code_search__c,Isoverdue__c
+                    from Consumable_order_details2__c
+                    where Bar_Code_search__c in :BarCodeListP
+                    AND Dealer_Arrive__c = true
+                    AND Dealer_Shipment__c = false
+                    AND Dealer_Saled__c = false
+                    AND Dealer_Returned__c = false
+                    AND Lose_Flag__c = false
+                    AND Cancellation_Date__c = null
+                    and Bar_Code__c !=null
+                    AND Product_Type__c like : sqlagencyProType
+                    AND Arrive_Owner_Work_Location__c =: userWorkLocation
+                    AND  Dealer_Info_text__c = :accountName
+                    order by Name];
+                    System.debug('reSet===>'+reSet);
+        Map<String, Integer> pandianProdIdCountMap = new Map<String, Integer>();        // ProdId 鍗樹綅
+        // 20200509 add gzw 璁板綍闇�瑕侀攢瀛樻暟閲�
+        Map<String, Integer> pandianoverdueCountMap = new Map<String, Integer>();        // ProdId 鍗樹綅 
+        // 20200509 add gzw 璁板綍闇�瑕侀攢瀛樻暟閲�
+        Map<String,ConsumableorderdetailsInfo> barCodeListPandianMap = new Map<String,ConsumableorderdetailsInfo>();   // 鏄庣窗銉愩兗銈炽兗銉� 鍗樹綅
+        //鐩樼偣鍒扮殑鏄庣粏
+        for(Consumable_order_details2__c rs : reSet){
+            //BarCodeListPandian.add(rs.Bar_Code_search__c);
+            for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){
+                if(rs.Consumable_Product__c == ass.Prod.Id && rs.Box_Piece__c == ass.boxPiece){
+                    ass.check = true;
+                }
+            }
+
+            barCodeListPandianMap.put(rs.Bar_Code_search__c, new ConsumableorderdetailsInfo(rs));
+            if (rs.Isoverdue__c == 0) {
+                consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(rs,'璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��'));
+                pandiandetailsMap.put(rs.Id, '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��');
+                if (pandianoverdueCountMap.containsKey(rs.Consumable_product__c + rs.Box_Piece__c) == false) {
+                    pandianoverdueCountMap.put(rs.Consumable_Product__c + rs.Box_Piece__c, 1);
+                } else {
+                    pandianoverdueCountMap.put(rs.Consumable_Product__c + rs.Box_Piece__c, pandianoverdueCountMap.get(rs.Consumable_Product__c + rs.Box_Piece__c) + 1);
+                }
+                continue;
+            }
+            if (pandianProdIdCountMap.containsKey(rs.Consumable_product__c + rs.Box_Piece__c) == false) {
+                pandianProdIdCountMap.put(rs.Consumable_Product__c + rs.Box_Piece__c, 1);
+            } else {
+                pandianProdIdCountMap.put(rs.Consumable_Product__c + rs.Box_Piece__c, pandianProdIdCountMap.get(rs.Consumable_Product__c + rs.Box_Piece__c) + 1);
+            }
+        }
+
+        // 缁忛攢鍟嗕箣闂存垨鑰呭悓涓�缁忛攢鍟嗕笉鍚屽伐浣滃湴璋冭揣
+        List<Consumable_order_details2__c> reSet1 = [SELECT Id,  Name,Consumable_Product__c,
+                        Bar_Code__c,Consumable_Product__r.Name__c,Dealer_Shipment__c,Dealer_Saled__c,
+                        Asset_Model_No__c,Isoverdue__c,Box_Piece__c,Dealer_Arrive__c,
+                        Bar_Code_search__c,Dealer_Info_text__c
+                    FROM Consumable_order_details2__c
+                    WHERE (Dealer_Arrive__c = TRUE
+                    or  Dealer_Shipment__c= TRUE
+                    or  Dealer_Saled__c = TRUE)
+                    AND  Dealer_Returned__c = FALSE
+                    AND  Cancellation_Flag__c = FALSE
+                    AND  Bar_Code_search__c in :BarCodeListP
+                    AND (Dealer_Info_text__c != :accountName
+                        OR (Dealer_Info_text__c = :accountName
+                            AND Arrive_Owner_Work_Location__c != :userWorkLocation)
+                    )
+                    ORDER BY Name ];
+        Map<String,Consumable_order_details2__c> otherAgProMap = new Map<String,Consumable_order_details2__c>();
+        for(Consumable_order_details2__c cod2 :reSet1){
+            otherAgProMap.put(cod2.Bar_Code__c,cod2);
+        }
+        // 闇�瑕佸叆搴撶殑浜у搧
+        for(Consumable_order_details2__c cod2 : reSet1){
+            for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){
+                if(cod2.Consumable_Product__c == ass.Prod.Id && cod2.Box_Piece__c == ass.boxPiece){
+                    ass.check = true;
+                }
+            }
+            if(!showproductIdMap.containsKey(cod2.Consumable_product__c + cod2.Box_Piece__c)){
+                reFindProductList.add(cod2);
+                proIdNotinpage.put(cod2.Consumable_Product__c, cod2.Box_Piece__c);
+            }
+            if(!barCodeListPandianMap.containsKey(cod2.Bar_Code_search__c)
+                && otherAgProMap.containsKey(cod2.Bar_Code__c)
+                && (otherAgProMap.get(cod2.Bar_Code__c).Dealer_Saled__c == true
+                || otherAgProMap.get(cod2.Bar_Code__c).Dealer_Shipment__c == true) ){
+                consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(cod2,'鏃犳浜у搧鐨勫簱瀛橈紝璇峰叆搴撱��'));
+                pandiandetailsMap.put(cod2.Id, '鏃犳浜у搧鐨勫簱瀛橈紝璇峰叆搴撱��');
+            }
+        }
+        //瀵诲洖鏄庣粏
+        List<Consumable_order_details2__c> productAdjust = new List<Consumable_order_details2__c>();
+        productAdjust = [select Id,  Name,Consumable_Product__c,
+                            Bar_Code__c,Consumable_Product__r.Name__c,Lose_reason__c,
+                            Asset_Model_No__c,Box_Piece__c,Bar_Code_search__c,Isoverdue__c
+                        from Consumable_order_details2__c
+                        where Bar_Code_search__c in :BarCodeListP
+                          and Bar_Code__c !=null
+                          and Lose_Flag__c = true
+                          AND Product_Type__c like : sqlagencyProType
+                          AND  Dealer_Info_text__c = :accountName
+                          AND Arrive_Owner_Work_Location__c =: userWorkLocation
+                        order by Name];
+        
+
+        for (Consumable_order_details2__c rs : productAdjust){
+            // 杩囨湡搴撳瓨閿�瀛� 20200427 gzw add srart
+            if (rs.Isoverdue__c == 0 || rs.Lose_reason__c == '杩囨湡搴撳瓨閿�瀛�' ) {
+                consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(rs,'杩囨湡鎴栬�呴攢瀛樹骇鍝侊紝鏃犳硶瀵诲洖鍏ュ簱'));
+                pandiandetailsMap.put(rs.Id, '杩囨湡鎴栬�呴攢瀛樹骇鍝侊紝鏃犳硶瀵诲洖鍏ュ簱');
+                carCodeListLose.add(rs.Bar_Code_search__c);
+                continue;
+            }
+            // 杩囨湡搴撳瓨閿�瀛� 20200427 gzw add end
+            for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){
+                if(rs.Consumable_Product__c == ass.Prod.Id && rs.Box_Piece__c == ass.boxPiece){
+                    ass.check = true;
+                }
+            }
+            if(!showproductIdMap.containsKey(rs.Consumable_product__c + rs.Box_Piece__c)){
+                reFindProductList.add(rs);
+                proIdNotinpage.put(rs.Consumable_Product__c, rs.Box_Piece__c);
+            }
+            if(barCodeListAdjustMap.containsKey(rs.Bar_Code_search__c)){
+                continue;
+            }else{
+                barCodeListAdjustMap.put(rs.Bar_Code_search__c, new ConsumableorderdetailsInfo(rs));
+                consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(rs,'瀵诲洖'));
+                pandiandetailsMap.put(rs.Id, '瀵诲洖');
+                consumableorderdetailsRecordsAdjust.add(new ConsumableorderdetailsInfo(rs));
+            }
+        }
+        if(reFindProductList.size() > 0){
+            Map<String,Product2__c> midMap = new Map<String,Product2__c>();
+            List<ConsumableorderdetailsInfo> boxRecords = new List<ConsumableorderdetailsInfo>();
+            Map<String,ConsumableorderdetailsInfo> newMidBoxMap = new Map<String,ConsumableorderdetailsInfo>();
+            Map<String,ConsumableorderdetailsInfo> newMidPieceMap = new Map<String,ConsumableorderdetailsInfo>();
+            List<Product2__c> product_Refind = [select Id, Name,Name__c,SFDA_Status__c,Packing_list_manual__c,Asset_Model_No__c
+                                    from Product2__c
+                                    WHERE Id in :proIdNotinpage.keySet()];
+            for(Product2__c pro : product_Refind){
+                midMap.put(pro.Id, pro);
+            }
+            for(Integer i = 0 ; i< reFindProductList.size();i++){
+                //鐒跺悗寰幆CountDel鍋欱ox鍜宲iece2涓猰ap
+                if(MidMap.containsKey(reFindProductList[i].Consumable_Product__c) && reFindProductList[i].Box_Piece__c == '鐩�'){
+
+                    if(newMidBoxMap.containsKey(reFindProductList[i].Consumable_Product__c+reFindProductList[i].Box_Piece__c)){
+                        ConsumableorderdetailsInfo Jstage = newMidBoxMap.get(reFindProductList[i].Consumable_Product__c+reFindProductList[i].Box_Piece__c).clone();
+                        Jstage.countid = 0 ;
+                        if(reFindProductList[i].Isoverdue__c == 1){
+                            Jstage.limitCount = 0;
+                        }
+                        Jstage.boxPiece = reFindProductList[i].Box_Piece__c;
+                        newMidBoxMap.put(reFindProductList[i].Consumable_Product__c+reFindProductList[i].Box_Piece__c, Jstage);
+}else{
+                                            ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo(MidMap.get(reFindProductList[i].Consumable_Product__c));
+                        Jstage.countid = 0 ;
+                        if(reFindProductList[i].Isoverdue__c == 1){
+                            Jstage.limitCount = 0;
+                        }
+                        Jstage.boxPiece = reFindProductList[i].Box_Piece__c;
+                        newMidBoxMap.put(reFindProductList[i].Consumable_Product__c+reFindProductList[i].Box_Piece__c, Jstage);
+                    }
+                }else if(MidMap.containsKey(reFindProductList[i].Consumable_Product__c) && reFindProductList[i].Box_Piece__c == '涓�'){
+                    if(newMidPieceMap.containsKey(reFindProductList[i].Consumable_Product__c+reFindProductList[i].Box_Piece__c)){
+                        ConsumableorderdetailsInfo Jstage = newMidPieceMap.get(reFindProductList[i].Consumable_product__c+reFindProductList[i].Box_Piece__c).clone();
+                        Jstage.countid = 0 ;
+                        if(reFindProductList[i].Isoverdue__c == 1){
+                            Jstage.limitCount = 0;
+                        }
+                        Jstage.boxPiece = reFindProductList[i].Box_Piece__c;
+                        newMidPieceMap.put(reFindProductList[i].Consumable_Product__c+reFindProductList[i].Box_Piece__c, Jstage);
+                    }else{
+                        ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo(MidMap.get(reFindProductList[i].Consumable_Product__c));
+                        Jstage.countid = 0 ;
+                        if(reFindProductList[i].Isoverdue__c == 1){
+                            Jstage.limitCount = 0;
+                        }
+                        Jstage.boxPiece = reFindProductList[i].Box_Piece__c;
+                        newMidPieceMap.put(reFindProductList[i].Consumable_Product__c+reFindProductList[i].Box_Piece__c, Jstage);
+                    }
+                }
+            }
+            for(ConsumableorderdetailsInfo bss : newMidBoxMap.values()){
+                bss.check = true;
+                bss.overlimitCount = bss.countid - bss.limitCount;
+                boxRecords.add(bss);
+            }
+            boxRecords.sort();
+            for(ConsumableorderdetailsInfo bss : newMidPieceMap.values()){
+                bss.check = true;
+                bss.overlimitCount = bss.countid - bss.limitCount;
+            }
+            for(ConsumableorderdetailsInfo bss : boxRecords){
+                consumableorderdetailsRecords.add(bss);
+                if(newMidPieceMap.containsKey(bss.Prod.Id + '涓�')){
+                    consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '涓�'));
+                    //newMidPieceMap绉婚櫎宸茬粡娣诲姞鐨凱iece
+                    newMidPieceMap.remove(bss.Prod.Id + '涓�');
+                }
+            }
+            for(ConsumableorderdetailsInfo bss : newMidPieceMap.values()){
+                consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '涓�'));
+            }
+        }
+
+        //鍏堝彇鍑烘湭鐩樼偣鍒扮殑浜у搧
+        for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){
+            if(ass.check == true){
+                for(integer i = 0 ; i<ProductCount_Res.size();i++){
+                    if(ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id && ass.boxPiece == ProductCount_Res[i].Box_Piece__c){
+                        if(barCodeListPandianMap.get(ProductCount_Res[i].Bar_Code_search__c) != null){
+                            continue;
+                        }else{
+                            carCodeListLose.add(ProductCount_Res[i].Bar_Code__c);
+                            ////barCodeListLoseMap.put(ProductCount_Res[i].Id, new ConsumableorderdetailsInfo(ProductCount_Res[i]));
+                            //consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'涓㈠け'));
+                            //pandiandetailsMap.put(ProductCount_Res[i].Id, '涓㈠け');
+                        }
+                    }
+                }
+            }
+        }
+        //宸茬粡鍑哄簱鐨勪骇鍝�
+        List<Consumable_order_details2__c>  reSet2 = [SELECT Id,  Name,Consumable_Product__c,
+                        Bar_Code__c,Consumable_Product__r.Name__c,
+                        Asset_Model_No__c,Isoverdue__c,Box_Piece__c,
+                        Bar_Code_search__c,Dealer_Info_text__c
+                    FROM Consumable_order_details2__c
+                    WHERE Dealer_Arrive__c = TRUE
+                    AND  (Dealer_Shipment__c= TRUE
+                    or  Dealer_Saled__c = TRUE)
+                    AND  Dealer_Returned__c = FALSE
+                    AND  Cancellation_Flag__c = FALSE
+                    AND  Bar_Code_search__c in :BarCodeListP
+                    AND Dealer_Info_text__c = :accountName
+                    ORDER BY Name ];
+        Map<String,Consumable_order_details2__c> needreturnMap = new Map<String,Consumable_order_details2__c>();
+        for(Consumable_order_details2__c cod2 :reSet2){
+            needreturnMap.put(cod2.Bar_Code__c,cod2);
+        }
+        //// 缁忛攢鍟嗕箣闂存垨鑰呭悓涓�缁忛攢鍟嗕笉鍚屽伐浣滃湴璋冭揣
+        //List<Consumable_order_details2__c> reSet1 = [SELECT Id,  Name,Consumable_Product__c,
+        //                Bar_Code__c,Consumable_Product__r.Name__c,Dealer_Shipment__c,Dealer_Saled__c,
+        //                Asset_Model_No__c,Isoverdue__c,Box_Piece__c,Dealer_Arrive__c,
+        //                Bar_Code_search__c,Dealer_Info_text__c
+        //            FROM Consumable_order_details2__c
+        //            WHERE (Dealer_Arrive__c = TRUE
+        //            or  Dealer_Shipment__c= TRUE
+        //            or  Dealer_Saled__c = TRUE)
+        //            AND  Dealer_Returned__c = FALSE
+        //            AND  Cancellation_Flag__c = FALSE
+        //            AND  Bar_Code_search__c in :BarCodeListP
+        //            AND (Dealer_Info_text__c != :accountName
+        //                OR (Dealer_Info_text__c = :accountName
+        //                    AND Arrive_Owner_Work_Location__c != :userWorkLocation)
+        //            )
+        //            ORDER BY Name ];
+        //Map<String,Consumable_order_details2__c> otherAgProMap = new Map<String,Consumable_order_details2__c>();
+        //for(Consumable_order_details2__c cod2 :reSet1){
+        //    otherAgProMap.put(cod2.Bar_Code__c,cod2);
+        //}
+        carCodeListLose.clear();
+        //鏈洏鐐瑰埌鐨勪骇鍝�
+        for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){
+            if(ass.check == true){
+                for(integer i = 0 ; i<ProductCount_Res.size();i++){
+                    if(ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id && ass.boxPiece == ProductCount_Res[i].Box_Piece__c){
+                        if(barCodeListPandianMap.containsKey(ProductCount_Res[i].Bar_Code_search__c)){
+                            continue;
+                        }
+                        if (ProductCount_Res[i].Isoverdue__c == 0) {
+                            consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��'));
+                            pandiandetailsMap.put(ProductCount_Res[i].Id, '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��');
+                            if (pandianoverdueCountMap.containsKey(ProductCount_Res[i].Consumable_product__c + ProductCount_Res[i].Box_Piece__c) == false) {
+                                pandianoverdueCountMap.put(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c, 1);
+                            } else {
+                                pandianoverdueCountMap.put(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c, pandianoverdueCountMap.get(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c) + 1);
+                            }
+                            continue;
+                        }
+
+                        consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'涓㈠け'));
+                        pandiandetailsMap.put(ProductCount_Res[i].Id, '涓㈠け');
+                    }
+                }
+                // 鍚屾椂瀛樺湪鍏朵粬缁忛攢鍟嗗簱瀛樹骇鍝�
+                for(Consumable_order_details2__c cod2 : reSet1){
+                    if(cod2.Consumable_Product__c == ass.Prod.Id && ass.boxPiece == cod2.Box_Piece__c){
+                        if(barCodeListPandianMap.containsKey(cod2.Bar_Code_search__c)
+                            && otherAgProMap.containsKey(cod2.Bar_Code__c)
+                            && otherAgProMap.get(cod2.Bar_Code__c).Dealer_Saled__c == false
+                            && otherAgProMap.get(cod2.Bar_Code__c).Dealer_Shipment__c == false ){
+                            consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(cod2,'璇ヤ骇鍝佸綊灞炰簬' + otherAgProMap.get(cod2.Bar_Code__c).Dealer_Info_text__c + '鐨勫簱瀛樸��'));
+                            pandiandetailsMap.put(cod2.Id, '璇ヤ骇鍝佸綊灞炰簬' + otherAgProMap.get(cod2.Bar_Code__c).Dealer_Info_text__c + '鐨勫簱瀛樸��');
+                            continue;
+                        }
+                    }
+                }
+                // 闇�瑕佽繑鍝佺殑浜у搧
+                for(Consumable_order_details2__c cod2 : reSet2){
+                    if(cod2.Consumable_Product__c == ass.Prod.Id && ass.boxPiece == cod2.Box_Piece__c){
+                        if(needreturnMap.containsKey(cod2.Bar_Code__c)){
+                            consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(cod2,'璇ヤ骇鍝佺洰鍓嶅嚭搴撶姸鎬侊紝璇疯繑鍝併��'));
+                            pandiandetailsMap.put(cod2.Id, '璇ヤ骇鍝佺洰鍓嶅嚭搴撶姸鎬侊紝璇疯繑鍝併��');
+                            continue;
+                        }
+                    }
+                }
+            }
+        }
+
+        //鏇存柊涓绘槑缁嗗崟
+        if(barCodeListPandianMap.size() > 0){
+            for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){
+                if(ass.check == true){
+                    integer countSum = 0;
+                    if (pandianProdIdCountMap.containsKey(ass.Prod.Id + ass.boxPiece)) {
+                        countSum = pandianProdIdCountMap.get(ass.Prod.Id + ass.boxPiece);
+                    }
+                    integer overdueSum = 0;
+                    if (pandianoverdueCountMap.containsKey(ass.Prod.Id + ass.boxPiece)) {
+                        overdueSum = pandianoverdueCountMap.get(ass.Prod.Id + ass.boxPiece);
+                    }
+                    ass.Pandian = countSum;
+                    ass.Diff = ass.countid - countSum - overdueSum;
+                    ass.refind = 0;
+                }
+            }
+        }else{
+            for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){
+                if(ass.check == true){
+                    integer overdueSum = 0;
+                    if (pandianoverdueCountMap.containsKey(ass.Prod.Id + ass.boxPiece)) {
+                        overdueSum = pandianoverdueCountMap.get(ass.Prod.Id + ass.boxPiece);
+                    }
+                    ass.Diff = ass.countid - ass.Pandian - overdueSum;
+                }
+            }
+        }
+
+
+        //瀵诲洖鍋氭垚
+        for(ConsumableorderdetailsInfo ass :consumableorderdetailsRecords){
+            for(ConsumableorderdetailsInfo adjust :consumableorderdetailsRecordsAdjust){
+                if(ass.Prod.Name__c == adjust.Prod.Name__c && ass.boxPiece == adjust.orderdetails2.Box_Piece__c){
+                    if(reFindProduct.containsKey(adjust.orderdetails2.Bar_Code_search__c)){
+                        continue;
+                    }else {
+                        ass.Pandian ++;
+                        ass.refind ++;
+                        reFindProduct.put(adjust.orderdetails2.Bar_Code_search__c,adjust.orderdetails2.Bar_Code_search__c);
+                    }
+                }
+            }
+        }
+        if (pandiandetailsMap.keySet().size() > 0) {
+            List<Consumable_order_details2__c> showcod2 = [select Id,  Name,Consumable_Product__c,
+                                Bar_Code__c,Consumable_Product__r.Name__c,
+                                Asset_Model_No__c,Isoverdue__c,Box_Piece__c,
+                                Bar_Code_search__c
+                            FROM Consumable_order_details2__c
+                            WHERE Id in :pandiandetailsMap.keySet()
+                            order by Name];
+            initStandardController();
+            showcod2nid = cod2s();
+
+        }
+        for (Consumable_order_details2__c cod2 : showcod2nid) {
+            codPageRecords.add(new ConsumableorderdetailsInfo(cod2,pandiandetailsMap.get(cod2.Id)));
+        }
+        if(codPageRecords.size() > 0) done = true;
+        iSinventory = true;
+        consumableorderdetailsRecordserrordummy.clear();
+        pandiandetailsList = [select Id, Bar_Code__c,Consumable_Product__r.Name__c,
+                                Box_Piece__c,Lose_reason__c
+                            FROM Consumable_order_details2__c
+                            WHERE Id in :pandiandetailsMap.keySet()
+                            order by Name];
+        for(Consumable_order_details2__c codDet : pandiandetailsList){
+            codDet.Lose_reason__c = pandiandetailsMap.get(codDet.Id);
+        }
+        List<Consumable_order_details2__c> pandiandetailsListMid = new List<Consumable_order_details2__c>();
+        for(Consumable_order_details2__c cod2 : pandiandetailsList){
+            pandiandetailsListMid.add(cod2);
+            if(pandiandetailsListMid.size() == 1000){
+                pandiandetailsListShow.add(pandiandetailsListMid);
+                pandiandetailsListMid = new List<Consumable_order_details2__c>();
+            }
+        }
+            if(pandiandetailsListMid.size() > 0){
+                pandiandetailsListShow.add(pandiandetailsListMid);
+            }
             //鍒嗛〉
             PaginatedAccounts paginatedAccounts = new PaginatedAccounts();
             totalCount = codPageRecords.size();
@@ -666,638 +1020,101 @@
             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);
+
+            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 = 'Success1';
-
+            res.status = 'Sucess';
             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
-        );
+    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;
+        accountid =accountid;
         pandiandetailsMap = pandiandetailsMap;
-        reSet = reSet;
-        System.debug('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', '');
+        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) {
+        for(ConsumableorderdetailsInfo header : consumableorderdetailsRecords){
+            if(header.check==true){
                 Lo++;
             }
         }
-        if (Lo == 0) {
+        if(Lo == 0){
             iSinventory = false;
             // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'璇烽�夋嫨瑕佺洏鐐圭殑鏄庣粏'));
             // return null;
-            return new ResponseBodyLWC('Error', 500, '璇烽�夋嫨瑕佺洏鐐圭殑鏄庣粏', '');
+            return new ResponseBodyLWC('Error',500, '璇烽�夋嫨瑕佺洏鐐圭殑鏄庣粏', '');
         }
-        for (ConsumableorderdetailsInfo header : consumableorderdetailsRecords) {
-            if (header.check == true) {
+        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 + '璇疯緭鍏ュ樊寮傚師鍥�', '');
+                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) {
+                }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 + '鏃犱涪澶变骇鍝侊紝涓嶉渶瑕佸~鍐欏樊寮傚師鍥�', '');
+                    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.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;
+        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) {
+            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;
+                    if(str.length() == 1){
+                    str = '0' + str;
                     }
-                    insPan.Name = Consumable_order[0].Name + '-' + 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);
+                    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;
@@ -1305,67 +1122,60 @@
                     insPan.inventory_sum__c = header.Pandian;
                     insPan.Count_Sum__c = header.countid;
                     insPan.RecordTypeId = System.Label.RT_ConOrderDetail1_Inventory;
-                    orderDetNo++;
+                    orderDetNo ++;
                     InsList.add(insPan);
                 }
             }
-            if (InsList.size() > 0) {
+            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) {
+            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.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
+                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) == '瀵诲洖') {
+                }else if(pandiandetailsMap.get(cod.Id) == '瀵诲洖' ){
                     InsDetail.Lose_reason__c = '';
                     InsDetail.Lose_Flag__c = false;
-                } else {
+                }else{
                     continue;
                 }
                 InsListUp.add(InsDetail);
             }
-            for (Consumable_order_details2__c rs : reSet) {
+            for(Consumable_order_details2__c rs : reSet){
                 rs.Inventory_date__c = Date.today();
             }
-            if (reSet.size() > 0) {
+            if(reSet.size() > 0){
                 update reSet;
             }
-            if (InsListUp.size() > 0) {
-                ControllerUtil.updateOrderDetailsSatus(InsListUp); // Commented By DTT - Li Jun for testing 20230407
+            if(InsListUp.size()>0){
+                ControllerUtil.updateOrderDetailsSatus(InsListUp);// Commented By DTT - Li Jun for testing 20230407
             }
-        } catch (Exception e) {
+
+        }catch (Exception e) {
             Database.rollback(sp);
             // ApexPages.addMessages(ex);
-            return new ResponseBodyLWC('Error', 500, e.getMessage() + e.getLineNumber(), '');
+            return new ResponseBodyLWC('Error',500, e.getMessage()+e.getLineNumber(), '');
             // return null;
         }
         // FIXME impliment BarCodeListAdjust
         /************************************************************************************************/
         // return ProS();
-        data.put('eSetId', eSetId);
-        data.put('InsListUp', InsListUp);
+        data.put('eSetId',eSetId);
+        data.put('InsListUp',InsListUp);
         res.status = 'Success';
         res.code = 200;
         System.debug('res = ' + res);
@@ -1377,15 +1187,15 @@
         // 杩斿洖鐩樼偣涓�瑙�
         PageReference ref = new Pagereference('/apex/InventoryList?eSetId=' + eSetId);
         ref.setRedirect(true);
-        return ref;
+        return ref; 
     }
     //CSV鍑哄姏
     public PageReference doClick() {
         Pagereference pr = page.InventoryCSV;
         return pr;
     }
-    //鍒嗛〉Bean
-    public class PaginatedAccounts {
+      //鍒嗛〉Bean
+      public class PaginatedAccounts {
         @AuraEnabled
         public Integer nextPageToken;
         @AuraEnabled
@@ -1399,7 +1209,6 @@
     }
 
     // Data Bean
-    @TestVisible
     class ConsumableorderdetailsInfo implements Comparable {
         @AuraEnabled
         public Boolean check { get; set; }
@@ -1412,7 +1221,7 @@
         @AuraEnabled
         public Decimal countid { get; set; }
         @AuraEnabled
-        public String ProdId { get; set; }
+        public String ProdId{get;set;}
         @AuraEnabled
         public Decimal Pandian { get; set; }
         @AuraEnabled
@@ -1431,13 +1240,14 @@
         public Decimal overlimitCount { get; set; }
         @AuraEnabled
         public String boxPiece { get; set; }
-        public ConsumableorderdetailsInfo(Consumable_order_details2__c e, string str) {
+        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;
@@ -1449,9 +1259,9 @@
             check = false;
             //orderdetails1 = new Consumable_orderdetails__c();
             Prod = e;
-            canSelect = true;
+            canSelect = true; 
             ProdId = string.valueOf(e.id);
-            countid = 0;
+            countid =0;
             Pandian = 0;
             refind = 0;
             Diff = 0;
@@ -1460,11 +1270,11 @@
         }
         // 鎺掑簭
         public Integer compareTo(Object compareTo) {
-            ConsumableorderdetailsInfo compareToesd = (ConsumableorderdetailsInfo) compareTo;
+            ConsumableorderdetailsInfo compareToesd =(ConsumableorderdetailsInfo)compareTo;
             Integer returnValue = 0;
-            if (countid > compareToesd.countid) {
+            if (countid  > compareToesd.countid ) {
                 returnValue = -1;
-            } else if (countid < compareToesd.countid) {
+            } else if (countid  < compareToesd.countid ) {
                 returnValue = 1;
             }
             return returnValue;

--
Gitblit v1.9.1