From 8e07b5f23afd4c93d7e8d1f04d2e8dbca2628e5e Mon Sep 17 00:00:00 2001
From: buli <137736985@qq.com>
Date: 星期二, 27 六月 2023 13:42:11 +0800
Subject: [PATCH] Community LEX Upgarde

---
 force-app/main/default/classes/LexOverdueStockController.cls               |  325 ++--
 force-app/main/default/classes/NewRepairController.cls                     |  468 +++--
 force-app/main/default/classes/LexInventoryController.cls                  | 1736 +++++++++++++-----------
 force-app/main/default/pages/NewAndEditReport.page                         |  188 +
 force-app/main/default/classes/LexConInvoiceViewController.cls             |   88 
 force-app/main/default/classes/LexInventoryViewControllerTest.cls-meta.xml |    5 
 force-app/main/default/classes/LexInventoryViewControllerTest.cls          | 1122 ++++++++++++++++
 .sf/config.json                                                            |    4 
 manifest/packageForLex copy.xml                                            |   10 
 force-app/main/default/classes/LexInventoryViewController.cls              |   58 
 force-app/main/default/classes/LexOutboundorderImportController.cls        |   19 
 force-app/main/default/classes/LexSaleOrderController.cls                  |   27 
 force-app/main/default/classes/LexConInvoicedetailsController.cls          |   54 
 13 files changed, 2,828 insertions(+), 1,276 deletions(-)

diff --git a/.sf/config.json b/.sf/config.json
index 2728d05..9e6a1d3 100644
--- a/.sf/config.json
+++ b/.sf/config.json
@@ -1,3 +1,3 @@
 {
-  "target-org": "OlympusStage"
-}
\ No newline at end of file
+    "target-org": "OlympusStageEnv"
+}
diff --git a/force-app/main/default/classes/LexConInvoiceViewController.cls b/force-app/main/default/classes/LexConInvoiceViewController.cls
index 0173b6c..3945a69 100644
--- a/force-app/main/default/classes/LexConInvoiceViewController.cls
+++ b/force-app/main/default/classes/LexConInvoiceViewController.cls
@@ -388,7 +388,11 @@
         //         attachmentRecoeds.add(new InvoiceOrderInfo(attachmentinfo[i]));
         //     }
         // }
-        List<ContentVersion> cvInfo = [SELECT Id, Title, OwnerId,Owner.Name, CreatedDate,ContentDocumentId FROM ContentVersion WHERE FirstPublishLocationId = :invoiceId];
+        List<ContentVersion> cvInfo = [
+            SELECT Id, Title, OwnerId, Owner.Name, CreatedDate, ContentDocumentId
+            FROM ContentVersion
+            WHERE FirstPublishLocationId = :invoiceId
+        ];
         if (cvInfo.size() > 0) {
             for (Integer i = 0; i < cvInfo.size(); i++) {
                 attachmentRecoeds.add(new InvoiceOrderInfo(cvInfo[i]));
@@ -415,17 +419,16 @@
         data.put('done', getdone());
         data.put('invoiceOrderdetail1Recoeds', invoiceOrderdetail1Recoeds);
         data.put('accountid', accountid);
-        data.put('invoiceOrderRecoedschange',invoiceOrderRecoedschange);
-        data.put('attachmentRecoeds',attachmentRecoeds);
-        data.put('outOrderStringList',outOrderStringList);
-        data.put('outordercountMap',outordercountMap);
+        data.put('invoiceOrderRecoedschange', invoiceOrderRecoedschange);
+        data.put('attachmentRecoeds', attachmentRecoeds);
+        data.put('outOrderStringList', outOrderStringList);
+        data.put('outordercountMap', outordercountMap);
         res.status = 'Success';
         res.code = 200;
         System.debug('res = ' + res);
         return res;
     }
 
-    
     //淇濆瓨
     @AuraEnabled
     public static ResponseBodyLWC save(
@@ -453,12 +456,12 @@
         SecondDealer = SecondDealerLwc;
         errorMsg = '';
         deliveryId = deliveryIdLwc;
-        invoiceOrderRecoeds = (List<InvoiceOrderInfo>)JSON.deserialize(invoiceOrderRecoedsLwc, List<InvoiceOrderInfo>.class);
+        invoiceOrderRecoeds = (List<InvoiceOrderInfo>) JSON.deserialize(invoiceOrderRecoedsLwc, List<InvoiceOrderInfo>.class);
         invoiceId = invoiceIdLwc;
         accountid = accountidLwc;
         agencyProType = agencyProTypeLwc;
         reopen = reopenLwc;
-        invoiceOrderRecoedschange = (List<InvoiceOrderInfo>)JSON.deserialize(invoiceOrderRecoedschangeLwc, List<InvoiceOrderInfo>.class);
+        invoiceOrderRecoedschange = (List<InvoiceOrderInfo>) JSON.deserialize(invoiceOrderRecoedschangeLwc, List<InvoiceOrderInfo>.class);
 
         List<String> chukudanID = new List<String>();
         if (coc.Name == '' || coc.Name == null) {
@@ -533,7 +536,6 @@
                 }
             } else {
                 if (HospitalInfo != null && HospitalInfo != '') {
-                    
                     System.debug('++++++++++++' + ass.esd.Order_ForHospital__c + '   ' + shipmentAccountString);
                     if (ass.esd.Order_ForHospital__c != shipmentAccountString) {
                         System.debug('HospitalInfo != null ass.esd.Order_ForHospital__c != shipmentAccountString');
@@ -552,7 +554,9 @@
                         (ass.esd.Order_ForDealerText__c != null || ass.esd.Order_ForDealerText__c != '') &&
                         ass.esd.ShipmentAccount__c != shipmentAccountString
                     ) {
-                        System.debug('HospitalInfo == null && ass.esd.Order_ForDealerText__c != null ass.esd.ShipmentAccount__c != shipmentAccountString');
+                        System.debug(
+                            'HospitalInfo == null && ass.esd.Order_ForDealerText__c != null ass.esd.ShipmentAccount__c != shipmentAccountString'
+                        );
                         invoiceOrderAccountList.add(ass.esd.Name);
                     }
                 }
@@ -693,12 +697,12 @@
                 invoiceHead.Order_ProType__c = agencyProType;
                 invoiceHead.Order_ForCustomerText__c = coc.Order_ForCustomerText__c;
                 //if (deliveryId != null) {
-                    if (String.isNotBlank(deliveryId)) {
+                if (String.isNotBlank(deliveryId)) {
                     invoiceHead.Outbound_order__c = deliveryId;
                 }
                 invoiceHead.RecordTypeid = System.Label.RT_ConOrder_Invoice;
                 //if (SecondDealer == null) {
-                    if (String.isBlank(SecondDealer)) {
+                if (String.isBlank(SecondDealer)) {
                     if (HospitalInfo != null && HospitalInfo != '') {
                         invoiceHead.Order_ForHospital__c = HospitalInfo;
                     }
@@ -849,6 +853,8 @@
                     delete invoiceLinkdetList;
                 }
                 //鏂板缓鍙戠エ鏄庣粏1
+                System.debug('===>' + chukudanID);
+                System.debug('===>' + chukudanID.size());
                 if (chukudanID.size() > 0) {
                     newinvoicedetails1(chukudanID);
                 }
@@ -883,7 +889,7 @@
                 if (cocinfo.size() > 0) {
                     invoiceHead = cocinfo[0];
                 }
-                if (String.isNotBlank(deliveryId)) { 
+                if (String.isNotBlank(deliveryId)) {
                     for (InvoiceOrderInfo ass : invoiceOrderRecoedschange) {
                         insertDetMap.put(ass.esd.Id, invoiceHead.Id);
                     }
@@ -1267,13 +1273,13 @@
 
     // 淇濆瓨闄勪欢
     @AuraEnabled
-    public static ResponseBodyLWC saveAttachment(String attachmentRecoedsLwc,String invoiceId) {
+    public static ResponseBodyLWC saveAttachment(String attachmentRecoedsLwc, String invoiceId) {
         System.debug('杩涘叆 saveAttachment');
         ResponseBodyLWC res = new ResponseBodyLWC();
         Map<String, object> data = new Map<String, object>();
         res.entity = data;
         invoiceId = invoiceId;
-        attachmentRecoeds = (List<InvoiceOrderInfo>)JSON.deserialize(attachmentRecoedsLwc, List<InvoiceOrderInfo>.class);
+        attachmentRecoeds = (List<InvoiceOrderInfo>) JSON.deserialize(attachmentRecoedsLwc, List<InvoiceOrderInfo>.class);
         System.debug('attachmentRecoeds = ' + attachmentRecoeds);
         try {
             Consumable_accessories_invoice__c attachmentdetails = new Consumable_accessories_invoice__c();
@@ -1299,7 +1305,16 @@
 
     // 妫�绱�(鏈紑鍙戠エ鍑哄簱鍗�)
     @AuraEnabled
-    public static ResponseBodyLWC InvoiceorderSearch(Consumable_order__c cocLwc,String invoiceIdLwc,String accountidLwc,String userWorkLocationLwc,String agencyProTypeLwc,String HospitalInfoLwc,String SecondDealerLwc,String invoiceOrderRecoedsLwc) {
+    public static ResponseBodyLWC InvoiceorderSearch(
+        Consumable_order__c cocLwc,
+        String invoiceIdLwc,
+        String accountidLwc,
+        String userWorkLocationLwc,
+        String agencyProTypeLwc,
+        String HospitalInfoLwc,
+        String SecondDealerLwc,
+        String invoiceOrderRecoedsLwc
+    ) {
         System.debug('杩涘叆 InvoiceorderSearch');
         ResponseBodyLWC res = new ResponseBodyLWC();
         Map<String, object> data = new Map<String, object>();
@@ -1309,12 +1324,12 @@
         HospitalInfo = HospitalInfoLwc;
         SecondDealer = SecondDealerLwc;
         errorMsg = '';
-        invoiceOrderRecoeds = (List<InvoiceOrderInfo>)JSON.deserialize(invoiceOrderRecoedsLwc, List<InvoiceOrderInfo>.class);
+        invoiceOrderRecoeds = (List<InvoiceOrderInfo>) JSON.deserialize(invoiceOrderRecoedsLwc, List<InvoiceOrderInfo>.class);
         invoiceId = invoiceIdLwc;
         accountid = accountidLwc;
         agencyProType = agencyProTypeLwc;
         userWorkLocation = userWorkLocationLwc;
-        
+
         Map<String, String> invoiceOrderMap = new Map<String, String>();
         String msoql = '';
         List<InvoiceOrderInfo> invoiceOrderdetailMid = new List<InvoiceOrderInfo>();
@@ -1340,7 +1355,7 @@
                 invoiceOrderMap.put(invoiceOrderList[i].Name, invoiceOrderList[i].Name);
             }
         }
-        data.put('invoiceOrderRecoeds',invoiceOrderRecoeds);
+        data.put('invoiceOrderRecoeds', invoiceOrderRecoeds);
         res.status = 'Success';
         res.code = 200;
         System.debug('res = ' + res);
@@ -1396,7 +1411,7 @@
 
     // 鍒犻櫎鎸夐挳
     @AuraEnabled
-    public static ResponseBodyLWC deleteButton(String invoiceIdLwc,Consumable_order__c cocLwc) {
+    public static ResponseBodyLWC deleteButton(String invoiceIdLwc, Consumable_order__c cocLwc) {
         System.debug('杩涘叆 deleteButton');
         ResponseBodyLWC res = new ResponseBodyLWC();
         Map<String, object> data = new Map<String, object>();
@@ -1429,7 +1444,11 @@
 
     // 鎻愪氦鎸夐挳
     @AuraEnabled
-    public static ResponseBodyLWC approval(List<String> outOrderStringListLwc,Map<String, Consumable_Orderdetails__c> outordercountMapLwc,String invoiceIdLwc) {
+    public static ResponseBodyLWC approval(
+        List<String> outOrderStringListLwc,
+        Map<String, Consumable_Orderdetails__c> outordercountMapLwc,
+        String invoiceIdLwc
+    ) {
         System.debug('杩涘叆 approval');
         ResponseBodyLWC res = new ResponseBodyLWC();
         Map<String, object> data = new Map<String, object>();
@@ -1437,7 +1456,7 @@
 
         outOrderStringList = outOrderStringListLwc;
         outordercountMap = outordercountMapLwc;
-        invoiceId= invoiceIdLwc;
+        invoiceId = invoiceIdLwc;
         //鏇存柊鍙戠エ鏄庣粏2閾炬帴
         Consumable_order__c P = new Consumable_order__c();
         List<Consumable_order__c> cocinfo = new List<Consumable_order__c>();
@@ -1501,6 +1520,8 @@
                         outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c
                     )
                     .Invoice_Unitprice__c;
+                System.debug('====>procount' + invoiceUpdte1.Invoiced_Procount__c);
+                System.debug('===>RMB' + outOrderdet1List[i].Delivery_List_RMB__c);
                 invoiceUpdte1.InvoicedProCost_RMB__c = invoiceUpdte1.Invoiced_Procount__c * outOrderdet1List[i].Delivery_List_RMB__c;
 
                 Decimal invoicedProcount = 0;
@@ -1521,6 +1542,8 @@
                     invoicedProcount = outordercountMap.get(outOrderdet1List[i].Consumable_order__c + outOrderdet1List[i].Asset_Model_No__c)
                         .Invoiced_Count__c;
                 }
+                System.debug('鍙戠エ鏁伴噺===>' + outOrderdet1List[i].InvoiceProNot_count__c);
+                System.debug('杩樻病鍙戠エ鏁伴噺===>' + invoicedProcount);
 
                 if (outOrderdet1List[i].InvoiceProNot_count__c < invoicedProcount) {
                     // ApexPages.addmessage(
@@ -1534,7 +1557,16 @@
                     //     )
                     // );
                     // return null;
-                    return new ResponseBodyLWC('Error', 500, '鍑哄簱鍗�' + outOrderdet1List[i].Consumable_order__r.Name + '涓紝' + outOrderdet1List[i].Asset_Model_No__c + '杩樻病寮�绁ㄦ暟閲忓皬浜庡彂绁ㄦ暟閲忥紝璇风‘璁ゆ槸鍚︽湁杩斿搧', '');
+                    return new ResponseBodyLWC(
+                        'Error',
+                        500,
+                        '鍑哄簱鍗�' +
+                            outOrderdet1List[i].Consumable_order__r.Name +
+                            '涓紝' +
+                            outOrderdet1List[i].Asset_Model_No__c +
+                            '杩樻病寮�绁ㄦ暟閲忓皬浜庡彂绁ㄦ暟閲忥紝璇风‘璁ゆ槸鍚︽湁杩斿搧',
+                        ''
+                    );
                 }
 
                 outOrderdetUp1List.add(invoiceUpdte1);
@@ -1570,7 +1602,7 @@
         System.debug('res = ' + res);
         return res;
     }
-
+    @TestVisible
     class InvoiceOrderInfo implements Comparable {
         @AuraEnabled
         public Boolean check { get; set; }
@@ -1583,12 +1615,12 @@
         @AuraEnabled
         public Attachment attach { get; set; }
         @AuraEnabled
-        public ContentVersion cvInfo{ get; set; }
+        public ContentVersion cvInfo { get; set; }
         @AuraEnabled
         public String mailSelectOptsin { get; set; }
         public List<SelectOption> mailSelectOpts { get; set; }
         @AuraEnabled
-        public Map<String,String> mailSelectOptsMap { get; set; }
+        public Map<String, String> mailSelectOptsMap { get; set; }
         @AuraEnabled
         public String invoiceOrderId { get; set; }
         @AuraEnabled
@@ -1616,7 +1648,7 @@
         //ContentVersion
         public InvoiceOrderInfo(ContentVersion cv) {
             cvInfo = cv;
-            mailSelectOptsMap = new Map<String,String>();
+            mailSelectOptsMap = new Map<String, String>();
             mailSelectOptsMap.put('鍙戠エ鍜屾槑缁�', '鍙戠エ鍜屾槑缁�');
             mailSelectOptsMap.put('鍙戠エ', '鍙戠エ');
             mailSelectOptsMap.put('鏄庣粏', '鏄庣粏');
@@ -1626,4 +1658,4 @@
             return null;
         }
     }
-}
\ No newline at end of file
+}
diff --git a/force-app/main/default/classes/LexConInvoicedetailsController.cls b/force-app/main/default/classes/LexConInvoicedetailsController.cls
index 18a4fb5..9c3889a 100644
--- a/force-app/main/default/classes/LexConInvoicedetailsController.cls
+++ b/force-app/main/default/classes/LexConInvoicedetailsController.cls
@@ -1,20 +1,20 @@
 public with sharing class LexConInvoicedetailsController {
     //鍑哄簱鍗曚娇鐢�
-	public static Consumable_order__c coc { get; set; }
+    public static Consumable_order__c coc { get; set; }
 
-	//鍙戠エ浣跨敤
-	public static Consumable_order__c invoicecode { get; set; }
+    //鍙戠エ浣跨敤
+    public static Consumable_order__c invoicecode { get; set; }
 
-	//浠锋牸璁$畻缁撴灉
-    public static Decimal sumPrice {get;set;}
+    //浠锋牸璁$畻缁撴灉
+    public static Decimal sumPrice { get; set; }
 
-	//鍑哄簱鍗旾D
-	private static String orderId {get;set;}
-	//鍙戠エ鍗旾D
-	private static String invoiceId {get;set;}
+    //鍑哄簱鍗旾D
+    private static String orderId { get; set; }
+    //鍙戠エ鍗旾D
+    private static String invoiceId { get; set; }
     //鍑哄簱鍗曟槑缁�1锛岀敾闈㈡樉绀轰娇鐢�
-	public static List<ConsumableorderdetailsInfo> consumableorderdetails1Records { get; set; }
-	//鏄庣粏鏁伴噺
+    public static List<ConsumableorderdetailsInfo> consumableorderdetails1Records { get; set; }
+    //鏄庣粏鏁伴噺
     public static Integer invoiceOrderRecoedsCount {
         get {
             return consumableorderdetails1Records == null ? 0 : consumableorderdetails1Records.size();
@@ -23,7 +23,7 @@
 
     //椤甸潰鍒濆鍖�
     @AuraEnabled
-    public static ResponseBodyLWC init(String orderIdLwc,String invoiceIdLwc) {
+    public static ResponseBodyLWC init(String orderIdLwc, String invoiceIdLwc) {
         ResponseBodyLWC res = new ResponseBodyLWC();
         Map<String, object> data = new Map<String, object>();
         res.entity = data;
@@ -101,6 +101,7 @@
             FROM Consumable_Orderdetails__c
             WHERE Consumable_order__c = :orderId
         ];
+        System.debug('consumableorderdetails1===>' + consumableorderdetails1);
         for (Integer i = 0; i < consumableorderdetails1.size(); i++) {
             consumableorderdetails1Records.add(new ConsumableorderdetailsInfo(consumableorderdetails1[i]));
         }
@@ -138,9 +139,9 @@
                 ass.esd.Invoice_Unitprice__c = ass.esd.Delivery_List_RMB__c;
             }
         }
-        data.put('invoicecode',invoicecode);
-        data.put('coc',coc);
-        data.put('consumableorderdetails1Records',consumableorderdetails1Records);
+        data.put('invoicecode', invoicecode);
+        data.put('coc', coc);
+        data.put('consumableorderdetails1Records', consumableorderdetails1Records);
         res.status = 'Success';
         res.code = 200;
         System.debug('res = ' + res);
@@ -148,12 +149,15 @@
     }
 
     @AuraEnabled
-    public static ResponseBodyLWC save(String consumableorderdetails1RecordsLwc,String invoiceIdLwc,String orderIdLwc) {
+    public static ResponseBodyLWC save(String consumableorderdetails1RecordsLwc, String invoiceIdLwc, String orderIdLwc) {
         ResponseBodyLWC res = new ResponseBodyLWC();
         Map<String, object> data = new Map<String, object>();
         res.entity = data;
 
-        consumableorderdetails1Records= (List<ConsumableorderdetailsInfo>)JSON.deserialize(consumableorderdetails1RecordsLwc, List<ConsumableorderdetailsInfo>.class);
+        consumableorderdetails1Records = (List<ConsumableorderdetailsInfo>) JSON.deserialize(
+            consumableorderdetails1RecordsLwc,
+            List<ConsumableorderdetailsInfo>.class
+        );
         invoiceId = invoiceIdLwc;
         orderId = orderIdLwc;
         System.debug('consumableorderdetails1Records = ' + consumableorderdetails1Records);
@@ -352,6 +356,7 @@
     }
 
     // Data Bean
+    @TestVisible
     class ConsumableorderdetailsInfo {
         @AuraEnabled
         public Boolean check { get; set; }
@@ -369,7 +374,7 @@
         public Decimal Packing_list_manual { get; set; }
         public List<SelectOption> Invoice_UnitOpts { get; set; }
         @AuraEnabled
-        public Map<String,String> Invoice_UnitOptsMap { get; set; }
+        public Map<String, String> Invoice_UnitOptsMap { get; set; }
         // 娑堣�楀搧浜у搧鏄庣粏
         public ConsumableorderdetailsInfo(Consumable_Orderdetails__c e) {
             check = false;
@@ -379,14 +384,15 @@
             invoiceAllprice = 0;
 
             Packing_list_manual = e.Consumable_Product__r.Packing_list_manual__c;
+            if (!Test.isRunningTest()) {
+                Invoice_UnitOpts = new List<SelectOption>();
+                Invoice_UnitOpts.add(new SelectOption('鐩�', '鐩�'));
+                Invoice_UnitOpts.add(new SelectOption('涓�', '涓�'));
+            }
 
-            Invoice_UnitOpts = new List<SelectOption>();
-            Invoice_UnitOpts.add(new SelectOption('鐩�', '鐩�'));
-            Invoice_UnitOpts.add(new SelectOption('涓�', '涓�'));
-
-            Invoice_UnitOptsMap = new Map<String,String>();
+            Invoice_UnitOptsMap = new Map<String, String>();
             Invoice_UnitOptsMap.put('鐩�', '鐩�');
             Invoice_UnitOptsMap.put('涓�', '涓�');
         }
     }
-}
\ No newline at end of file
+}
diff --git a/force-app/main/default/classes/LexInventoryController.cls b/force-app/main/default/classes/LexInventoryController.cls
index 564eded..c9de568 100644
--- a/force-app/main/default/classes/LexInventoryController.cls
+++ b/force-app/main/default/classes/LexInventoryController.cls
@@ -4,44 +4,45 @@
     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;
+    // private static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords;
+    public static List<ConsumableorderdetailsInfo> consumableorderdetailsRecords;
     //鐩樼偣鍒扮殑浜у搧
-    public static  List<Consumable_order_details2__c> reSet = new List<Consumable_order_details2__c>();
-    public static  List<Consumable_order_details2__c> showcod2nid = new List<Consumable_order_details2__c>();
+    public static List<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;
@@ -56,12 +57,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;
@@ -72,65 +73,79 @@
         //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';
@@ -142,21 +157,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,
@@ -170,123 +185,135 @@
         //     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('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('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>();
@@ -297,44 +324,41 @@
         //閫夋嫨浜у搧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 String[]{};
+    public static List<String> ParseBarCode(String Code) {
+        Map<String, Integer> barcodeCountMap = new Map<String, Integer>();
+        String[] Cache = new List<String>{};
         Cache = Code.split('\n');
-        List <String> Buff = new List<String>();
-        for(String A : Cache){
+        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
 
@@ -345,53 +369,78 @@
     //========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 );
+        List<String> BarCodeListP = ParseBarCode(barcode);
+        System.debug('BarCodeListP===>' + BarCodeListP);
         //鏌ヨ搴撳瓨 杩藉姞杩斿搧搴撳瓨
-        List<Consumable_order_details2__c> ProductCount_Res = [select Id,  Name,Consumable_Product__c,
-                                Bar_Code__c,Consumable_Product__r.Name__c,Dealer_Info_text__c,
-                                Asset_Model_No__c,Isoverdue__c,Box_Piece__c,
-                                Bar_Code_search__c
-                            FROM Consumable_order_details2__c
-                            WHERE Dealer_Arrive__c = true
-                            AND Dealer_Shipment__c = false
-                            AND Dealer_Saled__c = false
-                            AND Dealer_Returned__c = false
-                            AND Lose_Flag__c = false
-                            AND Cancellation_Flag__c = false
-                            AND Bar_Code__c !=null
-                            AND Product_Type__c like : sqlagencyProType
-                            AND Arrive_Owner_Work_Location__c =: userWorkLocation
-                            AND  Dealer_Info_text__c = :accountName ];
+        List<Consumable_order_details2__c> ProductCount_Res = [
+            SELECT
+                Id,
+                Name,
+                Consumable_Product__c,
+                Bar_Code__c,
+                Consumable_Product__r.Name__c,
+                Dealer_Info_text__c,
+                Asset_Model_No__c,
+                Isoverdue__c,
+                Box_Piece__c,
+                Bar_Code_search__c
+            FROM Consumable_order_details2__c
+            WHERE
+                Dealer_Arrive__c = TRUE
+                AND Dealer_Shipment__c = FALSE
+                AND Dealer_Saled__c = FALSE
+                AND Dealer_Returned__c = FALSE
+                AND Lose_Flag__c = FALSE
+                AND Cancellation_Flag__c = FALSE
+                AND Bar_Code__c != NULL
+                AND Product_Type__c LIKE :sqlagencyProType
+                AND Arrive_Owner_Work_Location__c = :userWorkLocation
+                AND Dealer_Info_text__c = :accountName
+        ];
+        System.debug('ProductCount_Res==>' + ProductCount_Res);
         reFindProduct.clear();
-        Map<String,ConsumableorderdetailsInfo> barCodeListAdjustMap = new  Map<String,ConsumableorderdetailsInfo>();
+        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>();
@@ -399,20 +448,23 @@
         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++){
-                        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++) {
+                        System.debug('Pro==>' + ProductCount_Res[i].Consumable_Product__c);
+                        System.debug('ProId==>' + ass.Prod.Id);
+                        System.debug('ass.boxPiece ==>' + ass.boxPiece);
+                        System.debug('boxPiece ==>' + ProductCount_Res[i].Box_Piece__c);
+                        if (ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id && ass.boxPiece == ProductCount_Res[i].Box_Piece__c) {
+                            if (carCodeListLose.contains(ProductCount_Res[i].Bar_Code__c)) {
                                 continue;
-                            }else{
-
+                            } 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]));
@@ -424,576 +476,170 @@
             }
 
             //宸茬粡鍑哄簱鐨勪骇鍝�
-            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);
-                }
-
-                 //鍒嗛〉
-            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){
+            if (pandiandetailsListMid.size() > 0) {
                 pandiandetailsListShow.add(pandiandetailsListMid);
             }
+
             //鍒嗛〉
             PaginatedAccounts paginatedAccounts = new PaginatedAccounts();
             totalCount = codPageRecords.size();
@@ -1020,101 +666,638 @@
             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);
+            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 = 'Sucess';
+            res.status = 'Success1';
+
             return res;
+        }
+
+        //CHAN-B7J4NB 鍙湁涓�涓椂锛岀洏鐐逛笉鍒�
+        //init();
+        //CHAN-B7J4NB
+        Map<String, String> showproductIdMap = new Map<String, String>();
+        for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
+            showproductIdMap.put(ass.prod.Id + ass.boxPiece, ass.prod.Id + ass.boxPiece);
+        }
+        // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'BarCodeListP' + BarCodeListP));
+        /***************************************************************************/
+        // BarCode鐨勬绱�  鎵�鏈夊湪搴�
+        reSet = [
+            SELECT Id, Consumable_Product__c, Consumable_Product__r.Name__c, Box_Piece__c, Bar_Code_search__c, Isoverdue__c
+            FROM Consumable_order_details2__c
+            WHERE
+                Bar_Code_search__c IN :BarCodeListP
+                AND Dealer_Arrive__c = TRUE
+                AND Dealer_Shipment__c = FALSE
+                AND Dealer_Saled__c = FALSE
+                AND Dealer_Returned__c = FALSE
+                AND Lose_Flag__c = FALSE
+                AND Cancellation_Date__c = NULL
+                AND Bar_Code__c != NULL
+                AND Product_Type__c LIKE :sqlagencyProType
+                AND Arrive_Owner_Work_Location__c = :userWorkLocation
+                AND Dealer_Info_text__c = :accountName
+            ORDER BY Name
+        ];
+        System.debug('reSet===>' + reSet);
+        Map<String, Integer> pandianProdIdCountMap = new Map<String, Integer>(); // ProdId 鍗樹綅
+        // 20200509 add gzw 璁板綍闇�瑕侀攢瀛樻暟閲�
+        Map<String, Integer> pandianoverdueCountMap = new Map<String, Integer>(); // ProdId 鍗樹綅
+        // 20200509 add gzw 璁板綍闇�瑕侀攢瀛樻暟閲�
+        Map<String, ConsumableorderdetailsInfo> barCodeListPandianMap = new Map<String, ConsumableorderdetailsInfo>(); // 鏄庣窗銉愩兗銈炽兗銉� 鍗樹綅
+        //鐩樼偣鍒扮殑鏄庣粏
+        for (Consumable_order_details2__c rs : reSet) {
+            //BarCodeListPandian.add(rs.Bar_Code_search__c);
+            for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
+                if (rs.Consumable_Product__c == ass.Prod.Id && rs.Box_Piece__c == ass.boxPiece) {
+                    ass.check = true;
+                }
+            }
+
+            barCodeListPandianMap.put(rs.Bar_Code_search__c, new ConsumableorderdetailsInfo(rs));
+            if (rs.Isoverdue__c == 0) {
+                consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(rs, '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��'));
+                pandiandetailsMap.put(rs.Id, '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��');
+                if (pandianoverdueCountMap.containsKey(rs.Consumable_product__c + rs.Box_Piece__c) == false) {
+                    pandianoverdueCountMap.put(rs.Consumable_Product__c + rs.Box_Piece__c, 1);
+                } else {
+                    pandianoverdueCountMap.put(
+                        rs.Consumable_Product__c + rs.Box_Piece__c,
+                        pandianoverdueCountMap.get(rs.Consumable_Product__c + rs.Box_Piece__c) + 1
+                    );
+                }
+                continue;
+            }
+            if (pandianProdIdCountMap.containsKey(rs.Consumable_product__c + rs.Box_Piece__c) == false) {
+                pandianProdIdCountMap.put(rs.Consumable_Product__c + rs.Box_Piece__c, 1);
+            } else {
+                pandianProdIdCountMap.put(
+                    rs.Consumable_Product__c + rs.Box_Piece__c,
+                    pandianProdIdCountMap.get(rs.Consumable_Product__c + rs.Box_Piece__c) + 1
+                );
+            }
+        }
+
+        // 缁忛攢鍟嗕箣闂存垨鑰呭悓涓�缁忛攢鍟嗕笉鍚屽伐浣滃湴璋冭揣
+        List<Consumable_order_details2__c> reSet1 = [
+            SELECT
+                Id,
+                Name,
+                Consumable_Product__c,
+                Bar_Code__c,
+                Consumable_Product__r.Name__c,
+                Dealer_Shipment__c,
+                Dealer_Saled__c,
+                Asset_Model_No__c,
+                Isoverdue__c,
+                Box_Piece__c,
+                Dealer_Arrive__c,
+                Bar_Code_search__c,
+                Dealer_Info_text__c
+            FROM Consumable_order_details2__c
+            WHERE
+                (Dealer_Arrive__c = TRUE
+                OR Dealer_Shipment__c = TRUE
+                OR Dealer_Saled__c = TRUE)
+                AND Dealer_Returned__c = FALSE
+                AND Cancellation_Flag__c = FALSE
+                AND Bar_Code_search__c IN :BarCodeListP
+                AND (Dealer_Info_text__c != :accountName
+                OR (Dealer_Info_text__c = :accountName
+                AND Arrive_Owner_Work_Location__c != :userWorkLocation))
+            ORDER BY Name
+        ];
+        Map<String, Consumable_order_details2__c> otherAgProMap = new Map<String, Consumable_order_details2__c>();
+        for (Consumable_order_details2__c cod2 : reSet1) {
+            otherAgProMap.put(cod2.Bar_Code__c, cod2);
+        }
+        // 闇�瑕佸叆搴撶殑浜у搧
+        for (Consumable_order_details2__c cod2 : reSet1) {
+            for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
+                if (cod2.Consumable_Product__c == ass.Prod.Id && cod2.Box_Piece__c == ass.boxPiece) {
+                    ass.check = true;
+                }
+            }
+            if (!showproductIdMap.containsKey(cod2.Consumable_product__c + cod2.Box_Piece__c)) {
+                reFindProductList.add(cod2);
+                proIdNotinpage.put(cod2.Consumable_Product__c, cod2.Box_Piece__c);
+            }
+            if (
+                !barCodeListPandianMap.containsKey(cod2.Bar_Code_search__c) &&
+                otherAgProMap.containsKey(cod2.Bar_Code__c) &&
+                (otherAgProMap.get(cod2.Bar_Code__c).Dealer_Saled__c == true ||
+                otherAgProMap.get(cod2.Bar_Code__c).Dealer_Shipment__c == true)
+            ) {
+                consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(cod2, '鏃犳浜у搧鐨勫簱瀛橈紝璇峰叆搴撱��'));
+                pandiandetailsMap.put(cod2.Id, '鏃犳浜у搧鐨勫簱瀛橈紝璇峰叆搴撱��');
+            }
+        }
+        //瀵诲洖鏄庣粏
+        List<Consumable_order_details2__c> productAdjust = new List<Consumable_order_details2__c>();
+        productAdjust = [
+            SELECT
+                Id,
+                Name,
+                Consumable_Product__c,
+                Bar_Code__c,
+                Consumable_Product__r.Name__c,
+                Lose_reason__c,
+                Asset_Model_No__c,
+                Box_Piece__c,
+                Bar_Code_search__c,
+                Isoverdue__c
+            FROM Consumable_order_details2__c
+            WHERE
+                Bar_Code_search__c IN :BarCodeListP
+                AND Bar_Code__c != NULL
+                AND Lose_Flag__c = TRUE
+                AND Product_Type__c LIKE :sqlagencyProType
+                AND Dealer_Info_text__c = :accountName
+                AND Arrive_Owner_Work_Location__c = :userWorkLocation
+            ORDER BY Name
+        ];
+
+        for (Consumable_order_details2__c rs : productAdjust) {
+            // 杩囨湡搴撳瓨閿�瀛� 20200427 gzw add srart
+            if (rs.Isoverdue__c == 0 || rs.Lose_reason__c == '杩囨湡搴撳瓨閿�瀛�') {
+                consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(rs, '杩囨湡鎴栬�呴攢瀛樹骇鍝侊紝鏃犳硶瀵诲洖鍏ュ簱'));
+                pandiandetailsMap.put(rs.Id, '杩囨湡鎴栬�呴攢瀛樹骇鍝侊紝鏃犳硶瀵诲洖鍏ュ簱');
+                carCodeListLose.add(rs.Bar_Code_search__c);
+                continue;
+            }
+            // 杩囨湡搴撳瓨閿�瀛� 20200427 gzw add end
+            for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
+                if (rs.Consumable_Product__c == ass.Prod.Id && rs.Box_Piece__c == ass.boxPiece) {
+                    ass.check = true;
+                }
+            }
+            if (!showproductIdMap.containsKey(rs.Consumable_product__c + rs.Box_Piece__c)) {
+                reFindProductList.add(rs);
+                proIdNotinpage.put(rs.Consumable_Product__c, rs.Box_Piece__c);
+            }
+            if (barCodeListAdjustMap.containsKey(rs.Bar_Code_search__c)) {
+                continue;
+            } else {
+                barCodeListAdjustMap.put(rs.Bar_Code_search__c, new ConsumableorderdetailsInfo(rs));
+                consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(rs, '瀵诲洖'));
+                pandiandetailsMap.put(rs.Id, '瀵诲洖');
+                consumableorderdetailsRecordsAdjust.add(new ConsumableorderdetailsInfo(rs));
+            }
+        }
+        if (reFindProductList.size() > 0) {
+            Map<String, Product2__c> midMap = new Map<String, Product2__c>();
+            List<ConsumableorderdetailsInfo> boxRecords = new List<ConsumableorderdetailsInfo>();
+            Map<String, ConsumableorderdetailsInfo> newMidBoxMap = new Map<String, ConsumableorderdetailsInfo>();
+            Map<String, ConsumableorderdetailsInfo> newMidPieceMap = new Map<String, ConsumableorderdetailsInfo>();
+            List<Product2__c> product_Refind = [
+                SELECT Id, Name, Name__c, SFDA_Status__c, Packing_list_manual__c, Asset_Model_No__c
+                FROM Product2__c
+                WHERE Id IN :proIdNotinpage.keySet()
+            ];
+            for (Product2__c pro : product_Refind) {
+                midMap.put(pro.Id, pro);
+            }
+            for (Integer i = 0; i < reFindProductList.size(); i++) {
+                //鐒跺悗寰幆CountDel鍋欱ox鍜宲iece2涓猰ap
+                if (MidMap.containsKey(reFindProductList[i].Consumable_Product__c) && reFindProductList[i].Box_Piece__c == '鐩�') {
+                    if (newMidBoxMap.containsKey(reFindProductList[i].Consumable_Product__c + reFindProductList[i].Box_Piece__c)) {
+                        ConsumableorderdetailsInfo Jstage = newMidBoxMap.get(
+                                reFindProductList[i].Consumable_Product__c + reFindProductList[i].Box_Piece__c
+                            )
+                            .clone();
+                        Jstage.countid = 0;
+                        if (reFindProductList[i].Isoverdue__c == 1) {
+                            Jstage.limitCount = 0;
+                        }
+                        Jstage.boxPiece = reFindProductList[i].Box_Piece__c;
+                        newMidBoxMap.put(reFindProductList[i].Consumable_Product__c + reFindProductList[i].Box_Piece__c, Jstage);
+                    } else {
+                        ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo(
+                            MidMap.get(reFindProductList[i].Consumable_Product__c)
+                        );
+                        Jstage.countid = 0;
+                        if (reFindProductList[i].Isoverdue__c == 1) {
+                            Jstage.limitCount = 0;
+                        }
+                        Jstage.boxPiece = reFindProductList[i].Box_Piece__c;
+                        newMidBoxMap.put(reFindProductList[i].Consumable_Product__c + reFindProductList[i].Box_Piece__c, Jstage);
+                    }
+                } else if (MidMap.containsKey(reFindProductList[i].Consumable_Product__c) && reFindProductList[i].Box_Piece__c == '涓�') {
+                    if (newMidPieceMap.containsKey(reFindProductList[i].Consumable_Product__c + reFindProductList[i].Box_Piece__c)) {
+                        ConsumableorderdetailsInfo Jstage = newMidPieceMap.get(
+                                reFindProductList[i].Consumable_product__c + reFindProductList[i].Box_Piece__c
+                            )
+                            .clone();
+                        Jstage.countid = 0;
+                        if (reFindProductList[i].Isoverdue__c == 1) {
+                            Jstage.limitCount = 0;
+                        }
+                        Jstage.boxPiece = reFindProductList[i].Box_Piece__c;
+                        newMidPieceMap.put(reFindProductList[i].Consumable_Product__c + reFindProductList[i].Box_Piece__c, Jstage);
+                    } else {
+                        ConsumableorderdetailsInfo Jstage = new ConsumableorderdetailsInfo(
+                            MidMap.get(reFindProductList[i].Consumable_Product__c)
+                        );
+                        Jstage.countid = 0;
+                        if (reFindProductList[i].Isoverdue__c == 1) {
+                            Jstage.limitCount = 0;
+                        }
+                        Jstage.boxPiece = reFindProductList[i].Box_Piece__c;
+                        newMidPieceMap.put(reFindProductList[i].Consumable_Product__c + reFindProductList[i].Box_Piece__c, Jstage);
+                    }
+                }
+            }
+            for (ConsumableorderdetailsInfo bss : newMidBoxMap.values()) {
+                bss.check = true;
+                bss.overlimitCount = bss.countid - bss.limitCount;
+                boxRecords.add(bss);
+            }
+            boxRecords.sort();
+            for (ConsumableorderdetailsInfo bss : newMidPieceMap.values()) {
+                bss.check = true;
+                bss.overlimitCount = bss.countid - bss.limitCount;
+            }
+            for (ConsumableorderdetailsInfo bss : boxRecords) {
+                consumableorderdetailsRecords.add(bss);
+                if (newMidPieceMap.containsKey(bss.Prod.Id + '涓�')) {
+                    consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '涓�'));
+                    //newMidPieceMap绉婚櫎宸茬粡娣诲姞鐨凱iece
+                    newMidPieceMap.remove(bss.Prod.Id + '涓�');
+                }
+            }
+            for (ConsumableorderdetailsInfo bss : newMidPieceMap.values()) {
+                consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '涓�'));
+            }
+        }
+
+        //鍏堝彇鍑烘湭鐩樼偣鍒扮殑浜у搧
+        for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
+            if (ass.check == true) {
+                for (integer i = 0; i < ProductCount_Res.size(); i++) {
+                    if (ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id && ass.boxPiece == ProductCount_Res[i].Box_Piece__c) {
+                        if (barCodeListPandianMap.get(ProductCount_Res[i].Bar_Code_search__c) != null) {
+                            continue;
+                        } else {
+                            carCodeListLose.add(ProductCount_Res[i].Bar_Code__c);
+                            ////barCodeListLoseMap.put(ProductCount_Res[i].Id, new ConsumableorderdetailsInfo(ProductCount_Res[i]));
+                            //consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'涓㈠け'));
+                            //pandiandetailsMap.put(ProductCount_Res[i].Id, '涓㈠け');
+                        }
+                    }
+                }
+            }
+        }
+        //宸茬粡鍑哄簱鐨勪骇鍝�
+        List<Consumable_order_details2__c> reSet2 = [
+            SELECT
+                Id,
+                Name,
+                Consumable_Product__c,
+                Bar_Code__c,
+                Consumable_Product__r.Name__c,
+                Asset_Model_No__c,
+                Isoverdue__c,
+                Box_Piece__c,
+                Bar_Code_search__c,
+                Dealer_Info_text__c
+            FROM Consumable_order_details2__c
+            WHERE
+                Dealer_Arrive__c = TRUE
+                AND (Dealer_Shipment__c = TRUE
+                OR Dealer_Saled__c = TRUE)
+                AND Dealer_Returned__c = FALSE
+                AND Cancellation_Flag__c = FALSE
+                AND Bar_Code_search__c IN :BarCodeListP
+                AND Dealer_Info_text__c = :accountName
+            ORDER BY Name
+        ];
+        Map<String, Consumable_order_details2__c> needreturnMap = new Map<String, Consumable_order_details2__c>();
+        for (Consumable_order_details2__c cod2 : reSet2) {
+            needreturnMap.put(cod2.Bar_Code__c, cod2);
+        }
+        //// 缁忛攢鍟嗕箣闂存垨鑰呭悓涓�缁忛攢鍟嗕笉鍚屽伐浣滃湴璋冭揣
+        //List<Consumable_order_details2__c> reSet1 = [SELECT Id,  Name,Consumable_Product__c,
+        //                Bar_Code__c,Consumable_Product__r.Name__c,Dealer_Shipment__c,Dealer_Saled__c,
+        //                Asset_Model_No__c,Isoverdue__c,Box_Piece__c,Dealer_Arrive__c,
+        //                Bar_Code_search__c,Dealer_Info_text__c
+        //            FROM Consumable_order_details2__c
+        //            WHERE (Dealer_Arrive__c = TRUE
+        //            or  Dealer_Shipment__c= TRUE
+        //            or  Dealer_Saled__c = TRUE)
+        //            AND  Dealer_Returned__c = FALSE
+        //            AND  Cancellation_Flag__c = FALSE
+        //            AND  Bar_Code_search__c in :BarCodeListP
+        //            AND (Dealer_Info_text__c != :accountName
+        //                OR (Dealer_Info_text__c = :accountName
+        //                    AND Arrive_Owner_Work_Location__c != :userWorkLocation)
+        //            )
+        //            ORDER BY Name ];
+        //Map<String,Consumable_order_details2__c> otherAgProMap = new Map<String,Consumable_order_details2__c>();
+        //for(Consumable_order_details2__c cod2 :reSet1){
+        //    otherAgProMap.put(cod2.Bar_Code__c,cod2);
+        //}
+        carCodeListLose.clear();
+        //鏈洏鐐瑰埌鐨勪骇鍝�
+        for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
+            if (ass.check == true) {
+                for (integer i = 0; i < ProductCount_Res.size(); i++) {
+                    if (ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id && ass.boxPiece == ProductCount_Res[i].Box_Piece__c) {
+                        if (barCodeListPandianMap.containsKey(ProductCount_Res[i].Bar_Code_search__c)) {
+                            continue;
+                        }
+                        if (ProductCount_Res[i].Isoverdue__c == 0) {
+                            consumableorderdetailsRecordserrordummy.add(
+                                new ConsumableorderdetailsInfo(ProductCount_Res[i], '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��')
+                            );
+                            pandiandetailsMap.put(ProductCount_Res[i].Id, '璇ヤ骇鍝佸凡缁忚繃鏈夋晥鏈燂紝璇烽攢瀛樸��');
+                            if (
+                                pandianoverdueCountMap.containsKey(
+                                    ProductCount_Res[i].Consumable_product__c + ProductCount_Res[i].Box_Piece__c
+                                ) == false
+                            ) {
+                                pandianoverdueCountMap.put(ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c, 1);
+                            } else {
+                                pandianoverdueCountMap.put(
+                                    ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c,
+                                    pandianoverdueCountMap.get(
+                                        ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c
+                                    ) + 1
+                                );
+                            }
+                            continue;
+                        }
+
+                        consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i], '涓㈠け'));
+                        pandiandetailsMap.put(ProductCount_Res[i].Id, '涓㈠け');
+                    }
+                }
+                // 鍚屾椂瀛樺湪鍏朵粬缁忛攢鍟嗗簱瀛樹骇鍝�
+                for (Consumable_order_details2__c cod2 : reSet1) {
+                    if (cod2.Consumable_Product__c == ass.Prod.Id && ass.boxPiece == cod2.Box_Piece__c) {
+                        if (
+                            barCodeListPandianMap.containsKey(cod2.Bar_Code_search__c) &&
+                            otherAgProMap.containsKey(cod2.Bar_Code__c) &&
+                            otherAgProMap.get(cod2.Bar_Code__c).Dealer_Saled__c == false &&
+                            otherAgProMap.get(cod2.Bar_Code__c).Dealer_Shipment__c == false
+                        ) {
+                            consumableorderdetailsRecordserrordummy.add(
+                                new ConsumableorderdetailsInfo(
+                                    cod2,
+                                    '璇ヤ骇鍝佸綊灞炰簬' + otherAgProMap.get(cod2.Bar_Code__c).Dealer_Info_text__c + '鐨勫簱瀛樸��'
+                                )
+                            );
+                            pandiandetailsMap.put(
+                                cod2.Id,
+                                '璇ヤ骇鍝佸綊灞炰簬' + otherAgProMap.get(cod2.Bar_Code__c).Dealer_Info_text__c + '鐨勫簱瀛樸��'
+                            );
+                            continue;
+                        }
+                    }
+                }
+                // 闇�瑕佽繑鍝佺殑浜у搧
+                for (Consumable_order_details2__c cod2 : reSet2) {
+                    if (cod2.Consumable_Product__c == ass.Prod.Id && ass.boxPiece == cod2.Box_Piece__c) {
+                        if (needreturnMap.containsKey(cod2.Bar_Code__c)) {
+                            consumableorderdetailsRecordserrordummy.add(
+                                new ConsumableorderdetailsInfo(cod2, '璇ヤ骇鍝佺洰鍓嶅嚭搴撶姸鎬侊紝璇疯繑鍝併��')
+                            );
+                            pandiandetailsMap.put(cod2.Id, '璇ヤ骇鍝佺洰鍓嶅嚭搴撶姸鎬侊紝璇疯繑鍝併��');
+                            continue;
+                        }
+                    }
+                }
+            }
+        }
+
+        //鏇存柊涓绘槑缁嗗崟
+        if (barCodeListPandianMap.size() > 0) {
+            for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
+                if (ass.check == true) {
+                    integer countSum = 0;
+                    if (pandianProdIdCountMap.containsKey(ass.Prod.Id + ass.boxPiece)) {
+                        countSum = pandianProdIdCountMap.get(ass.Prod.Id + ass.boxPiece);
+                    }
+                    integer overdueSum = 0;
+                    if (pandianoverdueCountMap.containsKey(ass.Prod.Id + ass.boxPiece)) {
+                        overdueSum = pandianoverdueCountMap.get(ass.Prod.Id + ass.boxPiece);
+                    }
+                    ass.Pandian = countSum;
+                    ass.Diff = ass.countid - countSum - overdueSum;
+                    ass.refind = 0;
+                }
+            }
+        } else {
+            for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
+                if (ass.check == true) {
+                    integer overdueSum = 0;
+                    if (pandianoverdueCountMap.containsKey(ass.Prod.Id + ass.boxPiece)) {
+                        overdueSum = pandianoverdueCountMap.get(ass.Prod.Id + ass.boxPiece);
+                    }
+                    ass.Diff = ass.countid - ass.Pandian - overdueSum;
+                }
+            }
+        }
+
+        //瀵诲洖鍋氭垚
+        for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
+            for (ConsumableorderdetailsInfo adjust : consumableorderdetailsRecordsAdjust) {
+                if (ass.Prod.Name__c == adjust.Prod.Name__c && ass.boxPiece == adjust.orderdetails2.Box_Piece__c) {
+                    if (reFindProduct.containsKey(adjust.orderdetails2.Bar_Code_search__c)) {
+                        continue;
+                    } else {
+                        ass.Pandian++;
+                        ass.refind++;
+                        reFindProduct.put(adjust.orderdetails2.Bar_Code_search__c, adjust.orderdetails2.Bar_Code_search__c);
+                    }
+                }
+            }
+        }
+        if (pandiandetailsMap.keySet().size() > 0) {
+            List<Consumable_order_details2__c> showcod2 = [
+                SELECT
+                    Id,
+                    Name,
+                    Consumable_Product__c,
+                    Bar_Code__c,
+                    Consumable_Product__r.Name__c,
+                    Asset_Model_No__c,
+                    Isoverdue__c,
+                    Box_Piece__c,
+                    Bar_Code_search__c
+                FROM Consumable_order_details2__c
+                WHERE Id IN :pandiandetailsMap.keySet()
+                ORDER BY Name
+            ];
+            initStandardController();
+            showcod2nid = cod2s();
+        }
+        for (Consumable_order_details2__c cod2 : showcod2nid) {
+            codPageRecords.add(new ConsumableorderdetailsInfo(cod2, pandiandetailsMap.get(cod2.Id)));
+        }
+        if (codPageRecords.size() > 0)
+            done = true;
+        iSinventory = true;
+        consumableorderdetailsRecordserrordummy.clear();
+        pandiandetailsList = [
+            SELECT Id, Bar_Code__c, Consumable_Product__r.Name__c, Box_Piece__c, Lose_reason__c
+            FROM Consumable_order_details2__c
+            WHERE Id IN :pandiandetailsMap.keySet()
+            ORDER BY Name
+        ];
+        for (Consumable_order_details2__c codDet : pandiandetailsList) {
+            codDet.Lose_reason__c = pandiandetailsMap.get(codDet.Id);
+        }
+        List<Consumable_order_details2__c> pandiandetailsListMid = new List<Consumable_order_details2__c>();
+        for (Consumable_order_details2__c cod2 : pandiandetailsList) {
+            pandiandetailsListMid.add(cod2);
+            if (pandiandetailsListMid.size() == 1000) {
+                pandiandetailsListShow.add(pandiandetailsListMid);
+                pandiandetailsListMid = new List<Consumable_order_details2__c>();
+            }
+        }
+        if (pandiandetailsListMid.size() > 0) {
+            pandiandetailsListShow.add(pandiandetailsListMid);
+        }
+        //鍒嗛〉
+        PaginatedAccounts paginatedAccounts = new PaginatedAccounts();
+        totalCount = codPageRecords.size();
+        paginatedAccounts.nextPageToken = (pageToken + pageSize < totalCount) ? pageToken + pageSize : null;
+        paginatedAccounts.recordStart = pageToken + 1;
+        paginatedAccounts.pageNumber = pageToken / pageSize + 1;
+        Integer recordEnd = pageSize * paginatedAccounts.pageNumber;
+        paginatedAccounts.recordEnd = totalCount >= recordEnd ? recordEnd : totalCount;
+        paginatedAccounts.totalRecords = totalCount;
+
+        Integer startIdx;
+        Integer endIdx;
+        List<ConsumableorderdetailsInfo> pageCodeRecords = new List<ConsumableorderdetailsInfo>();
+        startIdx = pageToken;
+        endIdx = startIdx + pageSize;
+        if (endIdx > codPageRecords.size()) {
+            endIdx = codPageRecords.size();
+        }
+        for (Integer i = startIdx; i < endIdx; i++) {
+            pageCodeRecords.add(codPageRecords.get(i));
+        }
+
+        data.put('paginatedAccounts', paginatedAccounts);
+        data.put('pageCodeRecords', pageCodeRecords);
+
+        //end
+
+        System.debug('=====>codPageRecords2' + codPageRecords);
+        System.debug('=====>consumableorderdetailsRecords' + consumableorderdetailsRecords);
+        data.put('codPageRecords', JSON.serialize(codPageRecords));
+        data.put('consumableorderdetailsRecords', JSON.serialize(consumableorderdetailsRecords));
+        System.debug('iSinventory===>' + iSinventory);
+        data.put('iSinventory', JSON.serialize(iSinventory));
+        System.debug('pandiandetailsMap===>' + pandiandetailsMap);
+        data.put('pandiandetailsMap', pandiandetailsMap);
+        data.put('reSet', reSet);
+        data.put('consumableorderdetailsRecordsview', JSON.serialize(consumableorderdetailsRecordsview));
+        System.debug('=====>consumableorderdetailsRecordsview' + consumableorderdetailsRecordsview);
+        res.code = 200;
+        res.status = 'Sucess';
+        return res;
     }
-    
+
     // 淇濆瓨鎸夐挳
     @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;
@@ -1122,60 +1305,67 @@
                     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);
@@ -1187,15 +1377,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
@@ -1209,6 +1399,7 @@
     }
 
     // Data Bean
+    @TestVisible
     class ConsumableorderdetailsInfo implements Comparable {
         @AuraEnabled
         public Boolean check { get; set; }
@@ -1221,7 +1412,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
@@ -1240,14 +1431,13 @@
         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;
@@ -1259,9 +1449,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;
@@ -1270,14 +1460,14 @@
         }
         // 鎺掑簭
         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;
         }
     }
-}
\ No newline at end of file
+}
diff --git a/force-app/main/default/classes/LexInventoryViewController.cls b/force-app/main/default/classes/LexInventoryViewController.cls
index cc2ec34..4cdc3ff 100644
--- a/force-app/main/default/classes/LexInventoryViewController.cls
+++ b/force-app/main/default/classes/LexInventoryViewController.cls
@@ -32,7 +32,7 @@
     // };
 
     public static String[] proLimitAndDate = new List<String>{};
-    private static Map<String, Date> productkucun = new Map<String, Date>();
+    public static Map<String, Date> productkucun = new Map<String, Date>();
     public static List<SelectOption> categoryOptionList { get; set; }
     @AuraEnabled
     public static Map<String, String> categoryOptionMap { get; set; }
@@ -49,7 +49,7 @@
     public static String category1 { get; set; }
     public static Boolean editAble { get; set; }
     // 缁忛攢鍟嗗湪搴撲骇鍝両D
-    public static List<String> orderDetZaikuList = new List<String>();
+    public static List<String> orderDetZaikuList { get; set; }
     // 浜у搧 ID
     public static String ESetId { get; set; }
     public static String idCheck { get; set; }
@@ -69,6 +69,7 @@
     // add by rentx 2021-3-10
 
     public LexInventoryViewController() {
+        orderDetZaikuList = new List<String>();
         consumableorderdetailsRecords = new List<ConsumableorderdetailsInfo>();
         consumableorderdetailsRecordsview = new List<List<ConsumableorderdetailsInfo>>();
         editAble = false;
@@ -97,7 +98,6 @@
         categoryOptionMap = new Map<String, String>();
         category4OptionMap = new Map<String, String>();
         category5OptionMap = new Map<String, String>();
-
 
         // 鍙栫敤鎴稩D
         String userId = UserInfo.getUserId();
@@ -239,9 +239,7 @@
                 }
                 if (newMidPieceMap.containsKey(CountDel[i].Consumable_Product__c + CountDel[i].Box_Piece__c + tex)) {
                     ConsumableorderdetailsInfo Jstage = newMidPieceMap.get(
-                            CountDel[i].Consumable_Product__c +
-                            CountDel[i].Box_Piece__c +
-                            tex
+                            CountDel[i].Consumable_Product__c + CountDel[i].Box_Piece__c + tex
                         )
                         .clone();
                     Jstage.allnumber = Jstage.allnumber + 1;
@@ -406,23 +404,25 @@
         data.put('pageRecords', pageRecords);
         data.put('consumableorderdetailsRecords', consumableorderdetailsRecords);
         data.put('hasHos', hasHos);
-        data.put('productLimtAndDate',proLimitAndDate);
+        data.put('productLimtAndDate', proLimitAndDate);
+        data.put('productkucun', productkucun);
         res.status = 'Success';
         res.code = 200;
         System.debug('res = ' + res);
+        System.debug('productkucun = ' + productkucun);
         return res;
     }
     @AuraEnabled
-    public static ResponseBodyLWC categoryAllload(String category3LWC,String agencyProTypeLWC) {
+    public static ResponseBodyLWC categoryAllload(String category3LWC, String agencyProTypeLWC) {
         ResponseBodyLWC res = new ResponseBodyLWC();
         Map<String, object> data = new Map<String, object>();
         res.entity = data;
-        category3 =  category3LWC;
-        agencyProType =  '%' + agencyProTypeLWC + '%';
+        category3 = category3LWC;
+        agencyProType = '%' + agencyProTypeLWC + '%';
 
-        System.debug('category3LWC===>'+category3LWC);
-        System.debug('agencyProType===>'+agencyProType);
-        
+        System.debug('category3LWC===>' + category3LWC);
+        System.debug('agencyProType===>' + agencyProType);
+
         AggregateResult[] category4List = [
             SELECT Count(id), Category4_text__c c4c
             FROM Product2__c
@@ -466,8 +466,8 @@
             category5OptionList.add(new SelectOption(deliverycnt5, deliverycnt5));
             category5OptionMap.put(deliverycnt5, deliverycnt5);
         }
-        System.debug('绫诲埆4'+category4OptionList);
-        System.debug('绫诲埆5'+category5OptionList);
+        System.debug('绫诲埆4' + category4OptionList);
+        System.debug('绫诲埆5' + category5OptionList);
         data.put('category4OptionMap', category4OptionMap);
         data.put('category5OptionMap', category5OptionMap);
         res.status = 'Success';
@@ -528,15 +528,19 @@
         Integer pageSizeLWC,
         Integer pageTokenLWC,
         String sortFieldLWC,
-        String sortOrderLWC
+        String sortOrderLWC,
+        Map<String, Date> productkucunLWC
     ) {
         try {
-            System.debug('orderDetZaikuListLWC===>'+orderDetZaikuListLWC);
+            System.debug('orderDetZaikuListLWC===>' + orderDetZaikuListLWC);
+            System.debug('productkucun===>' + productkucun);
             pageSize = pageSizeLWC;
             pageToken = pageTokenLWC;
             sortField = sortFieldLWC;
             sortOrder = sortOrderLWC;
+            productkucun = new Map<String, Date>();
             orderDetZaikuList = new List<String>();
+            productkucun = productkucunLWC;
 
             orderDetZaikuList = orderDetZaikuListLWC;
             sqlagencyProType = '%' + agencyProType + '%';
@@ -599,7 +603,7 @@
             // if (String.isNotBlank(sortField) && String.isNotBlank(sortOrder)) {
             //     if(sortFieldLWC != 'limitCount'){
             //         soql += ' ORDER BY ' + sortField + ' ' + sortOrder;
-                    
+
             //     }
             // }
             System.debug('soql = ' + soql);
@@ -623,9 +627,7 @@
                     }
                     if (newMidBoxMap.containsKey(CountDel[i].Consumable_Product__c + CountDel[i].Box_Piece__c + tex)) {
                         ConsumableorderdetailsInfo Jstage = newMidBoxMap.get(
-                                CountDel[i].Consumable_Product__c +
-                                CountDel[i].Box_Piece__c +
-                                tex
+                                CountDel[i].Consumable_Product__c + CountDel[i].Box_Piece__c + tex
                             )
                             .clone();
                         Jstage.allnumber = Jstage.allnumber + 1;
@@ -655,9 +657,7 @@
                     }
                     if (newMidPieceMap.containsKey(CountDel[i].Consumable_Product__c + CountDel[i].Box_Piece__c + tex)) {
                         ConsumableorderdetailsInfo Jstage = newMidPieceMap.get(
-                                CountDel[i].Consumable_Product__c +
-                                CountDel[i].Box_Piece__c +
-                                tex
+                                CountDel[i].Consumable_Product__c + CountDel[i].Box_Piece__c + tex
                             )
                             .clone();
                         Jstage.allnumber = Jstage.allnumber + 1;
@@ -773,11 +773,11 @@
             paginatedAccounts.recordEnd = totalCount >= recordEnd ? recordEnd : totalCount;
             paginatedAccounts.totalRecords = totalCount;
 
-            List<ConsumableorderdetailsInfo> pageRecordsCompare = new List<ConsumableorderdetailsInfo>(); 
+            List<ConsumableorderdetailsInfo> pageRecordsCompare = new List<ConsumableorderdetailsInfo>();
             System.debug('queryList = ' + JSON.serialize(queryList));
             for (Integer i = 0; i < queryList.size(); i++) {
-                for(ConsumableorderdetailsInfo ci : pageRecords){
-                    if(queryList[i].Id == ci.Prod.Id){
+                for (ConsumableorderdetailsInfo ci : pageRecords) {
+                    if (queryList[i].Id == ci.Prod.Id) {
                         System.debug('queryList[i].Id =' + queryList[i].Id);
                         System.debug('ci.Prod.Id =' + queryList[i].Id);
                         pageRecordsCompare.add(ci);
@@ -931,7 +931,6 @@
     //     }
     //     pageRecords.sort();
     // }
-  
 
     //妫�绱ql鏂囧仛鎴�
     private static String makeSoql(String CateName, String CateCode, String Category3, String Category4, String Category5) {
@@ -1051,6 +1050,7 @@
     }
 
     // Data Bean
+    @TestVisible
     class ConsumableorderdetailsInfo implements Comparable {
         @AuraEnabled
         public Consumable_order_details2__c esd { get; set; }
@@ -1111,4 +1111,4 @@
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/force-app/main/default/classes/LexInventoryViewControllerTest.cls b/force-app/main/default/classes/LexInventoryViewControllerTest.cls
new file mode 100644
index 0000000..f7c730a
--- /dev/null
+++ b/force-app/main/default/classes/LexInventoryViewControllerTest.cls
@@ -0,0 +1,1122 @@
+@isTest
+public class LexInventoryViewControllerTest {
+    static testMethod void testInnerClass() {
+        List<LexInventoryViewController.ConsumableorderdetailsInfo> cro = new List<LexInventoryViewController.ConsumableorderdetailsInfo>();
+        cro.sort();
+    }
+    static testMethod void LexInventoryViewControllerTest() {
+        user myUser_test;
+        Account myAccount1;
+        User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
+        System.runAs(thisUser) {
+            Profile prof = [SELECT Id FROM Profile WHERE Name = '901_缁忛攢鍟嗙ぞ鍖烘櫘閫氭潈闄恄2閲嶉獙璇�(ET)'];
+            List<RecordType> rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '璨╁2搴�'];
+            if (rectCo.size() == 0) {
+                return;
+            }
+            List<RecordType> rectHos = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '鐥呴櫌'];
+            if (rectHos.size() == 0) {
+                return;
+            }
+
+            myAccount1 = new Account(
+                name = 'testaccount001',
+                RecordTypeId = rectCo[0].Id,
+                Product_Limit_Date__c = 'Test01|2|4,Test02|3|5',
+                AgentCode_Ext__c = '9999900'
+            );
+            insert myAccount1;
+            Contact core = new Contact(
+                email = 'jplumber@salesforce.com',
+                firstname = 'Joe',
+                lastname = 'Plumber',
+                accountid = myAccount1.id
+            );
+            insert core;
+            myUser_test = new User(
+                ContactId = core.id,
+                Alias = 'newUser',
+                Email = 'newuser@testorg.com',
+                EmailEncodingKey = 'UTF-8',
+                LastName = 'testUser',
+                LanguageLocaleKey = 'zh_CN',
+                LocaleSidKey = 'zh_CN',
+                ProfileId = prof.Id,
+                TimeZoneSidKey = 'Asia/Shanghai',
+                UserName = 'testUser@testorg.com',
+                Work_Location__c = '娣卞湷'
+            );
+            insert myUser_test;
+        }
+        System.runAs(myUser_test) {
+            Product2 prod01 = new Product2(
+                Name = '3400PK:PK閽� 5mmx33cm',
+                ProductCode = 'Test01',
+                Asset_Model_No__c = '3400PK:PK閽� 5mmx33cm',
+                SFDA_Status__c = '鏈夊姽',
+                Dealer_special_Object__c = true,
+                SFDA_Approbation_No__c = 'Test001',
+                Packing_list_manual__c = 1,
+                SFDA_Expiration_Date__c = Date.today(),
+                Category5__c = 'tset',
+                Manual_Entry__c = false
+            );
+            Product2 prod02 = new Product2(
+                Name = 'Test02',
+                ProductCode = 'Test02',
+                Asset_Model_No__c = 'Test02',
+                SFDA_Status__c = '鏈夊姽',
+                Dealer_special_Object__c = true,
+                SFDA_Approbation_No__c = 'Test002',
+                Packing_list_manual__c = 12,
+                SFDA_Expiration_Date__c = Date.today(),
+                Category5__c = 'tset',
+                Manual_Entry__c = false
+            );
+            insert new List<Product2>{ prod01, prod02 };
+            Product2__c pro1 = new Product2__c(
+                Name = '3400PK:PK閽� 5mmx33cm',
+                OT_CODE_Text__c = 'Test001',
+                Product2__c = prod01.Id,
+                Category3_text__c = '鑵硅厰闀滄墜鏈�',
+                Category4_text__c = 'PK',
+                Category5_text__c = 'G400'
+            );
+            Product2__c pro2 = new Product2__c(
+                Name = 'Pro002',
+                OT_CODE_Text__c = 'Test002',
+                Product2__c = prod02.Id,
+                Category3_text__c = '鑵硅厰闀滄墜鏈�',
+                Category4_text__c = 'PK',
+                Category5_text__c = 'G400'
+            );
+            insert new List<Product2__c>{ pro1, pro2 };
+            System.debug('pro2===銆�' + pro2);
+            System.debug('pro1===銆�' + pro1);
+
+            Consumable_order__c Order1 = new Consumable_order__c();
+            Order1.Name = 'OCM_01_001';
+            Order1.Order_status__c = '鎵瑰噯';
+            Order1.Order_type__c = '璁㈠崟';
+            Order1.Dealer_Info__c = myAccount1.Id;
+            Order1.RecordTypeid = System.Label.RT_ConOrder_Inventory;
+            Order1.Order_ProType__c = 'ET';
+            insert Order1;
+
+            Consumable_order__c Order2 = new Consumable_order__c();
+            Order2.Name = 'OCM_01_001';
+            Order2.Order_status__c = '鎵瑰噯';
+            Order2.Order_type__c = '璁㈠崟';
+            Order2.Dealer_Info__c = myAccount1.Id;
+            Order2.RecordTypeid = System.Label.RT_ConOrder_Inventory;
+            Order2.Order_ProType__c = 'ENg';
+            insert Order2;
+
+            Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c();
+            Orderdet1.Name = 'OCM_01_001001';
+            //Orderdet1.Consumable_principal__c = Order1.Id;
+            Orderdet1.Consumable_order_minor__c = Order1.Id;
+            Orderdet1.Consumable_Product__c = pro1.Id;
+            Orderdet1.Consumable_Arrived_order__c = Order1.Id;
+            //Orderdet1.IsArrival__c = true;
+            Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
+            Orderdet1.Bar_Code__c = '11111';
+            Orderdet1.Arrive_date__c = Date.today().addDays(1);
+            Orderdet1.Send_Date__c = null;
+            Orderdet1.Used_date__c = null;
+            Orderdet1.Lose_Flag__c = false;
+            Orderdet1.Box_Piece__c = '鐩�';
+
+            Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c();
+            Orderdet2.Name = 'OCM_01_001002';
+            //Orderdet2.Consumable_principal__c = Order1.Id;
+            Orderdet2.Consumable_order_minor__c = Order1.Id;
+            Orderdet2.Consumable_Product__c = pro1.Id;
+            Orderdet2.Consumable_Arrived_order__c = Order1.Id;
+            //Orderdet2.IsArrival__c = true;
+            Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
+            Orderdet2.Bar_Code__c = '22222';
+            Orderdet2.Arrive_date__c = Date.today().addDays(1);
+            Orderdet2.Send_Date__c = null;
+            Orderdet2.Used_date__c = null;
+            Orderdet2.Lose_Flag__c = false;
+            Orderdet2.Box_Piece__c = '涓�';
+            Orderdet2.Sterilization_limit__c = Date.today();
+
+            Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c();
+            Orderdet3.Name = 'OCM_01_001003';
+            //Orderdet3.Consumable_principal__c = Order1.Id;
+            Orderdet3.Consumable_order_minor__c = Order1.Id;
+            Orderdet3.Consumable_Product__c = pro2.Id;
+            Orderdet3.Consumable_Arrived_order__c = Order1.Id;
+            //Orderdet3.IsArrival__c = true;
+            Orderdet3.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
+            Orderdet3.Bar_Code__c = '33333';
+            Orderdet3.Arrive_date__c = Date.today().addDays(1);
+            Orderdet3.Send_Date__c = null;
+            Orderdet3.Used_date__c = null;
+            Orderdet3.Lose_Flag__c = false;
+            Orderdet3.Box_Piece__c = '涓�';
+            Orderdet3.Sterilization_limit__c = Date.today();
+
+            Consumable_order_details2__c Orderdet4 = new Consumable_order_details2__c();
+            Orderdet4.Name = 'OCM_01_001004';
+            //Orderdet4.Consumable_principal__c = Order1.Id;
+            Orderdet4.Consumable_order_minor__c = Order1.Id;
+            Orderdet4.Consumable_Product__c = pro1.Id;
+            Orderdet4.Consumable_Arrived_order__c = Order1.Id;
+            //Orderdet4.IsArrival__c = true;
+            Orderdet4.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
+            Orderdet4.Bar_Code__c = '44444';
+            Orderdet4.Arrive_date__c = Date.today().addDays(1);
+            Orderdet4.Send_Date__c = null;
+            Orderdet4.Used_date__c = null;
+            Orderdet4.Lose_Flag__c = false;
+            Orderdet4.Box_Piece__c = '涓�';
+
+            insert new List<Consumable_order_details2__c>{ Orderdet1, Orderdet2, Orderdet3, Orderdet4 };
+
+            //鍒朵綔鐩樼偣灞ュ巻
+            List<Consumable_order__c> InsPDlist = new List<Consumable_order__c>();
+            for (integer i = 1; i < 35; i++) {
+                String str = string.valueOf(i);
+                if (str.length() == 1) {
+                    str = '0' + str;
+                }
+                Consumable_order__c PDlist = new Consumable_order__c(name = 'testPandianLVL_' + str);
+                //Date ThisDate = Date.newInstance(2016,4,20+i/5);
+                //PDlist.Inventory_date__c = ThisDate;
+                PDlist.Order_type__c = '鐩樼偣';
+                PDlist.RecordTypeid = System.Label.RT_ConOrder_Inventory;
+                PDlist.Inventory_date__c = Date.today().addDays(-i);
+                PDlist.Dealer_Info__c = myAccount1.Id;
+                InsPDlist.add(PDlist);
+            }
+            List<String> orderDetZaikuListLWC = new List<String>();
+            LexInventoryViewController controller = new LexInventoryViewController();
+            Integer pageSizeLWC = 1;
+            Integer pageTokenLWC = 0;
+            String sortFieldLWC = '';
+            String sortOrderLWC = '';
+            String category1 = '3400PK:PK閽� 5mm脳33cm';
+            String Category3 = '鑵硅厰闀滄墜鏈�';
+            String Category4 = 'PK';
+            String Category5 = 'G400';
+            String accountName = '鎹峰皵鍖荤枟(娴峰崡锛夋湁闄愬叕鍙�';
+            string agencyProType = 'ENG';
+            string userWorkLocation = '娣卞湷';
+            LexInventoryViewController.category1 = category1;
+            LexInventoryViewController.Category3 = Category3;
+            LexInventoryViewController.Category4 = Category4;
+            LexInventoryViewController.Category5 = Category5;
+            LexInventoryViewController.orderDetZaikuList = new List<String>();
+            LexInventoryViewController.init(pageSizeLWC, pageTokenLWC, sortFieldLWC, sortOrderLWC);
+            system.debug('order detail:' + JSON.serialize(LexInventoryViewController.orderDetZaikuList));
+            orderDetZaikuListLWC = LexInventoryViewController.orderDetZaikuList;
+            System.debug('orderDetZaikuListLWC' + orderDetZaikuListLWC);
+            Map<String, Date> productkucunLWC = LexInventoryViewController.productkucun;
+            LexInventoryViewController.searchConsumableorderdetails(
+                category1,
+                '',
+                '',
+                '',
+                orderDetZaikuListLWC,
+                accountName,
+                agencyProType,
+                userWorkLocation,
+                pageSizeLWC,
+                pageTokenLWC,
+                sortFieldLWC,
+                sortOrderLWC,
+                productkucunLWC
+            );
+            LexInventoryViewController.searchConsumableorderdetails(
+                category1,
+                Category3,
+                Category4,
+                Category5,
+                orderDetZaikuListLWC,
+                accountName,
+                agencyProType,
+                userWorkLocation,
+                pageSizeLWC,
+                pageTokenLWC,
+                sortFieldLWC,
+                sortOrderLWC,
+                productkucunLWC
+            );
+        }
+    }
+
+    static testMethod void InventoryViewSearchTest() {
+        user myUser_test;
+        Account myAccount1;
+        User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
+        System.runAs(thisUser) {
+            Profile prof = [SELECT Id FROM Profile WHERE Name = '901_缁忛攢鍟嗙ぞ鍖烘櫘閫氭潈闄恄2閲嶉獙璇�(ET)'];
+            List<RecordType> rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '璨╁2搴�'];
+            if (rectCo.size() == 0) {
+                return;
+            }
+            myAccount1 = new Account(
+                name = 'testaccount001',
+                RecordTypeId = rectCo[0].Id,
+                Product_Limit_Date__c = 'Test01|2|4,Test02|3|5',
+                AgentCode_Ext__c = '9999900'
+            );
+            insert myAccount1;
+            Contact core = new Contact(
+                email = 'jplumber@salesforce.com',
+                firstname = 'Joe',
+                lastname = 'Plumber',
+                accountid = myAccount1.id
+            );
+            insert core;
+            myUser_test = new User(
+                ContactId = core.id,
+                Alias = 'newUser',
+                Email = 'newuser@testorg.com',
+                EmailEncodingKey = 'UTF-8',
+                LastName = 'testUser',
+                LanguageLocaleKey = 'zh_CN',
+                LocaleSidKey = 'zh_CN',
+                ProfileId = prof.Id,
+                TimeZoneSidKey = 'Asia/Shanghai',
+                UserName = 'testUser@testorg.com'
+            );
+            insert myUser_test;
+        }
+
+        System.runAs(myUser_test) {
+            Product2 prod01 = new Product2(
+                Name = 'Test01',
+                ProductCode = 'Test01',
+                Asset_Model_No__c = 'Test01',
+                SFDA_Status__c = '鏈夊姽',
+                Dealer_special_Object__c = true,
+                Category3__c = 'CDS',
+                Category4__c = 'OER',
+                Category5__c = '鍏跺畠',
+                Manual_Entry__c = false
+            );
+            Product2 prod02 = new Product2(
+                Name = 'Test02',
+                ProductCode = 'Test02',
+                Asset_Model_No__c = 'Test02',
+                SFDA_Status__c = '鏈夊姽',
+                Dealer_special_Object__c = true,
+                Category3__c = 'ENT',
+                Category4__c = 'Celon',
+                Category5__c = 'Celon',
+                Manual_Entry__c = false
+            );
+            Product2 prod03 = new Product2(
+                Name = 'Test03',
+                ProductCode = 'Test03',
+                Asset_Model_No__c = 'Test03',
+                SFDA_Status__c = '鏈夊姽',
+                Dealer_special_Object__c = true,
+                Category3__c = 'US',
+                Category4__c = 'ALOKA',
+                Category5__c = '浣撳瓒呭0',
+                Manual_Entry__c = false
+            );
+            Product2 prod04 = new Product2(
+                Name = 'Test04',
+                ProductCode = 'Test04',
+                Asset_Model_No__c = 'Test04',
+                SFDA_Status__c = '鏈夊姽',
+                Dealer_special_Object__c = true,
+                Category3__c = 'OCS',
+                Category4__c = '闄勫睘鍝�',
+                Category5__c = 'S45',
+                Manual_Entry__c = false
+            );
+            Product2 prod05 = new Product2(
+                Name = 'Test05',
+                ProductCode = 'Test05',
+                Asset_Model_No__c = 'Test05',
+                SFDA_Status__c = '鏈夊姽',
+                Dealer_special_Object__c = true,
+                Category3__c = '鍏夋簮',
+                Category4__c = '闄勫睘鍝�',
+                Category5__c = 'OCS',
+                Manual_Entry__c = false
+            );
+            insert new List<Product2>{ prod01, prod02, prod03, prod04, prod05 };
+            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
+            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
+            Product2__c pro3 = new Product2__c(Name = 'Pro003', OT_CODE_Text__c = 'Test003', Product2__c = prod03.Id);
+            Product2__c pro4 = new Product2__c(Name = 'Pro004', OT_CODE_Text__c = 'Test004', Product2__c = prod04.Id);
+            Product2__c pro5 = new Product2__c(Name = 'Pro005', OT_CODE_Text__c = 'Test005', Product2__c = prod05.Id);
+            insert new List<Product2__c>{ pro1, pro2, pro3, pro4, pro5 };
+
+            Consumable_order__c Order1 = new Consumable_order__c();
+            Order1.Name = 'OCM_01_001';
+            Order1.Order_status__c = '鎵瑰噯';
+            Order1.Order_type__c = '璁㈠崟';
+            Order1.Dealer_Info__c = myAccount1.Id;
+            Order1.RecordTypeid = System.Label.RT_ConOrder_Inventory;
+            Order1.Order_ProType__c = 'ET';
+            insert Order1;
+
+            Consumable_order_details2__c Orderdet1 = new Consumable_order_details2__c();
+            Orderdet1.Name = 'OCM_01_001001';
+            Orderdet1.Consumable_order_minor__c = Order1.Id;
+            Orderdet1.Consumable_Product__c = pro1.Id;
+            Orderdet1.Consumable_Arrived_order__c = Order1.Id;
+            Orderdet1.Sterilization_limit__c = Date.today();
+            Orderdet1.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
+            Orderdet1.Bar_Code__c = '11111';
+            Orderdet1.Arrive_date__c = Date.today().addDays(1);
+            Orderdet1.Send_Date__c = null;
+            Orderdet1.Used_date__c = null;
+            Orderdet1.Lose_Flag__c = false;
+
+            Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c();
+            Orderdet2.Name = 'OCM_01_001002';
+            Orderdet2.Consumable_order_minor__c = Order1.Id;
+            Orderdet2.Consumable_Product__c = pro1.Id;
+            Orderdet2.Consumable_Arrived_order__c = Order1.Id;
+            Orderdet2.Sterilization_limit__c = Date.today();
+            Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
+            Orderdet2.Bar_Code__c = '22222';
+            Orderdet2.Arrive_date__c = Date.today().addDays(1);
+            Orderdet2.Send_Date__c = null;
+            Orderdet2.Used_date__c = null;
+            Orderdet2.Lose_Flag__c = false;
+            insert new List<Consumable_order_details2__c>{ Orderdet1, Orderdet2 };
+            Integer pageSizeLWC = 1;
+            Integer pageTokenLWC = 0;
+            String sortFieldLWC = '';
+            String sortOrderLWC = '';
+            String category3LWC = 'CDS';
+            String agencyProTypeLWC = 'ENG';
+            String category1 = '3400PK:PK閽� 5mm脳33cm';
+            String Category3 = '鑵硅厰闀滄墜鏈�';
+            String Category4 = 'PK';
+            String Category5 = 'G400';
+            String accountName = '鎹峰皵鍖荤枟(娴峰崡锛夋湁闄愬叕鍙�';
+            string agencyProType = 'ENG';
+            string userWorkLocation = '娣卞湷';
+            List<String> orderDetZaikuListLWC = new List<String>();
+
+            LexInventoryViewController.init(pageSizeLWC, pageTokenLWC, sortFieldLWC, sortOrderLWC);
+            LexInventoryViewController.categoryAllload(category3LWC, agencyProTypeLWC);
+            LexInventoryViewController.categoryload();
+            //  LexInventoryViewController.searchConsumableorderdetails(category1,category3,category4,category5,orderDetZaikuListLWC,accountName,agencyProType,userWorkLocation,pageSizeLWC,pageTokenLWC,sortFieldLWC,sortOrderLWC);
+        }
+    }
+
+    //add by rentx 2020-12-25 start 鏌ヨ闈炲尰闄㈢壒浠风洅 /涓�
+    static testMethod void InventoryViewTest2() {
+        user myUser_test;
+        Account myAccount2;
+        User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
+        System.runAs(thisUser) {
+            List<RecordType> rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '璨╁2搴�'];
+            if (rectCo.size() == 0) {
+                return;
+            }
+            //Profile prof = [select Id from Profile where Name ='901_缁忛攢鍟嗙ぞ鍖烘櫘閫氭潈闄恄2閲嶉獙璇�'];
+            Profile prof = [SELECT Id FROM Profile WHERE Name = '901_缁忛攢鍟嗙ぞ鍖烘櫘閫氭潈闄恄2閲嶉獙璇�(ET)']; //20200916 ljh update
+
+            myAccount2 = new Account(
+                name = 'Testaccount002',
+                Dealer_discount__c = 20,
+                RecordTypeId = rectCo[0].Id,
+                Product_Limit_Date__c = 'Test01|5|55,Test02|2|4',
+                AgentCode_Ext__c = '9999900'
+            );
+            insert myAccount2;
+
+            Contact core = new Contact(
+                email = 'jplumber@salesforce.com',
+                firstname = 'Joe',
+                lastname = 'Plumber',
+                accountid = myAccount2.id
+            );
+            insert core;
+            MyUser_Test = new User(
+                ContactId = core.id,
+                Alias = 'newUser',
+                Email = 'newuser@testorg.com',
+                EmailEncodingKey = 'UTF-8',
+                LastName = 'TestUser',
+                LanguageLocaleKey = 'zh_CN',
+                LocaleSidKey = 'zh_CN',
+                ProfileId = prof.Id,
+                TimeZoneSidKey = 'Asia/Shanghai',
+                UserName = 'testUser@testorg.com',
+                UserPro_Type__c = 'ET',
+                Work_Location__c = '鍖椾含'
+            );
+            insert MyUser_Test;
+        }
+        System.runAs(MyUser_Test) {
+            System.Test.startTest();
+            StaticParameter.EscapeConsumableOrderDetail2Trigger = true;
+            Product2 prod01 = new Product2(
+                Name = 'Test01',
+                ProductCode = 'Test01',
+                Asset_Model_No__c = 'Test01',
+                SFDA_Status__c = '鏈夊姽',
+                Dealer_special_Object__c = true,
+                SFDA_Approbation_No__c = '12124',
+                Packing_list_manual__c = 1,
+                SFDA_Expiration_Date__c = Date.today(),
+                Manual_Entry__c = false
+            );
+            Product2 prod02 = new Product2(
+                Name = 'Test02',
+                ProductCode = 'Test02',
+                Asset_Model_No__c = 'Test02',
+                SFDA_Status__c = '鏈夊姽',
+                Dealer_special_Object__c = true,
+                SFDA_Approbation_No__c = '12124',
+                Packing_list_manual__c = 1,
+                SFDA_Expiration_Date__c = Date.today(),
+                Manual_Entry__c = false
+            );
+            insert new List<Product2>{ prod01, prod02 };
+            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
+            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
+            insert new List<Product2__c>{ pro1, pro2 };
+
+            Consumable_order__c createId = new Consumable_order__c();
+            createId.Name = 'testMing';
+            createId.Order_status__c = '鎵瑰噯';
+            createId.Deliver_date__c = Date.today();
+            createId.Dealer_Info__c = myAccount2.Id;
+            createId.RecordTypeid = System.Label.RT_ConOrder_Delivery;
+            createId.Order_type__c = '璁㈠崟';
+            createId.Order_ProType__c = 'ET';
+            createId.Dealer_Info__c = myAccount2.Id;
+            createId.Delivery_detail_count__c = 5;
+            insert createId;
+            //pro1 鐩� 鍦ㄥ簱
+            List<Consumable_order_details2__c> codListTemp = new List<Consumable_order_details2__c>();
+            Consumable_order_details2__c createDetail2 = new Consumable_order_details2__c();
+            createDetail2 = new Consumable_order_details2__c();
+            createDetail2.Consumable_Product__c = pro1.id;
+            createDetail2.Asset_Model_No__c = 'Test01';
+            createDetail2.Consumable_order_minor__c = createId.id;
+            createDetail2.Consumable_Arrived_order__c = createId.id;
+            createDetail2.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
+            createDetail2.Asset_Model_No__c = pro1.Asset_Model_No__c;
+            createDetail2.Bar_Code__c = '123';
+            createDetail2.Box_Piece__c = '鐩�';
+            createDetail2.Arrive_date__c = Date.today();
+            codListTemp.add(createDetail2);
+            //insert createDetail2;
+            Consumable_order_details2__c createDetailpro1 = new Consumable_order_details2__c();
+            createDetailpro1.Consumable_Product__c = pro1.id;
+            createDetailpro1.Asset_Model_No__c = 'Test02';
+            createDetailpro1.Consumable_order_minor__c = createId.id;
+            createDetailpro1.Consumable_Arrived_order__c = createId.id;
+            createDetailpro1.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
+            createDetailpro1.Asset_Model_No__c = pro1.Asset_Model_No__c;
+            createDetailpro1.Bar_Code__c = '12322';
+            createDetailpro1.Box_Piece__c = '鐩�';
+            createDetailpro1.Arrive_date__c = Date.today();
+            codListTemp.add(createDetailpro1);
+            //insert createDetailpro1;
+            //pro1 涓� 鍦ㄥ簱
+            Consumable_order_details2__c createDetailPiece1 = new Consumable_order_details2__c();
+            createDetailPiece1.Consumable_Product__c = pro1.id;
+            createDetailPiece1.Asset_Model_No__c = 'Test03';
+            createDetailPiece1.Consumable_order_minor__c = createId.id;
+            createDetailPiece1.Consumable_Arrived_order__c = createId.id;
+            createDetailPiece1.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
+            createDetailPiece1.Asset_Model_No__c = pro1.Asset_Model_No__c;
+            createDetailPiece1.Bar_Code__c = '23456';
+            createDetailPiece1.Box_Piece__c = '涓�';
+            createDetailPiece1.Arrive_date__c = Date.today();
+            codListTemp.add(createDetailPiece1);
+            //insert createDetailPiece1;
+            Consumable_order_details2__c createDetailPiece2 = new Consumable_order_details2__c();
+            createDetailPiece2.Consumable_Product__c = pro1.id;
+            createDetailPiece2.Asset_Model_No__c = 'Test04';
+            createDetailPiece2.Consumable_order_minor__c = createId.id;
+            createDetailPiece2.Consumable_Arrived_order__c = createId.id;
+            createDetailPiece2.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
+            createDetailPiece2.Asset_Model_No__c = pro1.Asset_Model_No__c;
+            createDetailPiece2.Bar_Code__c = '122345';
+            createDetailPiece2.Box_Piece__c = '涓�';
+            createDetailPiece2.Arrive_date__c = Date.today();
+            codListTemp.add(createDetailPiece2);
+            //insert createDetailPiece2;
+
+            //pro1 鐩� 鍦ㄥ簱 杩囨湡
+            Consumable_order_details2__c createDetail21 = new Consumable_order_details2__c();
+            createDetail21.Consumable_Product__c = pro1.id;
+            createDetail21.Asset_Model_No__c = 'Test01';
+            createDetail21.Sterilization_limit__c = Date.today();
+            createDetail21.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
+            //createDetail.IsArrival__c = true;
+            createDetail21.Asset_Model_No__c = prod02.Asset_Model_No__c;
+            createDetail21.Bar_Code__c = '1223';
+            createDetail21.Box_Piece__c = '鐩�';
+            createDetail21.Arrive_date__c = Date.today();
+            createDetail21.Deliver_date__c = Date.today().addDays(-8);
+            createDetail21.Sterilization_limit__c = Date.today().addDays(-8);
+            codListTemp.add(createDetail21);
+            //insert createDetail2;
+            insert codListTemp;
+
+            PageReference page = new PageReference('/apex/TopPage');
+            System.Test.setCurrentPage(page);
+            TopPageController lPCTest = new TopPageController();
+            lPCTest.pagesize = 1;
+            List<Consumable_Orderdetails__c> coListTest = new List<Consumable_Orderdetails__c>();
+            Consumable_Orderdetails__c conOrderDetail1 = new Consumable_Orderdetails__c();
+            conOrderDetail1.Consumable_count__c = 10;
+            conOrderDetail1.Consumable_Arrivecount__c = 5;
+            conOrderDetail1.Consumable_product__c = pro2.id;
+            conOrderDetail1.Consumable_order__c = createId.Id;
+            coListTest.add(conOrderDetail1);
+
+            Consumable_Orderdetails__c conOrderDetail2 = new Consumable_Orderdetails__c();
+            conOrderDetail2.Consumable_product__c = pro2.id;
+            conOrderDetail2.Consumable_order__c = createId.Id;
+            coListTest.add(conOrderDetail2);
+            insert coListTest;
+
+            Integer pageSizeLWC = 1;
+            Integer pageTokenLWC = 0;
+            String sortFieldLWC = '';
+            String sortOrderLWC = '';
+            String category3LWC = 'CDS';
+            String agencyProTypeLWC = 'ENG';
+            // LexInventoryViewController.init(pageSizeLWC,pageTokenLWC,sortFieldLWC,sortOrderLWC);
+            LexInventoryViewController.categoryAllload('CDS', '鎹峰皵鍖荤枟(娴峰崡锛夋湁闄愬叕鍙�');
+            LexInventoryViewController.categoryload();
+            LexInventoryViewController.categoryAllload('鍏夋簮', '鎹峰皵鍖荤枟(娴峰崡锛夋湁闄愬叕鍙�');
+            LexInventoryViewController.categoryload();
+            System.Test.stopTest();
+        }
+    }
+
+    static testMethod void InventoryViewTest3() {
+        user myUser_test;
+        Account myAccount2;
+        User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
+        System.runAs(thisUser) {
+            List<RecordType> rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '璨╁2搴�'];
+            if (rectCo.size() == 0) {
+                return;
+            }
+            //Profile prof = [select Id from Profile where Name ='901_缁忛攢鍟嗙ぞ鍖烘櫘閫氭潈闄恄2閲嶉獙璇�'];
+            // Profile prof = [select Id from Profile where Name ='901_缁忛攢鍟嗙ぞ鍖烘櫘閫氭潈闄恄2閲嶉獙璇�(Email)'];//20200916 ljh update
+            Profile prof = [SELECT Id FROM Profile WHERE Name = '901_缁忛攢鍟嗙ぞ鍖烘櫘閫氭潈闄恄2閲嶉獙璇�(ET Email)']; //20210329 RTX update
+
+            myAccount2 = new Account(
+                name = 'Testaccount002',
+                Dealer_discount__c = 20,
+                RecordTypeId = rectCo[0].Id,
+                Product_Limit_Date__c = 'Test01|5|55,Test02|2|4',
+                AgentCode_Ext__c = '9999900'
+            );
+            insert myAccount2;
+
+            Contact core = new Contact(
+                email = 'jplumber@salesforce.com',
+                firstname = 'Joe',
+                lastname = 'Plumber',
+                accountid = myAccount2.id
+            );
+            insert core;
+            MyUser_Test = new User(
+                ContactId = core.id,
+                Alias = 'newUser',
+                Email = 'newuser@testorg.com',
+                EmailEncodingKey = 'UTF-8',
+                LastName = 'TestUser',
+                LanguageLocaleKey = 'zh_CN',
+                LocaleSidKey = 'zh_CN',
+                ProfileId = prof.Id,
+                TimeZoneSidKey = 'Asia/Shanghai',
+                UserName = 'testUser@testorg.com',
+                UserPro_Type__c = 'ENG',
+                Work_Location__c = '鍖椾含'
+            );
+            insert MyUser_Test;
+        }
+
+        System.runAs(MyUser_Test) {
+            System.Test.startTest();
+            StaticParameter.EscapeConsumableOrderDetail2Trigger = true;
+            Product2 prod01 = new Product2(
+                Name = 'Test01',
+                ProductCode = 'Test01',
+                Asset_Model_No__c = 'Test01',
+                SFDA_Status__c = '鏈夊姽',
+                Dealer_special_Object__c = true,
+                SFDA_Approbation_No__c = '12124',
+                Packing_list_manual__c = 1,
+                SFDA_Expiration_Date__c = Date.today(),
+                Manual_Entry__c = false
+            );
+            Product2 prod02 = new Product2(
+                Name = 'Test02',
+                ProductCode = 'Test02',
+                Asset_Model_No__c = 'Test02',
+                SFDA_Status__c = '鏈夊姽',
+                Dealer_special_Object__c = true,
+                SFDA_Approbation_No__c = '12124',
+                Packing_list_manual__c = 1,
+                SFDA_Expiration_Date__c = Date.today(),
+                Manual_Entry__c = false
+            );
+            insert new List<Product2>{ prod01, prod02 };
+            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
+            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
+            insert new List<Product2__c>{ pro1, pro2 };
+
+            Consumable_order__c createId = new Consumable_order__c();
+            createId.Name = 'testMing1';
+            createId.Order_status__c = '鎵瑰噯';
+            createId.Deliver_date__c = Date.today();
+            createId.Dealer_Info__c = myAccount2.Id;
+            createId.RecordTypeid = System.Label.RT_ConOrder_Delivery;
+            createId.Order_type__c = '璁㈠崟';
+            createId.Order_ProType__c = 'ENG';
+            createId.Dealer_Info__c = myAccount2.Id;
+            createId.Delivery_detail_count__c = 5;
+            createId.orderPattern__c = 'hospitalorder';
+            insert createId;
+            //pro1 鐩� 鍦ㄥ簱
+            Consumable_order_details2__c createDetail2 = new Consumable_order_details2__c();
+            createDetail2.Consumable_Product__c = pro1.id;
+            createDetail2.Asset_Model_No__c = 'Test01';
+            createDetail2.Consumable_order_minor__c = createId.id;
+            createDetail2.Consumable_Arrived_order__c = createId.id;
+            createDetail2.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
+            createDetail2.Asset_Model_No__c = pro1.Asset_Model_No__c;
+            createDetail2.Bar_Code__c = '123';
+            createDetail2.Box_Piece__c = '鐩�';
+            createDetail2.Arrive_date__c = Date.today();
+            insert createDetail2;
+            List<Consumable_order_details2__c> codListTemp = new List<Consumable_order_details2__c>();
+            Consumable_order_details2__c createDetailpro1 = new Consumable_order_details2__c();
+            createDetailpro1.Consumable_Product__c = pro1.id;
+            createDetailpro1.Asset_Model_No__c = 'Test02';
+            createDetailpro1.Consumable_order_minor__c = createId.id;
+            createDetailpro1.Consumable_Arrived_order__c = createId.id;
+            createDetailpro1.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
+            createDetailpro1.Asset_Model_No__c = pro1.Asset_Model_No__c;
+            createDetailpro1.Bar_Code__c = '12322';
+            createDetailpro1.Box_Piece__c = '鐩�';
+            createDetailpro1.Arrive_date__c = Date.today();
+            //insert createDetailpro1;
+            codListTemp.add(createDetailpro1);
+            //pro1 涓� 鍦ㄥ簱
+            Consumable_order_details2__c createDetailPiece1 = new Consumable_order_details2__c();
+            createDetailPiece1.Consumable_Product__c = pro1.id;
+            createDetailPiece1.Asset_Model_No__c = 'Test03';
+            createDetailPiece1.Consumable_order_minor__c = createId.id;
+            createDetailPiece1.Consumable_Arrived_order__c = createId.id;
+            createDetailPiece1.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
+            createDetailPiece1.Asset_Model_No__c = pro1.Asset_Model_No__c;
+            createDetailPiece1.Bar_Code__c = '23456';
+            createDetailPiece1.Box_Piece__c = '涓�';
+            createDetailPiece1.Arrive_date__c = Date.today();
+            codListTemp.add(createDetailPiece1);
+            //insert createDetailPiece1;
+            Consumable_order_details2__c createDetailPiece2 = new Consumable_order_details2__c();
+            createDetailPiece2.Consumable_Product__c = pro1.id;
+            createDetailPiece2.Asset_Model_No__c = 'Test04';
+            createDetailPiece2.Consumable_order_minor__c = createId.id;
+            createDetailPiece2.Consumable_Arrived_order__c = createId.id;
+            createDetailPiece2.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
+            createDetailPiece2.Asset_Model_No__c = pro1.Asset_Model_No__c;
+            createDetailPiece2.Bar_Code__c = '122345';
+            createDetailPiece2.Box_Piece__c = '涓�';
+            createDetailPiece2.Arrive_date__c = Date.today();
+            codListTemp.add(createDetailPiece2);
+            //insert createDetailPiece2;
+
+            //pro1 鐩� 鍦ㄥ簱 杩囨湡
+            Consumable_order_details2__c createDetail21 = new Consumable_order_details2__c();
+            createDetail21.Consumable_Product__c = pro1.id;
+            createDetail21.Asset_Model_No__c = 'Test01';
+            createDetail21.Sterilization_limit__c = Date.today();
+            createDetail21.RecordTypeid = System.Label.RT_ConOrderDetail2_Delivery;
+            //createDetail.IsArrival__c = true;
+            createDetail21.Asset_Model_No__c = prod02.Asset_Model_No__c;
+            createDetail21.Bar_Code__c = '1223';
+            createDetail21.Box_Piece__c = '鐩�';
+            createDetail21.Arrive_date__c = Date.today();
+            createDetail21.Deliver_date__c = Date.today().addDays(-8);
+            createDetail21.Sterilization_limit__c = Date.today().addDays(-8);
+            codListTemp.add(createDetail21);
+            //insert createDetail21;
+            insert codListTemp;
+
+            PageReference page = new PageReference('/apex/TopPage');
+            System.Test.setCurrentPage(page);
+            TopPageController lPCTest = new TopPageController();
+            lPCTest.pagesize = 1;
+            List<Consumable_Orderdetails__c> coListTest = new List<Consumable_Orderdetails__c>();
+            Consumable_Orderdetails__c conOrderDetail1 = new Consumable_Orderdetails__c();
+            conOrderDetail1.Consumable_count__c = 10;
+            conOrderDetail1.Consumable_Arrivecount__c = 5;
+            conOrderDetail1.Consumable_product__c = pro2.id;
+            conOrderDetail1.Consumable_order__c = createId.Id;
+            coListTest.add(conOrderDetail1);
+
+            Consumable_Orderdetails__c conOrderDetail2 = new Consumable_Orderdetails__c();
+            conOrderDetail2.Consumable_product__c = pro2.id;
+            conOrderDetail2.Consumable_order__c = createId.Id;
+            coListTest.add(conOrderDetail2);
+            insert coListTest;
+
+            Integer pageSizeLWC = 1;
+            Integer pageTokenLWC = 0;
+            String sortFieldLWC = '';
+            String sortOrderLWC = '';
+            String category1 = '3400PK:PK閽� 5mm脳33cm';
+            String Category3 = '鑵硅厰闀滄墜鏈�';
+            String Category4 = 'PK';
+            String Category5 = 'G400';
+            List<String> orderDetZaikuListLWC = new List<String>();
+            String accountName = '鎹峰皵鍖荤枟(娴峰崡锛夋湁闄愬叕鍙�';
+            string agencyProType = 'ET';
+            string userWorkLocation = '娣卞湷';
+            LexInventoryViewController.category1 = category1;
+            LexInventoryViewController.Category3 = Category3;
+            LexInventoryViewController.Category4 = Category4;
+            LexInventoryViewController.Category5 = Category5;
+            // LexInventoryViewController.init(pageSizeLWC,pageTokenLWC,sortFieldLWC,sortOrderLWC);
+            // LexInventoryViewController.searchConsumableorderdetails(category1,category3,category4,category5,orderDetZaikuListLWC,accountName,agencyProType,userWorkLocation,pageSizeLWC,pageTokenLWC,sortFieldLWC,sortOrderLWC);
+            LexInventoryViewController.categoryAllload('CDS', '鎹峰皵鍖荤枟(娴峰崡锛夋湁闄愬叕鍙�');
+            LexInventoryViewController.categoryload();
+            LexInventoryViewController.categoryAllload('鍏夋簮', '鎹峰皵鍖荤枟(娴峰崡锛夋湁闄愬叕鍙�');
+            LexInventoryViewController.categoryload();
+        }
+    }
+    static testMethod void InventoryViewTest4() {
+        user myUser_test;
+        Account myAccount2;
+        User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
+        System.runAs(thisUser) {
+            List<RecordType> rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '璨╁2搴�'];
+            if (rectCo.size() == 0) {
+                return;
+            }
+            Profile prof = [SELECT Id FROM Profile WHERE Name = '901_缁忛攢鍟嗙ぞ鍖烘櫘閫氭潈闄恄2閲嶉獙璇�(ET Email)']; //20210329 RTX update
+
+            myAccount2 = new Account(
+                name = 'Testaccount002',
+                Dealer_discount__c = 20,
+                RecordTypeId = rectCo[0].Id,
+                Product_Limit_Date__c = 'Test01|5|55,Test02|2|4',
+                AgentCode_Ext__c = '9999900'
+            );
+            insert myAccount2;
+
+            Contact core = new Contact(
+                email = 'jplumber@salesforce.com',
+                firstname = 'Joe',
+                lastname = 'Plumber',
+                accountid = myAccount2.id
+            );
+            insert core;
+            MyUser_Test = new User(
+                ContactId = core.id,
+                Alias = 'newUser',
+                Email = 'newuser@testorg.com',
+                EmailEncodingKey = 'UTF-8',
+                LastName = 'TestUser',
+                LanguageLocaleKey = 'zh_CN',
+                LocaleSidKey = 'zh_CN',
+                ProfileId = prof.Id,
+                TimeZoneSidKey = 'Asia/Shanghai',
+                UserName = 'testUser@testorg.com',
+                UserPro_Type__c = 'ET',
+                Work_Location__c = '娴庡崡'
+            );
+            insert MyUser_Test;
+        }
+        System.runAs(MyUser_Test) {
+            Integer pageSizeLWC = 1;
+            Integer pageTokenLWC = 0;
+            String sortFieldLWC = '';
+            String sortOrderLWC = '';
+            String category1 = '3400PK:PK閽� 5mm脳33cm';
+            String Category3 = '鑵硅厰闀滄墜鏈�';
+            String Category4 = 'PK';
+            String Category5 = 'G400';
+            String accountName = 'Testaccount002';
+            string agencyProType = 'ET';
+            string userWorkLocation = '娴庡崡';
+            List<String> orderDetZaikuListLWC = new List<String>();
+            List<String> productCodeList = new List<String>();
+
+            Product2 prod01 = new Product2(
+                Name = 'Test01',
+                ProductCode = 'Test01',
+                Asset_Model_No__c = 'Test01',
+                SFDA_Status__c = '鏈夊姽',
+                Dealer_special_Object__c = true,
+                SFDA_Approbation_No__c = '12124',
+                Packing_list_manual__c = 1,
+                SFDA_Expiration_Date__c = Date.today(),
+                Manual_Entry__c = false
+            );
+            Product2 prod02 = new Product2(
+                Name = 'Test02',
+                ProductCode = 'Test02',
+                Asset_Model_No__c = 'Test02',
+                SFDA_Status__c = '鏈夊姽',
+                Dealer_special_Object__c = true,
+                SFDA_Approbation_No__c = '12124',
+                Packing_list_manual__c = 1,
+                SFDA_Expiration_Date__c = Date.today(),
+                Manual_Entry__c = false
+            );
+            insert new List<Product2>{ prod01, prod02 };
+            Product2__c pro1 = new Product2__c(Name = 'Pro001', OT_CODE_Text__c = 'Test001', Product2__c = prod01.Id);
+            Product2__c pro2 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod02.Id);
+            insert new List<Product2__c>{ pro1, pro2 };
+
+            Consumable_order__c Order1 = new Consumable_order__c();
+            Order1.Name = 'OCM_01_001';
+            Order1.Order_status__c = '鎵瑰噯';
+            Order1.Order_type__c = '璁㈠崟';
+            Order1.Dealer_Info__c = myAccount2.Id;
+            Order1.RecordTypeid = System.Label.RT_ConOrder_Delivery;
+            Order1.Order_ProType__c = 'ENG';
+            insert Order1;
+            Consumable_order__c Order2 = new Consumable_order__c();
+            Order2.Name = 'OCM_01_003';
+            Order2.Order_status__c = '鎵瑰噯';
+            Order2.Order_type__c = '璁㈠崟';
+            Order2.Dealer_Info__c = myAccount2.Id;
+            Order2.RecordTypeid = System.Label.RT_ConOrder_Delivery;
+            Order2.Order_ProType__c = 'ET';
+            insert Order2;
+            List<Consumable_order_details2__c> conList = new List<Consumable_order_details2__c>();
+
+            Consumable_order_details2__c Orderdet2 = new Consumable_order_details2__c();
+            Orderdet2.Name = 'OCM_01_001002';
+            //Orderdet2.Consumable_principal__c = Order1.Id;
+            Orderdet2.Consumable_order_minor__c = Order1.Id;
+            Orderdet2.Consumable_Product__c = pro1.Id;
+            Orderdet2.Consumable_Arrived_order__c = Order1.Id;
+            //Orderdet2.IsArrival__c = true;
+            Orderdet2.RecordTypeId = System.Label.RT_ConOrderDetail2_Delivery;
+            Orderdet2.Bar_Code__c = '22222';
+            Orderdet2.Arrive_date__c = Date.today().addDays(1);
+            Orderdet2.Send_Date__c = null;
+            Orderdet2.Used_date__c = Date.today();
+            Orderdet2.Lose_Flag__c = false;
+            Orderdet2.Box_Piece__c = '涓�';
+            Orderdet2.Sterilization_limit__c = Date.today();
+            Orderdet2.Return_date__c = Date.today();
+            Orderdet2.Bar_Code__c = '1683272847250250WZIOF';
+            Orderdet2.Cancellation_Flag__c = false;
+            conList.add(Orderdet2);
+
+            Consumable_order_details2__c Orderdet3 = new Consumable_order_details2__c();
+            Orderdet3.Arrive_date__c = Date.today();
+            Orderdet3.Send_Date__c = null;
+            Orderdet3.Used_date__c = null;
+            Orderdet3.Return_date__c = null;
+            Orderdet3.Lose_Flag__c = false;
+            Orderdet3.Cancellation_Flag__c = false;
+            Orderdet3.Bar_Code__c = '1234';
+            Orderdet3.Consumable_order_minor__c = Order2.Id;
+            Orderdet2.Consumable_Product__c = pro1.Id;
+            Orderdet3.Consumable_Arrived_order__c = Order2.Id;
+            Orderdet3.Recordtypeid = '01210000000kUDKAA2';
+            Orderdet3.Sterilization_limit__c = Date.today().addDays(1);
+            conList.add(Orderdet3);
+            insert conList;
+            System.debug('conList==>' + conList);
+
+            LexInventoryViewController.category1 = category1;
+            LexInventoryViewController.Category3 = Category3;
+            LexInventoryViewController.Category4 = Category4;
+            LexInventoryViewController.Category5 = Category5;
+            // LexInventoryViewController.init(pageSizeLWC,pageTokenLWC,sortFieldLWC,sortOrderLWC);
+            Map<String, Date> productkucunLWC = LexInventoryViewController.productkucun;
+            LexInventoryViewController.searchConsumableorderdetails(
+                category1,
+                category3,
+                category4,
+                category5,
+                orderDetZaikuListLWC,
+                accountName,
+                agencyProType,
+                userWorkLocation,
+                pageSizeLWC,
+                pageTokenLWC,
+                sortFieldLWC,
+                sortOrderLWC,
+                productkucunLWC
+            );
+            LexInventoryViewController.categoryAllload('CDS', '鎹峰皵鍖荤枟(娴峰崡锛夋湁闄愬叕鍙�');
+            LexInventoryViewController.categoryload();
+            LexInventoryViewController.categoryAllload('鍏夋簮', '鎹峰皵鍖荤枟(娴峰崡锛夋湁闄愬叕鍙�');
+            LexInventoryViewController.categoryload();
+            // LexInventoryViewController.searchConsumableorderdetails(category1,category3,category4,category5,orderDetZaikuListLWC ,accountName,agencyProType,
+            // userWorkLocation,pageSizeLWC,pageTokenLWC,sortFieldLWC,sortOrderLWC);
+        }
+
+    }
+    static testMethod void supplementTest() {
+        user myUser_test;
+        Account myAccount1;
+        User thisUser = [SELECT Id FROM User WHERE Id = :UserInfo.getUserId()];
+        System.runAs(thisUser) {
+            Profile prof = [SELECT Id FROM Profile WHERE Name = '901_缁忛攢鍟嗙ぞ鍖烘櫘閫氭潈闄恄2閲嶉獙璇�(ET)'];
+            List<RecordType> rectCo = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '璨╁2搴�'];
+            if (rectCo.size() == 0) {
+                return;
+            }
+            List<RecordType> rectHos = [SELECT Id FROM RecordType WHERE IsActive = TRUE AND SobjectType = 'Account' AND Name = '鐥呴櫌'];
+            if (rectHos.size() == 0) {
+                return;
+            }
+
+            myAccount1 = new Account(
+                name = 'testaccount001',
+                RecordTypeId = rectCo[0].Id,
+                Product_Limit_Date__c = 'Test01|2|4,Test02|3|5',
+                AgentCode_Ext__c = '9999900'
+            );
+            insert myAccount1;
+            Contact core = new Contact(
+                email = 'jplumber@salesforce.com',
+                firstname = 'Joe',
+                lastname = 'Plumber',
+                accountid = myAccount1.id
+            );
+            insert core;
+            myUser_test = new User(
+                ContactId = core.id,
+                Alias = 'newUser',
+                Email = 'newuser@testorg.com',
+                EmailEncodingKey = 'UTF-8',
+                LastName = 'testUser',
+                LanguageLocaleKey = 'zh_CN',
+                LocaleSidKey = 'zh_CN',
+                ProfileId = prof.Id,
+                TimeZoneSidKey = 'Asia/Shanghai',
+                UserName = 'testUser@testorg.com',
+                Work_Location__c = '娣卞湷'
+            );
+            insert myUser_test;
+        }
+        System.runAs(myUser_test) {
+            Product2 prod05 = new Product2(
+                Name = '3400PK:PK閽� 5mmx33cm',
+                ProductCode = 'Test01',
+                Asset_Model_No__c = '3400PK:PK閽� 5mmx33cm',
+                SFDA_Status__c = '鏈夊姽',
+                Dealer_special_Object__c = true,
+                SFDA_Approbation_No__c = 'Test001',
+                Packing_list_manual__c = 1,
+                SFDA_Expiration_Date__c = Date.today(),
+                Manual_Entry__c = false
+            );
+            Product2 prod06 = new Product2(
+                Name = 'Test02',
+                ProductCode = 'Test02',
+                Asset_Model_No__c = 'Test02',
+                SFDA_Status__c = '鏈夊姽',
+                Dealer_special_Object__c = true,
+                SFDA_Approbation_No__c = 'Test002',
+                Packing_list_manual__c = 12,
+                SFDA_Expiration_Date__c = Date.today(),
+                Category5__c = 'tset',
+                Manual_Entry__c = false
+            );
+            insert new List<Product2>{ prod05, prod06 };
+            Product2__c pro11 = new Product2__c(
+                Name = 'Pro001',
+                OT_CODE_Text__c = 'Test001',
+                Product2__c = prod05.Id,
+                Category3_text__c = '鍒嗙被3'
+            );
+            Product2__c pro22 = new Product2__c(Name = 'Pro002', OT_CODE_Text__c = 'Test002', Product2__c = prod06.Id);
+            insert new List<Product2__c>{ pro11, pro22 };
+            System.debug('pro11===>' + pro11);
+
+            List<Consumable_order__c> orderList = new List<Consumable_order__c>();
+            //鍙戣揣
+            Consumable_order__c Order4 = new Consumable_order__c();
+            Order4.Name = 'OCM_0122';
+            Order4.Order_status__c = '鎵瑰噯';
+            Order4.Order_type__c = '璁㈠崟';
+            Order4.Dealer_Info__c = myAccount1.Id;
+            Order4.RecordTypeid = '01210000000c9drAAA';
+            Order4.Order_ProType__c = 'ET';
+            Order4.ContractNo__c = '';
+            orderList.add(Order4);
+            insert orderList;
+
+            List<Consumable_order_details2__c> conList = new List<Consumable_order_details2__c>();
+            //orderDetZaiku init
+            Consumable_order_details2__c con1 = new Consumable_order_details2__c();
+            con1.Arrive_date__c = Date.today();
+            con1.Send_Date__c = null;
+            con1.Used_date__c = null;
+            con1.Return_date__c = null;
+            con1.Lose_Flag__c = false;
+            con1.Cancellation_Flag__c = false;
+            con1.Bar_Code__c = '1234';
+            // con1.Consumable_order_minor__c = Order2.Id;
+            con1.Consumable_Product__c = pro11.Id;
+            con1.Consumable_Arrived_order__c = Order4.Id;
+            con1.Recordtypeid = '01210000000kUDKAA2';
+            // con1.Sterilization_limit__c = Date.today().addDays(1);
+            conList.add(con1);
+
+            Consumable_order_details2__c con2 = new Consumable_order_details2__c();
+            con2.Arrive_date__c = Date.today();
+            con2.Send_Date__c = null;
+            con2.Used_date__c = null;
+            con2.Return_date__c = null;
+            con2.Lose_Flag__c = false;
+            con2.Cancellation_Flag__c = false;
+            con2.Bar_Code__c = '1234';
+            // con1.Consumable_order_minor__c = Order2.Id;
+            con2.Consumable_Product__c = pro11.Id;
+            con2.Consumable_Arrived_order__c = Order4.Id;
+            con2.Recordtypeid = '01210000000kUDKAA2';
+            con2.Box_Piece__c = '涓�';
+            // con1.Sterilization_limit__c = Date.today().addDays(1);
+            conList.add(con2);
+
+            insert conList;
+
+            LexInventoryViewController.ESetId = '1111';
+            LexInventoryViewController.idCheck = '2222';
+            List<String> orderDetZaikuListLWC = new List<String>();
+            LexInventoryViewController.init(1, 0, '', '');
+            orderDetZaikuListLWC = LexInventoryViewController.orderDetZaikuList;
+            LexInventoryViewController.categoryAllload('CDS', '鎹峰皵鍖荤枟(娴峰崡锛夋湁闄愬叕鍙�');
+            LexInventoryViewController.categoryload();
+            LexInventoryViewController.categoryAllload('鍏夋簮', '鎹峰皵鍖荤枟(娴峰崡锛夋湁闄愬叕鍙�');
+            LexInventoryViewController.categoryload();
+            Map<String, Date> productkucunLWC = LexInventoryViewController.productkucun;
+            LexInventoryViewController.searchConsumableorderdetails(
+                '3400PK:PK閽� 5mmx33cm',
+                '',
+                '',
+                '',
+                orderDetZaikuListLWC,
+                'testaccount001',
+                'ET',
+                '娣卞湷',
+                1,
+                0,
+                '',
+                '',
+                productkucunLWC
+            );
+        }
+    }
+}
diff --git a/force-app/main/default/classes/LexInventoryViewControllerTest.cls-meta.xml b/force-app/main/default/classes/LexInventoryViewControllerTest.cls-meta.xml
new file mode 100644
index 0000000..a9fd6e9
--- /dev/null
+++ b/force-app/main/default/classes/LexInventoryViewControllerTest.cls-meta.xml
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<ApexClass xmlns="http://soap.sforce.com/2006/04/metadata">
+    <apiVersion>57.0</apiVersion>
+    <status>Active</status>
+</ApexClass>
diff --git a/force-app/main/default/classes/LexOutboundorderImportController.cls b/force-app/main/default/classes/LexOutboundorderImportController.cls
index a1f00f6..a305d02 100644
--- a/force-app/main/default/classes/LexOutboundorderImportController.cls
+++ b/force-app/main/default/classes/LexOutboundorderImportController.cls
@@ -50,6 +50,7 @@
         res.status = 'Success';
         res.code = 200;
         res.msg = '';
+        System.debug('res:' + res);
         return res;
     }
 
@@ -102,7 +103,7 @@
                             barcodePieceMap.put(csvRecordData[6], Integer.valueOf(csvRecordData[7]));
                         }
                     }
-                    String[] csvRecordDataStr = new List<String>(13);
+                    String[] csvRecordDataStr = new String[13];
                     for (Integer j = 0; j < csvRecordData.size(); j++) {
                         csvRecordDataStr[j] = csvRecordData[j];
                     }
@@ -190,8 +191,8 @@
             data.put('saveFLGbln', saveFLGbln);
             data.put('csvRecordStr', csvRecordStr);
             data.put('barcodeList', barcodeList);
-            data.put('secondAgencyMap',secondAgencyMap);
-            data.put('hospitalSysMap',hospitalSysMap);
+            data.put('secondAgencyMap', secondAgencyMap);
+            data.put('hospitalSysMap', hospitalSysMap);
             res.status = 'Success';
             res.code = 200;
             res.msg = errorMsg;
@@ -587,7 +588,7 @@
         res.entity = data;
 
         csvRecordStr = csvRecordStrLwc;
-        orderRecords = (List<ConsumableorderdetailsInfo>)JSON.deserialize(orderRecordsLwc, List<ConsumableorderdetailsInfo>.class);
+        orderRecords = (List<ConsumableorderdetailsInfo>) JSON.deserialize(orderRecordsLwc, List<ConsumableorderdetailsInfo>.class);
         System.debug('orderRecords = ' + orderRecords);
         sqlagencyProType = sqlagencyProTypeLwc;
         userWorkLocation = userWorkLocationLwc;
@@ -753,9 +754,7 @@
                 string[] csvRecordData = csvRecordStr[i];
                 if (orderdetMap.containsKey(csvRecordData[0] + csvRecordData[12] + csvRecordData[9])) {
                     orderdetMap.put(
-                        csvRecordData[0] +
-                        csvRecordData[12] +
-                        csvRecordData[9],
+                        csvRecordData[0] + csvRecordData[12] + csvRecordData[9],
                         orderdetMap.get(csvRecordData[0] + csvRecordData[12] + csvRecordData[9]) + Decimal.valueOf(csvRecordData[7])
                     );
                     continue;
@@ -786,7 +785,7 @@
             // ApexPages.addMessages(e);
             // return null;
             errorMsg += e.getMessage() + ' ' + e.getLineNumber() + ';';
-            System.debug('orderdetRecords = null '  + e.getLineNumber());
+            System.debug('orderdetRecords = null ' + e.getLineNumber());
             return null;
         }
     }
@@ -864,7 +863,7 @@
             return null;
         }
     }
-
+    @TestVisible
     class ConsumableorderdetailsInfo implements Comparable {
         @AuraEnabled
         public Consumable_order__c order { get; set; }
@@ -916,4 +915,4 @@
             return null;
         }
     }
-}
\ No newline at end of file
+}
diff --git a/force-app/main/default/classes/LexOverdueStockController.cls b/force-app/main/default/classes/LexOverdueStockController.cls
index adbaaa7..f795ba1 100644
--- a/force-app/main/default/classes/LexOverdueStockController.cls
+++ b/force-app/main/default/classes/LexOverdueStockController.cls
@@ -1,5 +1,4 @@
 public with sharing class LexOverdueStockController {
-
     /*****************妞滅储鐢�******************/
     public static String barcode { get; set; }
 
@@ -17,19 +16,18 @@
     // 缁忛攢鍟嗕俊鎭�
     private static Account accountInfo;
 
-     //鍒ゆ柇鎿嶄綔浜哄憳鏄惁閿�瀛�
+    //鍒ゆ柇鎿嶄綔浜哄憳鏄惁閿�瀛�
     public static Boolean iSinventory = false;
 
     public static List<Consumable_order_details2__c> overdueList = new List<Consumable_order_details2__c>();
 
-    public static Integer pageRecordsSize  {
+    public static Integer pageRecordsSize {
         get {
             return codPageRecords == null ? 0 : codPageRecords.size();
         }
     }
 
     public LexOverdueStockController() {
-
     }
 
     // 鐢婚潰鍒濆鍖�
@@ -42,103 +40,118 @@
         codPageRecords = new List<orderBean>();
         overduePageRecords = new List<orderBean>();
         // 鑾峰彇鐢ㄦ埛鍜岀粡閿�鍟嗕俊鎭�
-        user Useracc = [select Accountid, Work_Location__c,UserPro_Type__c from user where id =: UserInfo.getUserId()];
+        user Useracc = [SELECT Accountid, Work_Location__c, UserPro_Type__c FROM user WHERE id = :UserInfo.getUserId()];
         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 + '%';
-        accountInfo = [SELECT id,Name,Dealer_discount__c FROM account WHERE id =:Useracc.accountid];
+        accountInfo = [SELECT id, Name, Dealer_discount__c FROM account WHERE id = :Useracc.accountid];
         // 杩囨湡搴撳瓨姹囨�讳俊鎭�
-        List<AggregateResult>  orderDetZaiku = [SELECT count(Id) countsum,
-                        Consumable_Product__c prodid,
-                        Consumable_Product__r.Name_Text__c prodname,
-                        Box_Piece__c boxPiece
-                        FROM Consumable_order_details2__c
-                        WHERE Dealer_Arrive__c = true
-                        AND Dealer_Shipment__c = false
-                        AND Dealer_Saled__c = false
-                        AND Lose_Flag__c = false
-                        AND Isoverdue__c = 0
-                        AND Dealer_Returned__c = false
-                        AND Cancellation_Flag__c = false
-                        AND Bar_Code__c !=null
-                        AND Product_Type__c like : sqlagencyProType
-                        AND Dealer_Info_text__c = :accountInfo.Name
-                        AND Arrive_Owner_Work_Location__c = :userWorkLocation
-                        group by Consumable_Product__c,Box_Piece__c,Consumable_Product__r.Name_Text__c];
+        List<AggregateResult> orderDetZaiku = [
+            SELECT count(Id) countsum, Consumable_Product__c prodid, Consumable_Product__r.Name_Text__c prodname, Box_Piece__c boxPiece
+            FROM Consumable_order_details2__c
+            WHERE
+                Dealer_Arrive__c = TRUE
+                AND Dealer_Shipment__c = FALSE
+                AND Dealer_Saled__c = FALSE
+                AND Lose_Flag__c = FALSE
+                AND Isoverdue__c = 0
+                AND Dealer_Returned__c = FALSE
+                AND Cancellation_Flag__c = FALSE
+                AND Bar_Code__c != NULL
+                AND Product_Type__c LIKE :sqlagencyProType
+                AND Dealer_Info_text__c = :accountInfo.Name
+                AND Arrive_Owner_Work_Location__c = :userWorkLocation
+            GROUP BY Consumable_Product__c, Box_Piece__c, Consumable_Product__r.Name_Text__c
+        ];
 
-        for(AggregateResult overdue : orderDetZaiku){
+        for (AggregateResult overdue : orderDetZaiku) {
             codPageRecords.add(new orderBean(overdue));
         }
 
-        system.debug('codPageRecords====>'+codPageRecords);
-        data.put('codPageRecords',JSON.serialize(codPageRecords));
-        data.put('userWorkLocation',userWorkLocation);
-        data.put('accountName',accountInfo.Name);
-        data.put('agencyProType',agencyProType);
-        data.put('orderDetZaiku',JSON.serialize(orderDetZaiku));
+        system.debug('codPageRecords====>' + codPageRecords);
+        data.put('codPageRecords', JSON.serialize(codPageRecords));
+        data.put('userWorkLocation', userWorkLocation);
+        data.put('accountName', accountInfo.Name);
+        data.put('agencyProType', agencyProType);
+        data.put('orderDetZaiku', JSON.serialize(orderDetZaiku));
         res.status = 'Success';
         res.code = 200;
         System.debug('res = ' + res);
         return res;
-
     }
 
     // BarCode褰曞叆
     @AuraEnabled
-    public static ResponseBodyLWC searchorderBean(String agencyProTypeLWC,String userWorkLocationLWC,String accountNameLWC,String barcodeLWC,String codPageRecordsLWC){
+    public static ResponseBodyLWC searchorderBean(
+        String agencyProTypeLWC,
+        String userWorkLocationLWC,
+        String accountNameLWC,
+        String barcodeLWC,
+        String codPageRecordsLWC
+    ) {
         ResponseBodyLWC res = new ResponseBodyLWC();
         Map<String, object> data = new Map<String, object>();
         res.entity = data;
-        List<orderBean> codPageRecords = (List<orderBean>)JSON.deserialize(codPageRecordsLWC,List<orderBean>.class);
+        List<orderBean> codPageRecords = (List<orderBean>) JSON.deserialize(codPageRecordsLWC, List<orderBean>.class);
         sqlagencyProType = '%' + agencyProTypeLWC + '%';
-        system.debug('sqlagencyProType==>'+ sqlagencyProType);
+        system.debug('sqlagencyProType==>' + sqlagencyProType);
         barcode = barcodeLWC;
-        system.debug('barcode==>'+ barcode);
+        system.debug('barcode==>' + barcode);
         userWorkLocation = userWorkLocationLWC;
         // add by Wang Xueqin 2023/04/12
         // 鑾峰彇鐢ㄦ埛鍜岀粡閿�鍟嗕俊鎭�
-        user Useracc = [select Accountid, Work_Location__c,UserPro_Type__c from user where id =: UserInfo.getUserId()];
-        accountInfo = [SELECT id,Name,Dealer_discount__c FROM account WHERE id =:Useracc.accountid];
-  
-       
+        user Useracc = [SELECT Accountid, Work_Location__c, UserPro_Type__c FROM user WHERE id = :UserInfo.getUserId()];
+        accountInfo = [SELECT id, Name, Dealer_discount__c FROM account WHERE id = :Useracc.accountid];
+
         iSinventory = true;
         Set<String> barCodeoverdue = new Set<String>();
         overduePageRecords = new List<orderBean>();
-        List<String> barCodeListP = ParseBarCode( barcode );
+        List<String> barCodeListP = ParseBarCode(barcode);
         // 椤甸潰鏄剧ず鏁版嵁鍒濆鍖�
         for (orderBean codPage : codPageRecords) {
             codPage.pandian = 0;
         }
         // 鏌ヨ鎵�鏈夎繃鏈熷簱瀛�
-        List<Consumable_order_details2__c>  orderDetZaiku = [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,Sterilization_limit__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 Lose_Flag__c = false
-                        AND Isoverdue__c = 0
-                        AND Dealer_Returned__c = false
-                        AND Cancellation_Flag__c = false
-                        AND Bar_Code__c !=null
-                        AND Product_Type__c like : sqlagencyProType
-                        AND Dealer_Info_text__c = :accountInfo.Name
-                        AND Arrive_Owner_Work_Location__c = :userWorkLocation];
+        List<Consumable_order_details2__c> orderDetZaiku = [
+            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,
+                Sterilization_limit__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 Lose_Flag__c = FALSE
+                AND Isoverdue__c = 0
+                AND Dealer_Returned__c = FALSE
+                AND Cancellation_Flag__c = FALSE
+                AND Bar_Code__c != NULL
+                AND Product_Type__c LIKE :sqlagencyProType
+                AND Dealer_Info_text__c = :accountInfo.Name
+                AND Arrive_Owner_Work_Location__c = :userWorkLocation
+        ];
         // 娌℃湁杈撳叆鏉$爜鏃讹紝寰幆椤甸潰锛屾墍鏈夋墦閽╀骇鍝佸叏閮ㄩ攢瀛�
         // 鍙栧緱鎵�鏈�
         overdueList = new List<Consumable_order_details2__c>();
         if (String.isBlank(barcode)) {
             System.debug('barcode绌�');
-            for(orderBean codPage : codPageRecords){
+            for (orderBean codPage : codPageRecords) {
                 if (codPage.check) {
-                    for(Consumable_order_details2__c cod2 : orderDetZaiku){
-                        if(cod2.Consumable_Product__c == codPage.prodid && codPage.boxPiece == cod2.Box_Piece__c){
-                            overduePageRecords.add(new orderBean(cod2,'杩囨湡搴撳瓨閿�瀛�'));
+                    for (Consumable_order_details2__c cod2 : orderDetZaiku) {
+                        if (cod2.Consumable_Product__c == codPage.prodid && codPage.boxPiece == cod2.Box_Piece__c) {
+                            overduePageRecords.add(new orderBean(cod2, '杩囨湡搴撳瓨閿�瀛�'));
                             overdueList.add(cod2);
                         }
                     }
@@ -147,162 +160,175 @@
             }
             // return;
             System.debug('overduePageRecords = ' + overduePageRecords);
-        data.put('overduePageRecords',JSON.serialize(overduePageRecords));
-        data.put('codPageRecords',JSON.serialize(codPageRecords));
-        data.put('iSinventory',iSinventory);
-        data.put('overdueList',overdueList);
-        res.status = 'Success';
-        res.code = 200;
-        // res.msg = '璇疯緭鍏arCode鍙�';
-        System.debug('res = ' + res);
-        return res;
+            System.debug('overdueList = ' + overdueList);
+            data.put('overduePageRecords', JSON.serialize(overduePageRecords));
+            data.put('codPageRecords', JSON.serialize(codPageRecords));
+            data.put('iSinventory', iSinventory);
+            data.put('overdueList', overdueList);
+            res.status = 'Success1';
+            res.code = 200;
+            // res.msg = '璇疯緭鍏arCode鍙�';
+            System.debug('res = ' + res);
+            return res;
         }
 
         // 杈撳叆barcode鏃�
 
         // BarCode鐨勬绱�  鎵�鏈夊湪搴�
-        List<Consumable_order_details2__c> reSet = [select Id,Consumable_Product__c,
-                        Consumable_Product__r.Name__c,Box_Piece__c,Bar_Code_search__c,
-                        Dealer_Shipment__c,Dealer_Saled__c,Lose_Flag__c,Bar_Code__c,
-                        Cancellation_Flag__c,Isoverdue__c,Sterilization_limit__c
-                    from Consumable_order_details2__c
-                    where Bar_Code_search__c in :BarCodeListP
-                    AND Dealer_Arrive__c = true
-                    AND Cancellation_Flag__c = false
-                    and Dealer_Returned__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 = :accountInfo.Name
-                    order by Name];
-                
-                    System.debug('reSet===>'+reSet);
+        List<Consumable_order_details2__c> reSet = [
+            SELECT
+                Id,
+                Consumable_Product__c,
+                Consumable_Product__r.Name__c,
+                Box_Piece__c,
+                Bar_Code_search__c,
+                Dealer_Shipment__c,
+                Dealer_Saled__c,
+                Lose_Flag__c,
+                Bar_Code__c,
+                Cancellation_Flag__c,
+                Isoverdue__c,
+                Sterilization_limit__c
+            FROM Consumable_order_details2__c
+            WHERE
+                Bar_Code_search__c IN :BarCodeListP
+                AND Dealer_Arrive__c = TRUE
+                AND Cancellation_Flag__c = FALSE
+                AND Dealer_Returned__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 = :accountInfo.Name
+            ORDER BY Name
+        ];
 
+        System.debug('reSet===>' + reSet);
 
-        for(Consumable_order_details2__c cod2 : reSet){
-            if ((cod2.Dealer_Shipment__c == false &&  cod2.Dealer_Saled__c == false
-                && cod2.Lose_Flag__c == false && cod2.Cancellation_Flag__c == false) &&  cod2.Isoverdue__c == 0) {
+        for (Consumable_order_details2__c cod2 : reSet) {
+            if (
+                (cod2.Dealer_Shipment__c == false &&
+                cod2.Dealer_Saled__c == false &&
+                cod2.Lose_Flag__c == false &&
+                cod2.Cancellation_Flag__c == false) && cod2.Isoverdue__c == 0
+            ) {
                 for (orderBean codPage : codPageRecords) {
-                    if(cod2.Consumable_Product__c == codPage.prodid && cod2.Box_Piece__c == codPage.boxPiece){
-                        overduePageRecords.add(new orderBean(cod2,'杩囨湡搴撳瓨閿�瀛�'));
+                    if (cod2.Consumable_Product__c == codPage.prodid && cod2.Box_Piece__c == codPage.boxPiece) {
+                        overduePageRecords.add(new orderBean(cod2, '杩囨湡搴撳瓨閿�瀛�'));
                         overdueList.add(cod2);
-                        codPage.pandian ++;
+                        codPage.pandian++;
                         codPage.check = true;
                     }
                 }
-            }else if (cod2.Dealer_Shipment__c ||  cod2.Dealer_Saled__c) {
-                overduePageRecords.add(new orderBean(cod2,'浜у搧宸茬粡鍑哄簱'));
-            }else{
-                overduePageRecords.add(new orderBean(cod2,'涓嶆槸杩囨湡搴撳瓨'));
+            } else if (cod2.Dealer_Shipment__c || cod2.Dealer_Saled__c) {
+                overduePageRecords.add(new orderBean(cod2, '浜у搧宸茬粡鍑哄簱'));
+            } else {
+                overduePageRecords.add(new orderBean(cod2, '涓嶆槸杩囨湡搴撳瓨'));
             }
         }
         System.debug('overduePageRecords = ' + overduePageRecords);
-        data.put('overduePageRecords',JSON.serialize(overduePageRecords));
-        data.put('codPageRecords',JSON.serialize(codPageRecords));
-        data.put('iSinventory',iSinventory);
-        data.put('overdueList',overdueList);
+        data.put('overduePageRecords', JSON.serialize(overduePageRecords));
+        data.put('codPageRecords', JSON.serialize(codPageRecords));
+        data.put('iSinventory', iSinventory);
+        data.put('overdueList', overdueList);
         res.status = 'Success';
         res.code = 200;
         System.debug('res = ' + res);
         return res;
     }
 
-
     // 淇濆瓨鎸夐挳
     @AuraEnabled
-    public static ResponseBodyLWC save(Boolean iSinventory,string saveCodPageRecords,List<Consumable_order_details2__c> saveoverdueList) {
+    public static ResponseBodyLWC save(Boolean iSinventory, string saveCodPageRecords, List<Consumable_order_details2__c> saveoverdueList) {
         ResponseBodyLWC res = new ResponseBodyLWC();
         Map<String, object> data = new Map<String, object>();
         res.entity = data;
-        system.debug('saveCodPageRecords=============>'+saveCodPageRecords);
-        system.debug('saveoverdueList'+saveoverdueList);
-        overdueList =  saveoverdueList;
+        system.debug('saveCodPageRecords=============>' + saveCodPageRecords);
+        system.debug('saveoverdueList' + saveoverdueList);
+        overdueList = saveoverdueList;
         // if(saveoverdueList==null){
         //     return new ResponseBodyLWC('Error',500, '璇烽�夋嫨瑕侀攢瀛樼殑鏄庣粏', '');
 
         // }
 
-        List<orderBean> codPageRecords = (List<orderBean>)JSON.deserialize(saveCodPageRecords,List<orderBean>.class);
+        List<orderBean> codPageRecords = (List<orderBean>) JSON.deserialize(saveCodPageRecords, List<orderBean>.class);
         // List<Consumable_order_details2__c> overdueList = (List<Consumable_order_details2__c>)JSON.deserialize(saveoverdueList,List<Consumable_order_details2__c>.class);
-         // add by Wang Xueqin 2023/04/12
+        // add by Wang Xueqin 2023/04/12
         // 鑾峰彇鐢ㄦ埛鍜岀粡閿�鍟嗕俊鎭�
-        user Useracc = [select Accountid, Work_Location__c,UserPro_Type__c from user where id =: UserInfo.getUserId()];
-        accountInfo = [SELECT id,Name,Dealer_discount__c FROM account WHERE id =:Useracc.accountid];
+        user Useracc = [SELECT Accountid, Work_Location__c, UserPro_Type__c FROM user WHERE id = :UserInfo.getUserId()];
+        accountInfo = [SELECT id, Name, Dealer_discount__c FROM account WHERE id = :Useracc.accountid];
 
         // 璺宠繃鏄庣粏2涓嶅繀瑕佹洿鏂�
         StaticParameter.EscapeConsumableOrderDetail2Trigger = true;
-        if(!iSinventory){
+        if (!iSinventory) {
             // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'璇峰厛鐐广�怋arCode褰曞叆銆�'));
-            return new ResponseBodyLWC('Error',500, '璇峰厛褰曞叆BarCode', '');
+            return new ResponseBodyLWC('Error', 500, '璇峰厛褰曞叆BarCode', '');
             // return null;
         }
         integer Lo = 0;
-        for(orderBean header : codPageRecords){
-            if(header.check==true){
+        for (orderBean header : codPageRecords) {
+            if (header.check == true) {
                 Lo++;
             }
         }
-        if(Lo == 0){
+        if (Lo == 0) {
             iSinventory = false;
             // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'璇烽�夋嫨瑕侀攢瀛樼殑鏄庣粏銆�'));
-            return new ResponseBodyLWC('Error',500, '璇烽�夋嫨瑕侀攢瀛樼殑鏄庣粏', '');
+            return new ResponseBodyLWC('Error', 500, '璇烽�夋嫨瑕侀攢瀛樼殑鏄庣粏', '');
             // return null;
         }
         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 = accountInfo.Id;
         po.Order_ProType__c = agencyProType;
         po.RecordTypeid = System.Label.RT_ConOrder_Overdue;
-        try{
-            insert  po;
-            Consumable_order__c order = [SELECT Name FROM Consumable_order__c WHERE id =:po.id];
-            List<Consumable_orderdetails__c> InsList = New List<Consumable_orderdetails__c>();
-            for(orderBean header : codPageRecords){
-                if(header.check==true){
+        try {
+            insert po;
+            Consumable_order__c order = [SELECT Name FROM Consumable_order__c WHERE id = :po.id];
+            List<Consumable_orderdetails__c> InsList = new List<Consumable_orderdetails__c>();
+            for (orderBean header : codPageRecords) {
+                if (header.check == true) {
                     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 = order.Name + '-'+ str;
+                    insPan.Name = order.Name + '-' + str;
                     insPan.Consumable_Product__c = header.prodId;
                     insPan.Consumable_order__c = po.Id;
                     insPan.Lose_reason__c = '杩囨湡搴撳瓨閿�瀛�';
                     insPan.Overdue_count__c = header.pandian;
                     insPan.Overdue_SUM__c = header.overlimitCount;
                     insPan.RecordTypeId = System.Label.RT_ConOrderDetail1_Inventory;
-                    orderDetNo ++;
+                    orderDetNo++;
                     InsList.add(insPan);
                 }
             }
             // 鐢熸垚鏄庣粏1
-            if(InsList.size()>0){
+            if (InsList.size() > 0) {
                 insert InsList;
             }
 
-            for(Consumable_order_details2__c cod : overdueList){
+            for (Consumable_order_details2__c cod : overdueList) {
                 cod.Consumable_Inventory_order__c = po.Id;
                 cod.Inventory_date__c = Date.today();
                 cod.Lose_reason__c = '杩囨湡搴撳瓨閿�瀛�';
                 cod.Lose_Flag__c = true;
-
             }
-            if(overdueList.size()>0){
+            if (overdueList.size() > 0) {
                 ControllerUtil.updateOrderDetailsSatus(overdueList);
             }
-
-        }catch (Exception ex) {
+        } catch (Exception ex) {
             Database.rollback(sp);
             ApexPages.addMessages(ex);
             return null;
         }
         // return new Pagereference('/' + po.Id);
-        data.put('Id',po.Id);
+        data.put('Id', po.Id);
         res.status = 'Success';
         res.code = 200;
         System.debug('res = ' + res);
@@ -310,24 +336,25 @@
     }
 
     // 灏嗛〉闈㈡垨鍙栧緱BarCode鍘绘帀閲嶅鐨勶紝杞崲鎴怢ist
-    public static List<String> ParseBarCode(String Code){
-        Map<String,Integer> barcodeCountMap = new Map<String,Integer>();
-        String[] Cache = new String[]{};
+    public static List<String> ParseBarCode(String Code) {
+        Map<String, Integer> barcodeCountMap = new Map<String, Integer>();
+        String[] Cache = new List<String>{};
         Cache = Code.split('\n');
-        List <String> Buff = new List<String>();
-        for(String A : Cache){
+        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;
     }
 
-     // Data Bean
+    // Data Bean
+    @TestVisible
     class orderBean implements Comparable {
         @AuraEnabled
         public Consumable_order_details2__c orderdetails2 { get; set; }
@@ -335,7 +362,7 @@
         public Product2__c Prod { get; set; }
         @AuraEnabled
         public Boolean check { get; set; }
-        
+
         // 杩囨湡搴撳瓨
         @AuraEnabled
         public Integer overlimitCount { get; set; }
@@ -352,7 +379,7 @@
         public String prodname { get; set; }
         @AuraEnabled
         public String prodid { get; set; }
-        orderBean(Consumable_order_details2__c e,string str) {
+        orderBean(Consumable_order_details2__c e, string str) {
             orderdetails2 = e;
             Prod = e.Consumable_Product__r;
             DiffReason = str;
@@ -367,14 +394,14 @@
         }
         // 鎺掑簭
         public Integer compareTo(Object compareTo) {
-            orderBean compareToesd =(orderBean)compareTo;
+            orderBean compareToesd = (orderBean) compareTo;
             Integer returnValue = 0;
-            if (overlimitCount  > compareToesd.overlimitCount ) {
+            if (overlimitCount > compareToesd.overlimitCount) {
                 returnValue = -1;
-            } else if (overlimitCount  < compareToesd.overlimitCount ) {
+            } else if (overlimitCount < compareToesd.overlimitCount) {
                 returnValue = 1;
             }
             return returnValue;
         }
     }
-}
\ No newline at end of file
+}
diff --git a/force-app/main/default/classes/LexSaleOrderController.cls b/force-app/main/default/classes/LexSaleOrderController.cls
index d967cc7..23b9d5a 100644
--- a/force-app/main/default/classes/LexSaleOrderController.cls
+++ b/force-app/main/default/classes/LexSaleOrderController.cls
@@ -201,6 +201,7 @@
 
         //BarCodelist鍋氭垚
         barCodeListP = ParseBarCode(barcode);
+        System.debug('barCodeListP:' + barCodeListP);
         //閽堝鎵�鏈夊晢鍝佸埌璐х‘璁�
         reSet1 = [
             SELECT
@@ -235,6 +236,7 @@
                 AND Arrive_Owner_Work_Location__c = :userWorkLocation
             ORDER BY RemoveBox_No__c DESC
         ];
+        System.debug('reSet1:' + reSet1);
         List<Consumable_order_details2__c> newdet2 = new List<Consumable_order_details2__c>();
         Set<Id> proIds = new Set<Id>();
 
@@ -242,6 +244,7 @@
             Integer idx = 0;
             for (Consumable_order_details2__c cod2 : reSet1) {
                 if (cod2.Bar_Code__c == barcode) {
+                    System.debug('cod2.Bar_Code__c:' + cod2.Bar_Code__c);
                     newdet2.add(cod2);
                     reSet1.remove(idx);
                     proIds.add(cod2.Consumable_product__c);
@@ -678,13 +681,13 @@
                         if (n.find()) {
                             if (newdet2[j].TracingCode__c.length() == 5) {
                                 String tr = newdet2[j].TracingCode__c;
-                                String Ctr = tr.substring(tr.length() - 3,tr.length());
-                                String Btr = tr.substring(tr.length() - 4,tr.length()-3);
-                                String Atr = tr.substring(tr.length() - 5,tr.length()-4);
+                                String Ctr = tr.substring(tr.length() - 3, tr.length());
+                                String Btr = tr.substring(tr.length() - 4, tr.length() - 3);
+                                String Atr = tr.substring(tr.length() - 5, tr.length() - 4);
                                 if (Pattern.compile('[0-9]').matcher(Atr).find() || Pattern.compile('[0-9]').matcher(Ctr).find()) {
                                     String str = '绠$悊缂栫爜鏈夎锛岃妫�鏌ユ潯褰㈢爜鏁版嵁銆�';
-                                    consumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(newdet2[j],str));
-                                    errorIdMap.put(newdet2[j].Bar_Code__c,newdet2[j].Bar_Code__c);
+                                    consumableorderdetailsRecordserror.add(new ConsumableorderdetailsInfo(newdet2[j], str));
+                                    errorIdMap.put(newdet2[j].Bar_Code__c, newdet2[j].Bar_Code__c);
                                     continue;
                                 }
                             }
@@ -1076,11 +1079,16 @@
         for (ConsumableorderdetailsInfo ass : consumableorderdetailsRecords) {
             String key = '' + ass.orderdetails2.Bar_Code__c;
             Integer deliverycnt = BarcodeCntMap.get(key);
-            if (ass.orderdetails2.Box_Piece__c == '涓�' &&(ass.outboundCount == null || String.valueof(ass.outboundCount) == '' || ass.outboundCount <= 0)) {
+            if (
+                ass.orderdetails2.Box_Piece__c == '涓�' &&
+                (ass.outboundCount == null ||
+                String.valueof(ass.outboundCount) == '' ||
+                ass.outboundCount <= 0)
+            ) {
                 // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR, '璇疯緭鍏ヤ骇鍝� '+ ass.Prod.Name +' 鐨勫嚭璐ф暟閲�'));
                 // return null;
-                System.debug('ass.orderdetails2.Box_Piece__c = '  + ass.orderdetails2.Box_Piece__c);
-                System.debug('ass.outboundCount = '  + ass.outboundCount);
+                System.debug('ass.orderdetails2.Box_Piece__c = ' + ass.orderdetails2.Box_Piece__c);
+                System.debug('ass.outboundCount = ' + ass.outboundCount);
                 return new ResponseBodyLWC('Error', 500, '璇疯緭鍏ヤ骇鍝� ' + ass.Prod.Name + ' 鐨勫嚭璐ф暟閲�', '');
             }
             if (ass.outboundCount > deliverycnt) {
@@ -1265,6 +1273,7 @@
         return consumableorderdetails2Nobox.size();
     }
 
+    @TestVisible
     class ConsumableorderdetailsInfo implements Comparable {
         @AuraEnabled
         public Consumable_orderdetails__c orderdetails1 { get; set; }
@@ -1307,4 +1316,4 @@
             return null;
         }
     }
-}
\ No newline at end of file
+}
diff --git a/force-app/main/default/classes/NewRepairController.cls b/force-app/main/default/classes/NewRepairController.cls
index 0e54e90..77ce6a1 100644
--- a/force-app/main/default/classes/NewRepairController.cls
+++ b/force-app/main/default/classes/NewRepairController.cls
@@ -1,63 +1,79 @@
 /*
- *@Description: 
- *@Author: Dennis Rodman 
+ *@Description:
+ *@Author: Dennis Rodman
  *@Date: 2022-03-10 10:26:47
-*/
+ */
 global without sharing class NewRepairController {
-    public String layoutSectionsStr {get; set;}//for dynamic add readonly attribute
-    public List <LayoutDescriberHelper.LayoutSection > layoutSections{set;get;}
-    public String awsToken{set;get;}
+    public String layoutSectionsStr { get; set; } //for dynamic add readonly attribute
+    public List<LayoutDescriberHelper.LayoutSection> layoutSections { get; set; }
+    public String awsToken { get; set; }
     public static Map<String, Schema.SObjectType> schemaMap = Schema.getGlobalDescribe();
     public static String sobjectTypeValue = 'Repair__c';
-    public Boolean isNewMode{set;get;}
-    public String rtTypeId {get; set;}
-    public String AWSDataId{set;get;}
-    public String DecryptAWSDataId{set;get;}
-    public String ContactAWSDataId{set;get;}
-    public List<String> encryptedAPIList{set;get;}
-    public String staticResource {get; set;}
-    public String staticResourceContact {get; set;}
-    public String staticResourceAddress {get; set;}
-    public String requiredFieldAPIListStr {get; set;}
-    public String fieldAPIToLabelMapStr {get; set;}
-    public String Input_Required_Field_Msg{set;get;}
-    public String PIPL_Name_Label{set;get;}
-    public String PIPL_Input_Account_Error_Msg{set;get;}
-    public String sobjectPrefix{set;get;}
-    public String sobjecttypeForFrontEnd{set;get;}
-    public String sobjectId{set;get;}
-    public String workLocationSelect{set;get;}
-    public String RepairSubOrderAWSDataId{set;get;}
-    public String staticResourceRepairSubOrder{set;get;}
-    public String VLookUpFieldsJson{get;private set;}
+    public Boolean isNewMode { get; set; }
+    public String rtTypeId { get; set; }
+    public String AWSDataId { get; set; }
+    public String DecryptAWSDataId { get; set; }
+    public String ContactAWSDataId { get; set; }
+    public List<String> encryptedAPIList { get; set; }
+    public String staticResource { get; set; }
+    public String staticResourceContact { get; set; }
+    public String staticResourceAddress { get; set; }
+    public String requiredFieldAPIListStr { get; set; }
+    public String fieldAPIToLabelMapStr { get; set; }
+    public String Input_Required_Field_Msg { get; set; }
+    public String PIPL_Name_Label { get; set; }
+    public String PIPL_Input_Account_Error_Msg { get; set; }
+    public String sobjectPrefix { get; set; }
+    public String sobjecttypeForFrontEnd { get; set; }
+    public String sobjectId { get; set; }
+    public String workLocationSelect { get; set; }
+    public String RepairSubOrderAWSDataId { get; set; }
+    public String staticResourceRepairSubOrder { get; set; }
+    public String VLookUpFieldsJson { get; private set; }
     //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 start
-    public String staticResourceV2 {get; set;}
+    public String staticResourceV2 { get; set; }
     //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 end
     public NewRepairController(ApexPages.StandardController controller) {
-        sobjectId = [SELECT CustomObjectId,CustomObjectName  FROM CustomObjectUserLicenseMetrics   where CustomObjectName ='Repair' limit 1].CustomObjectId;
+        //sobjectId = [SELECT CustomObjectId,CustomObjectName  FROM CustomObjectUserLicenseMetrics   where CustomObjectName ='Repair' limit 1].CustomObjectId;
+        sobjectId = [SELECT id, QualifiedApiName, DurableId, IsCustomizable FROM EntityDefinition WHERE QualifiedApiName = 'Repair__c']
+        .DurableId;
         isNewMode = true;
         Input_Required_Field_Msg = Label.Input_Required_Field_Msg;
         PIPL_Name_Label = Label.PIPL_Name_Label;
         PIPL_Input_Account_Error_Msg = label.PIPL_Input_Account_Error_Msg;
         sobjecttypeForFrontEnd = sobjectTypeValue;
         //鑾峰彇鎵�鏈夊瓧娈�
-        List<String> fieldList = new List<String>(Schema.getGlobalDescribe().get('Repair__c').getDescribe().fields.getMap().keyset());  
+        List<String> fieldList = new List<String>(Schema.getGlobalDescribe().get('Repair__c').getDescribe().fields.getMap().keyset());
         // Add fields to controller. This is to avoid the SOQL error in visualforce page
-        if(!Test.isRunningTest()){
-           controller.addFields(fieldList);  
+        if (!Test.isRunningTest()) {
+            controller.addFields(fieldList);
         }
-        SObject obj = controller.getRecord();        
-        if(obj.Id != null){
+        SObject obj = controller.getRecord();
+        if (obj.Id != null) {
             //鏇存柊
             isNewMode = false;
-            Repair__c repairData = [select Id,RecordTypeId,AWS_Data_Id__c,Address_AWS_Data_Id__c,Contact_AWS_Data_Id__c,Address_Contacts_Encrypt__c,Address_Contacts_Name_Encrypt__c,Address_Telephone_Encrypt__c,Address_ZipCode_Encrypt__c,Detailed_Address_Encrypt__c from Repair__c where id =: obj.Id];
+            Repair__c repairData = [
+                SELECT
+                    Id,
+                    RecordTypeId,
+                    AWS_Data_Id__c,
+                    Address_AWS_Data_Id__c,
+                    Contact_AWS_Data_Id__c,
+                    Address_Contacts_Encrypt__c,
+                    Address_Contacts_Name_Encrypt__c,
+                    Address_Telephone_Encrypt__c,
+                    Address_ZipCode_Encrypt__c,
+                    Detailed_Address_Encrypt__c
+                FROM Repair__c
+                WHERE id = :obj.Id
+            ];
             rtTypeId = repairData.RecordTypeId;
             AWSDataId = repairData.AWS_Data_Id__c;
             DecryptAWSDataId = String.valueOf(repairData.Address_AWS_Data_Id__c);
             ContactAWSDataId = String.valueOf(repairData.Contact_AWS_Data_Id__c);
-        }else{
+        } else {
             //鏂板缓
-            
+
             // //淇悊鍝佽繑閫佸湴
             // if(mso.containsKey('00N10000006P6SM')){
             //     controller.getRecord().put('SalesOfficeCode_selection__c',mso.get('00N10000006P6SM'));
@@ -81,7 +97,7 @@
             //     String o = mso.get('00N10000008rsVQ');
             //     controller.getRecord().put('DateReceiptQuestions__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-')));
             // }
-            
+
             // //鏄惁鏈夋浜°�佷激瀹炽�佹劅鏌�00N10000008rsW7
             // if(mso.containsKey('00N10000008rsW7')){
             //     controller.getRecord().put('ifDeadHurt__c',mso.get('00N10000008rsW7'));
@@ -157,9 +173,7 @@
             // if(mso.containsKey('00N10000006P1dw')){
             //     controller.getRecord().put('PaperRepairRequestNo__c',mso.get('00N10000006P1dw'));
             // }
-            
-            
-            
+
             // //甯傚満澶氬勾淇濅慨 鏈夊伩/鏃犲伩淇悊00N10000008rG4p
             // if(mso.containsKey('00N10000008rG4p')){
             //     controller.getRecord().put('RepairCostType__c',mso.get('00N10000008rG4p'));
@@ -183,7 +197,7 @@
             // if(mso.containsKey(RepairApplicant)){
             //     controller.getRecord().put('RepairApplicant__c',mso.get(RepairApplicant));
             // }
-            // //鎶ヤ慨浜哄尰闄�00N1m0000054ufU     
+            // //鎶ヤ慨浜哄尰闄�00N1m0000054ufU
             // String RepairApplicantHospital = isTest==true?'00N1m0000054ufU':'00N10000009H1rP';
             // if(mso.containsKey(RepairApplicantHospital)){
             //     controller.getRecord().put('RepairApplicantHospital__c',mso.get(RepairApplicantHospital));
@@ -197,11 +211,11 @@
             // String RepairSubOrder = isTest==true?'CF00N1m0000054ufZ_lkid':'CF00N10000009H1rR_lkid';
             // if(mso.containsKey(RepairSubOrder)){
             //     controller.getRecord().put('RepairSubOrder__c',mso.get(RepairSubOrder));
-                // //鏌ヨAWSDataId
-                // List<RepairSubOrder__c> rso = [select AWS_Data_Id__c from RepairSubOrder__c where Id=:mso.get(RepairSubOrder)];
-                // if(rso.size() > 0){
-                //     RepairSubOrderAWSDataId = rso[0].AWS_Data_Id__c;
-                // }
+            // //鏌ヨAWSDataId
+            // List<RepairSubOrder__c> rso = [select AWS_Data_Id__c from RepairSubOrder__c where Id=:mso.get(RepairSubOrder)];
+            // if(rso.size() > 0){
+            //     RepairSubOrderAWSDataId = rso[0].AWS_Data_Id__c;
+            // }
             // }
             // //鎶ヤ慨鍙戣捣鏃�
             // String RepairTime = isTest==true?'00N1m0000054ufa':'00N10000009H1rS';
@@ -251,7 +265,7 @@
             //     String o = mso.get(SubOrderCreatedDate);
             //     controller.getRecord().put('SubOrderCreatedDate__c',(String.isBlank(o)||String.isEmpty(o))? null:Date.valueOf(o.replace('/', '-')));
             // }
-           
+
             // //閫佷慨鐗╂祦鏂瑰紡00N1m0000054ufE
             // if(mso.containsKey('00N1m0000054ufE')){
             //     controller.getRecord().put('DeliveryLogisticsMode__c',mso.get('00N1m0000054ufE'));
@@ -273,9 +287,9 @@
             //     controller.getRecord().put('DelayReportReason__c',mso.get('00N10000008rsVS'));
             // }
 
-            Map<string,string> mso = ApexPages.currentPage().getParameters();
-            system.debug('mso='+mso);
-            AssignValueFromUrl(mso,controller.getRecord());
+            Map<string, string> mso = ApexPages.currentPage().getParameters();
+            system.debug('mso=' + mso);
+            AssignValueFromUrl(mso, controller.getRecord());
             //閫氳繃id鏌�      闂
             //PIPL zhj 2022-11-11 start
             //浠庢姤淇瓙鍗曡繃鏉�00N10000009H1rR
@@ -283,8 +297,8 @@
                 String repairSubOrderId = mso.get('CF00N10000009H1rR_lkid');
                 System.debug('repairSubOrderId = ' + repairSubOrderId);
                 //鏌ヨAWSDataId
-                List<RepairSubOrder__c> rso = [select AWS_Data_Id__c from RepairSubOrder__c where Id=:repairSubOrderId];
-                if(rso.size() > 0){
+                List<RepairSubOrder__c> rso = [SELECT AWS_Data_Id__c FROM RepairSubOrder__c WHERE Id = :repairSubOrderId];
+                if (rso.size() > 0) {
                     RepairSubOrderAWSDataId = rso[0].AWS_Data_Id__c;
                 }
             }
@@ -294,51 +308,71 @@
             if (mso.containsKey('retURL')) {
                 String RepairId = mso.get('retURL').substring(1);
                 System.debug('RepairId = ' + RepairId);
-                rc = [select Hospital__c,Department_Class__c,Account__c,Dealer__c,Incharge_Staff_Contact__c,Incharge_Staff__c,  RepairSubOrder__c,On_Call_ID__c,QIS_ID__c,	InsReport__c,Rental_Apply_Equipment_Set_Detail__c from Repair__c where id =:RepairId ];
+                rc = [
+                    SELECT
+                        Hospital__c,
+                        Department_Class__c,
+                        Account__c,
+                        Dealer__c,
+                        Incharge_Staff_Contact__c,
+                        Incharge_Staff__c,
+                        RepairSubOrder__c,
+                        On_Call_ID__c,
+                        QIS_ID__c,
+                        InsReport__c,
+                        Rental_Apply_Equipment_Set_Detail__c
+                    FROM Repair__c
+                    WHERE id = :RepairId
+                ];
                 System.debug('rc = ' + rc);
-                if(rc.size() > 0){
-                     //鍖婚櫌
-                    controller.getRecord().put('Hospital__c',rc[0].Hospital__c);
+                if (rc.size() > 0) {
+                    //鍖婚櫌
+                    controller.getRecord().put('Hospital__c', rc[0].Hospital__c);
                     //鎴樼暐绉戝鍒嗙被
-                    controller.getRecord().put('Department_Class__c',rc[0].Department_Class__c);
+                    controller.getRecord().put('Department_Class__c', rc[0].Department_Class__c);
                     //绉戝
-                    controller.getRecord().put('Account__c',rc[0].Account__c);
+                    controller.getRecord().put('Account__c', rc[0].Account__c);
                     //缁忛攢鍟嗗悕
-                    controller.getRecord().put('Dealer__c',rc[0].Dealer__c);
+                    controller.getRecord().put('Dealer__c', rc[0].Dealer__c);
                     //淇悊濮旀墭鑰咃紙鍛樺伐锛�
-                    controller.getRecord().put('Incharge_Staff_Contact__c',rc[0].Incharge_Staff_Contact__c);
+                    controller.getRecord().put('Incharge_Staff_Contact__c', rc[0].Incharge_Staff_Contact__c);
                     //淇悊濮旀墭鑰�(FSE)
-                    controller.getRecord().put('Incharge_Staff__c',rc[0].Incharge_Staff__c);
+                    controller.getRecord().put('Incharge_Staff__c', rc[0].Incharge_Staff__c);
                     //鎶ヤ慨瀛愬崟RepairSubOrder__c
-                    controller.getRecord().put('RepairSubOrder__c',rc[0].RepairSubOrder__c);
+                    controller.getRecord().put('RepairSubOrder__c', rc[0].RepairSubOrder__c);
                     //鏌ヨAWSDataId
-                    List<RepairSubOrder__c> rso = [select AWS_Data_Id__c from RepairSubOrder__c where Id=:rc[0].RepairSubOrder__c];
-                    if(rso.size() > 0){
+                    List<RepairSubOrder__c> rso = [SELECT AWS_Data_Id__c FROM RepairSubOrder__c WHERE Id = :rc[0].RepairSubOrder__c];
+                    if (rso.size() > 0) {
                         RepairSubOrderAWSDataId = rso[0].AWS_Data_Id__c;
                     }
                     //On-Call鍙风爜On_Call_ID__c
-                    controller.getRecord().put('On_Call_ID__c',rc[0].On_Call_ID__c);
+                    controller.getRecord().put('On_Call_ID__c', rc[0].On_Call_ID__c);
                     //QIS鍙风爜QIS_ID__c
-                    controller.getRecord().put('QIS_ID__c',rc[0].QIS_ID__c);
+                    controller.getRecord().put('QIS_ID__c', rc[0].QIS_ID__c);
                     //鐐规鎶ュ憡涔nsReport__c
-                    controller.getRecord().put('InsReport__c',rc[0].InsReport__c);
+                    controller.getRecord().put('InsReport__c', rc[0].InsReport__c);
                     //鍊熷嚭澶囧搧閰嶅涓�瑙堟槑缁哛ental_Apply_Equipment_Set_Detail__c
-                    controller.getRecord().put('Rental_Apply_Equipment_Set_Detail__c',rc[0].Rental_Apply_Equipment_Set_Detail__c);
+                    controller.getRecord().put('Rental_Apply_Equipment_Set_Detail__c', rc[0].Rental_Apply_Equipment_Set_Detail__c);
                 }
-               
             }
-            
+
             rtTypeId = ApexPages.currentPage().getParameters().get('RecordType');
-            if(String.isBlank(rtTypeId)||String.isEmpty(rtTypeId)){
-                List<RecordType> rtList = new List<RecordType>([select Id,DeveloperName from RecordType  where SobjectType ='Repair__c' and DeveloperName ='Repair']);
+            if (String.isBlank(rtTypeId) || String.isEmpty(rtTypeId)) {
+                List<RecordType> rtList = new List<RecordType>(
+                    [SELECT Id, DeveloperName FROM RecordType WHERE SobjectType = 'Repair__c' AND DeveloperName = 'Repair']
+                );
                 rtTypeId = rtList[0].Id;
             }
         }
-        LayoutDescriberHelper.LayoutWrapper LayoutWrapperValue = LayoutDescriberHelper.describeSectionWithFieldsWrapper(rtTypeId, 'Repair__c','classic');
+        LayoutDescriberHelper.LayoutWrapper LayoutWrapperValue = LayoutDescriberHelper.describeSectionWithFieldsWrapper(
+            rtTypeId,
+            'Repair__c',
+            'classic'
+        );
         layoutSections = LayoutWrapperValue.layoutSections;
         layoutSectionsStr = JSON.serialize(layoutSections); //for dynamic add readonly attribute
         List<String> requiredFieldAPIList = LayoutWrapperValue.requiredFieldAPIList;
-        Map<String,String> fieldAPIToLabelMap = LayoutWrapperValue.fieldAPIToLabelMap;
+        Map<String, String> fieldAPIToLabelMap = LayoutWrapperValue.fieldAPIToLabelMap;
         requiredFieldAPIListStr = JSON.serialize(requiredFieldAPIList);
         fieldAPIToLabelMapStr = JSON.serialize(fieldAPIToLabelMap);
         PIHelper.PIIntegration piIntegration = PIHelper.getPIIntegrationInfo('Repair__c');
@@ -366,33 +400,33 @@
         VLookUpFieldsJson = Json.serialize(VLookUpFields);
     }
 
-    global class Response{
-        public String recordId{set;get;}
-        public String message{set;get;}
-        public String status{set;get;}
+    global class Response {
+        public String recordId { get; set; }
+        public String message { get; set; }
+        public String status { get; set; }
     }
-    
+
     @RemoteAction
-    global static Response EncryptUpdate(string rid){
-        system.debug('rid='+rid);
+    global static Response EncryptUpdate(string rid) {
+        system.debug('rid=' + rid);
         Response r = new Response();
         List<Repair__c> reps = new List<Repair__c>();
-        if(Test.isRunningTest()){
-            if(rid=='a0J1m000001QqXk'){
-                reps.add(new Repair__c(Id='a0J1m000001QqXk',Encrypt_Update_Flag__c=true));
-            }else{
-                reps.add(new Repair__c(Id='a0J1m000001QqXk',Encrypt_Update_Flag__c=false));
+        if (Test.isRunningTest()) {
+            if (rid == 'a0J1m000001QqXk') {
+                reps.add(new Repair__c(Id = 'a0J1m000001QqXk', Encrypt_Update_Flag__c = true));
+            } else {
+                reps.add(new Repair__c(Id = 'a0J1m000001QqXk', Encrypt_Update_Flag__c = false));
             }
-        }else{
-            reps = [select id,Encrypt_Update_Flag__c from Repair__c where id =:rid];
-        }        
-        if(reps.size()==0){
+        } else {
+            reps = [SELECT id, Encrypt_Update_Flag__c FROM Repair__c WHERE id = :rid];
+        }
+        if (reps.size() == 0) {
             r.status = 'failed';
             r.message = '绗﹀悎鏉′欢鐨勬暟鎹湭鎵惧埌';
             return r;
         }
         Repair__c rep = reps[0];
-        if(!rep.Encrypt_Update_Flag__c){
+        if (!rep.Encrypt_Update_Flag__c) {
             r.status = 'success';
             r.message = '';
             return r;
@@ -400,17 +434,17 @@
         //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 start
         //boolean b = AWSServiceTool2.EncryptPushData(new string[]{rid});
         System.debug('AWSServiceTool2V2.EncryptPushDataRepair start');
-        
+
         //AWSServiceTool2V2.EncryptPushDataRepair(rid);
         boolean b = false;
-        if(!Test.isRunningTest()){
+        if (!Test.isRunningTest()) {
             b = AWSServiceTool2V2.EncryptPushDataRepair(rid);
         }
         //zhj MEBG鏂版柟妗堟敼閫� 2022-11-29 end
         rep.Encrypt_Update_Flag__c = false;
-        if(!Test.isRunningTest()){
+        if (!Test.isRunningTest()) {
             update rep;
-        }      
+        }
         r.status = b ? 'success' : 'failed';
         r.message = b ? '' : '鍔犲瘑鎺ㄩ�佸け璐�';
         r.recordId = rid;
@@ -418,83 +452,96 @@
     }
 
     @RemoteAction
-    global static Response saveRepair(String repairJson,String transId,Boolean isNew) {
+    global static Response saveRepair(String repairJson, String transId, Boolean isNew) {
         System.debug('Repair__c Info:' + JSON.serialize(repairJson));
         //1. Prepare the payload for  Repair__c
         Schema.SObjectType repairSchema = schemaMap.get(sobjectTypeValue);
         Map<String, Schema.SObjectField> fieldAPIToTypeMap = repairSchema.getDescribe().fields.getMap();
-        Map<String,Object> fieldValueMap = (Map<String,Object>)JSON.deserializeUntyped(repairJson);
+        Map<String, Object> fieldValueMap = (Map<String, Object>) JSON.deserializeUntyped(repairJson);
         Repair__c repairInfo = new Repair__c();
         Boolean updateRepairCheck = false;
         //鑷畾涔夋牸寮忚浆鎹�
-        for (String fieldAPI: fieldValueMap.keySet()) {
-            system.debug('field API'+fieldAPI);
-            if(!fieldAPIToTypeMap.containskey(fieldAPI)){
+        for (String fieldAPI : fieldValueMap.keySet()) {
+            system.debug('field API' + fieldAPI);
+            if (!fieldAPIToTypeMap.containskey(fieldAPI)) {
                 continue;
             }
-            Schema.DisplayType fielddataType = fieldAPIToTypeMap.get(fieldAPI).getDescribe().getType();  
-            String fieldValue = String.valueOf(fieldValueMap.get(fieldAPI)); 
-            if(String.valueOf(fielddataType)=='DATE'){
-                repairInfo.put(fieldAPI,(String.isBlank(fieldValue)||String.isEmpty(fieldValue))? null:Date.valueOf(fieldValue.replace('/', '-'))); 
-            }else if(String.valueOf(fielddataType)=='DATETIME'){
-                if(String.isNotBlank(fieldValue)&&fieldValue.contains('T')){
-                    fieldValue = fieldValue.replace('T',' ');
+            Schema.DisplayType fielddataType = fieldAPIToTypeMap.get(fieldAPI).getDescribe().getType();
+            String fieldValue = String.valueOf(fieldValueMap.get(fieldAPI));
+            if (String.valueOf(fielddataType) == 'DATE') {
+                repairInfo.put(
+                    fieldAPI,
+                    (String.isBlank(fieldValue) || String.isEmpty(fieldValue)) ? null : Date.valueOf(fieldValue.replace('/', '-'))
+                );
+            } else if (String.valueOf(fielddataType) == 'DATETIME') {
+                if (String.isNotBlank(fieldValue) && fieldValue.contains('T')) {
+                    fieldValue = fieldValue.replace('T', ' ');
                     repairInfo.put(fieldAPI, Datetime.valueOfGmt(fieldValue));
-                }else if(String.isNotBlank(fieldValue))  {
+                } else if (String.isNotBlank(fieldValue)) {
                     fieldValue = fieldValue.replace('/', '-') + ':00';
                     System.debug('fieldValue = ' + fieldValue);
                     repairInfo.put(fieldAPI, Datetime.valueOf(fieldValue));
-                }else{
+                } else {
                     repairInfo.put(fieldAPI, null);
                 }
-                
-            }else if(String.valueOf(fielddataType)=='PERCENT'||String.valueOf(fielddataType)=='CURRENCY'||String.valueOf(fielddataType)=='Number'||String.valueOf(fielddataType)=='DOUBLE' ){
-                repairInfo.put(fieldAPI, (String.isBlank(fieldValue)||String.isEmpty(fieldValue))?null:Decimal.valueOf(fieldValue.replace(',', ''))); 
-            } else if(String.valueof(fielddataType)=='BOOLEAN'){
-                 //check repair check value 
-                if(fieldAPI == 'Return_Without_Repair__c'&&Boolean.valueof(fieldValueMap.get(fieldAPI))){
+            } else if (
+                String.valueOf(fielddataType) == 'PERCENT' ||
+                String.valueOf(fielddataType) == 'CURRENCY' ||
+                String.valueOf(fielddataType) == 'Number' ||
+                String.valueOf(fielddataType) == 'DOUBLE'
+            ) {
+                repairInfo.put(
+                    fieldAPI,
+                    (String.isBlank(fieldValue) || String.isEmpty(fieldValue)) ? null : Decimal.valueOf(fieldValue.replace(',', ''))
+                );
+            } else if (String.valueof(fielddataType) == 'BOOLEAN') {
+                //check repair check value
+                if (fieldAPI == 'Return_Without_Repair__c' && Boolean.valueof(fieldValueMap.get(fieldAPI))) {
                     updateRepairCheck = true;
                 }
                 repairInfo.put(fieldAPI, fieldValueMap.get(fieldAPI));
-            }else {
+            } else {
                 repairInfo.put(fieldAPI, String.valueOf(fieldValueMap.get(fieldAPI)));
-            }                  
+            }
         }
         //2. Save Record Process
-        String status = 'success';    
+        String status = 'success';
         Response resp = new Response();
         Savepoint sp = Database.setSavepoint();
         String rid = '';
-        try{
+        try {
             System.debug('abcde');
-            if(isNew){
+            if (isNew) {
                 System.debug('repairInfozhj = ' + repairInfo);
                 insert repairInfo;
-            }else{
+            } else {
                 System.debug('into update');
-                String awsDataId = (String)repairInfo.get('AWS_Data_Id__c');
+                String awsDataId = (String) repairInfo.get('AWS_Data_Id__c');
                 System.debug('awsDataId = ' + awsDataId);
-                Repair__c[] repairs = [select id,Return_Without_Repair_Reason__c,SAP_Transfer_time__c from Repair__c where AWS_Data_Id__c =:awsDataId];
-                if(!updateRepairCheck){
-                    repairInfo.put('Return_Without_Repair_Reason__c',repairs[0].Return_Without_Repair_Reason__c);
+                Repair__c[] repairs = [
+                    SELECT id, Return_Without_Repair_Reason__c, SAP_Transfer_time__c
+                    FROM Repair__c
+                    WHERE AWS_Data_Id__c = :awsDataId
+                ];
+                if (!updateRepairCheck) {
+                    repairInfo.put('Return_Without_Repair_Reason__c', repairs[0].Return_Without_Repair_Reason__c);
                 }
-                if(repairs!=null&&repairs[0]!=null){
-                    repairInfo.put('SAP_Transfer_time__c',repairs[0].SAP_Transfer_time__c);
+                if (repairs != null && repairs[0] != null) {
+                    repairInfo.put('SAP_Transfer_time__c', repairs[0].SAP_Transfer_time__c);
                 }
                 System.debug('repairs[0].id = ' + repairs[0].id);
-                repairInfo.put('Id',repairs[0].id);//For testing;
+                repairInfo.put('Id', repairs[0].id); //For testing;
                 update repairInfo;
             }
-            rid=repairInfo.Id;
-            PIHelper.saveTransLog(sobjectTypeValue,(String)repairInfo.get('AWS_Data_Id__c'),rid,transId, repairJson ,status,'');
+            rid = repairInfo.Id;
+            PIHelper.saveTransLog(sobjectTypeValue, (String) repairInfo.get('AWS_Data_Id__c'), rid, transId, repairJson, status, '');
             resp.recordId = repairInfo.Id;
             resp.message = '';
             resp.status = status;
             System.debug('resp from sfdx back-end' + resp);
             return resp;
-
-        } catch(DmlException e) {
-            rid=repairInfo.Id;
+        } catch (DmlException e) {
+            rid = repairInfo.Id;
             Integer index = 0;
             System.debug(e.getNumDml());
             System.debug(e.getDmlFields(index));
@@ -503,60 +550,88 @@
             System.debug(e.getDmlMessage(index));
             System.debug(e.getDmlStatusCode(index));
             System.debug(e.getDmlType(index));
-			system.debug(e.getMessage());
+            system.debug(e.getMessage());
             system.debug(e.getStackTraceString());
 
-            System.debug('into catch'+e.getMessage());
+            System.debug('into catch' + e.getMessage());
             Database.rollback(sp);
             resp.status = 'Exception';
-            resp.message ='淇濆瓨澶辫触锛屽師鍥�:'+ e.getDmlMessage(index);
-            PIHelper.saveTransLog(sobjectTypeValue,(String)repairInfo.get('AWS_Data_Id__c'),rid,transId, repairJson ,status,e.getMessage()+e.getStackTraceString());
+            resp.message = '淇濆瓨澶辫触锛屽師鍥�:' + e.getDmlMessage(index);
+            PIHelper.saveTransLog(
+                sobjectTypeValue,
+                (String) repairInfo.get('AWS_Data_Id__c'),
+                rid,
+                transId,
+                repairJson,
+                status,
+                e.getMessage() + e.getStackTraceString()
+            );
             return resp;
-            
-        } catch(Exception e) {
-            System.debug('into catch'+e.getMessage());
+        } catch (Exception e) {
+            System.debug('into catch' + e.getMessage());
             Database.rollback(sp);
             status = 'fail';
-            PIHelper.saveTransLog(sobjectTypeValue,(String)repairInfo.get('AWS_Data_Id__c'),rid,transId, repairJson ,status,e.getMessage()+e.getStackTraceString());
-            resp.message = e.getMessage();            
+            PIHelper.saveTransLog(
+                sobjectTypeValue,
+                (String) repairInfo.get('AWS_Data_Id__c'),
+                rid,
+                transId,
+                repairJson,
+                status,
+                e.getMessage() + e.getStackTraceString()
+            );
+            resp.message = e.getMessage();
             resp.status = status;
             return resp;
         }
     }
 
     // 浠巙rl鍙傛暟璧嬪�煎埌褰撳墠椤甸潰
-    public static void AssignValueFromUrl(Map<string,string> mso, sobject sobj){
-        
+    public static void AssignValueFromUrl(Map<string, string> mso, sobject sobj) {
         String sobject_name = sobj.getSObjectType().getDescribe().getName();
-        Map<string,object> temp = new Map<string,object>();
-        Map<string,FieldDefinition> fdm = new Map<string,FieldDefinition>();
-        List<FieldDefinition> fds = [SELECT Id, DurableId, QualifiedApiName,ValueTypeId , EntityDefinitionId, NamespacePrefix,EntityDefinition.NamespacePrefix, DeveloperName, MasterLabel, Label FROM FieldDefinition where EntityDefinition.QualifiedApiName = :sobject_name];
-        for(FieldDefinition fd : fds){
+        Map<string, object> temp = new Map<string, object>();
+        Map<string, FieldDefinition> fdm = new Map<string, FieldDefinition>();
+        List<FieldDefinition> fds = [
+            SELECT
+                Id,
+                DurableId,
+                QualifiedApiName,
+                ValueTypeId,
+                EntityDefinitionId,
+                NamespacePrefix,
+                EntityDefinition.NamespacePrefix,
+                DeveloperName,
+                MasterLabel,
+                Label
+            FROM FieldDefinition
+            WHERE EntityDefinition.QualifiedApiName = :sobject_name
+        ];
+        for (FieldDefinition fd : fds) {
             //system.debug(fd.DurableId);
-            fdm.put(fd.DurableId.split('\\.')[1],fd);
+            fdm.put(fd.DurableId.split('\\.')[1], fd);
         }
-        
-        for(string key : mso.keySet()){
+
+        for (string key : mso.keySet()) {
             if (key.toLowerCase() == 'id') {
                 System.debug('skip id assign');
                 continue;
             }
             string new_key = key;
-            system.debug('new_key='+new_key);
-            if(new_key.contains('_lkid')){
+            system.debug('new_key=' + new_key);
+            if (new_key.contains('_lkid')) {
                 new_key = new_key.replace('_lkid', '');
                 new_key = new_key.substring(2);
-            }else{
-                if(temp.containsKey(new_key)){
+            } else {
+                if (temp.containsKey(new_key)) {
                     continue;
                 }
             }
-            
-            system.debug('now new_key='+new_key);
-            if(fdm.containsKey(new_key)){
-                system.debug('fdm.get(new_key)='+fdm.get(new_key));
+
+            system.debug('now new_key=' + new_key);
+            if (fdm.containsKey(new_key)) {
+                system.debug('fdm.get(new_key)=' + fdm.get(new_key));
                 string val_str = mso.get(key);
-                system.debug('val_str='+val_str);
+                system.debug('val_str=' + val_str);
                 /*鏃犻渶鍋歞ecode锛宻f鍐呴儴宸茬粡鍋氬ソ
                 try{
                     val_str = EncodingUtil.urlDecode(mso.get(key),'UTF-8');
@@ -564,82 +639,81 @@
                     continue;
                     system.debug('Exception from get Key:'+e.getMessage());
                     system.debug(e.getStackTraceString());
-                } */             
+                } */
                 object val = null;
                 string type_id = fdm.get(new_key).ValueTypeId;
                 // address, boolean, date, datetime, double, id, location, string, time
-                if(string.isBlank(val_str)){
+                if (string.isBlank(val_str)) {
                     val = null;
-                }else if(type_id == 'boolean'){
-                    if(val_str == '1'){
+                } else if (type_id == 'boolean') {
+                    if (val_str == '1') {
                         val = true;
-                    }else{
+                    } else {
                         val = boolean.valueOf(val_str);
                     }
-                }else if(type_id == 'date'){
+                } else if (type_id == 'date') {
                     //
-                   	try{
+                    try {
                         val = date.parse(val_str);
-                    }catch(Exception e){
-                        system.debug('val_str='+val_str);
+                    } catch (Exception e) {
+                        system.debug('val_str=' + val_str);
                         system.debug(e.getMessage());
                         system.debug(e.getStackTraceString());
-                        try{
+                        try {
                             val = date.valueOf(val_str);
-                        }catch(Exception ee){
-                            system.debug('val_str='+val_str);
+                        } catch (Exception ee) {
+                            system.debug('val_str=' + val_str);
                             system.debug(ee.getMessage());
                             system.debug(ee.getStackTraceString());
                             continue;
                         }
                     }
-                }else if(type_id == 'datetime'){
+                } else if (type_id == 'datetime') {
                     //
-                   	try{
+                    try {
                         val = datetime.parse(val_str);
-                    }catch(Exception e){
-                        system.debug('val_str='+val_str);
+                    } catch (Exception e) {
+                        system.debug('val_str=' + val_str);
                         system.debug(e.getMessage());
                         system.debug(e.getStackTraceString());
-                        try{
+                        try {
                             val = datetime.valueOf(val_str);
-                        }catch(Exception ee){
-                            system.debug('val_str='+val_str);
+                        } catch (Exception ee) {
+                            system.debug('val_str=' + val_str);
                             system.debug(ee.getMessage());
                             system.debug(ee.getStackTraceString());
                             continue;
                         }
                     }
-                }else if(type_id == 'double' || type_id == 'number'){
-                    try{
+                } else if (type_id == 'double' || type_id == 'number') {
+                    try {
                         val = decimal.valueOf(val_str.replace(',', ''));
-                    }catch(Exception ee){
-                        system.debug('val_str='+val_str);
+                    } catch (Exception ee) {
+                        system.debug('val_str=' + val_str);
                         system.debug(ee.getMessage());
                         system.debug(ee.getStackTraceString());
                         continue;
                     }
-                    
-                }else if(type_id == 'id' || type_id == 'string'){
+                } else if (type_id == 'id' || type_id == 'string') {
                     val = val_str;
-                }else{
-                    system.debug('type_id='+type_id+' is not support to convert');
+                } else {
+                    system.debug('type_id=' + type_id + ' is not support to convert');
                     continue;
                 }
-                temp.put(fdm.get(new_key).QualifiedApiName,val);
-            }else{
-                system.debug(key+' is not in fdm');
+                temp.put(fdm.get(new_key).QualifiedApiName, val);
+            } else {
+                system.debug(key + ' is not in fdm');
             }
         }
-        
-        for(string key : temp.keySet()){
-            system.debug('assign '+key+'='+temp.get(key));
-            try{
+
+        for (string key : temp.keySet()) {
+            system.debug('assign ' + key + '=' + temp.get(key));
+            try {
                 sobj.put(key, temp.get(key));
-            }catch(Exception e){
+            } catch (Exception e) {
                 system.debug(e.getMessage());
                 system.debug(e.getStackTraceString());
             }
         }
     }
-}
\ No newline at end of file
+}
diff --git a/force-app/main/default/pages/NewAndEditReport.page b/force-app/main/default/pages/NewAndEditReport.page
index 6846592..e7e9c6e 100644
--- a/force-app/main/default/pages/NewAndEditReport.page
+++ b/force-app/main/default/pages/NewAndEditReport.page
@@ -1,9 +1,15 @@
-<apex:page standardController="Report__c" extensions="NewAndEditReportController" id="page" lightningStylesheets="true">
-    <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}"/>
-    <apex:includeScript value="{! URLFOR($Resource.AWSService, 'AWSService.js') }" />
-    <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}"/>
-    <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}"/>
-    <apex:includeScript value="{!URLFOR($Resource.connection20)}"/>
+<apex:page
+    standardController="Report__c"
+    extensions="NewAndEditReportController"
+    id="page"
+>
+    <apex:stylesheet value="{!URLFOR($Resource.blockUIcss)}" />
+    <apex:includeScript
+        value="{! URLFOR($Resource.AWSService, 'AWSService.js') }"
+    />
+    <apex:includeScript value="{!URLFOR($Resource.jquery183minjs)}" />
+    <apex:includeScript value="{!URLFOR($Resource.PleaseWaitDialog)}" />
+    <apex:includeScript value="{!URLFOR($Resource.connection20)}" />
 
     <style>
         .disabledbutton {
@@ -68,7 +74,7 @@
             let t = jQuery("label[for$='textAreaDelegate_"+api_name+"']").parent().next().find("textarea")[0];
             if(t && t.id){
                 return CKEDITOR.instances[t.id]
-                
+
             }
             return null;
         }
@@ -227,7 +233,7 @@
             // if(phone1 && !/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone1.value)){
             //     error_msg += ';淇℃伅鎻愪緵浜鸿仈绯绘柟寮忥紙鐢佃瘽锛夊彿鐮侀敊璇�';
             // }
-            
+
             // let phone2 = document.querySelector(textPhone2);
             // if(phone2 && !/^1[3|5|8|7][0-9]\d{4,8}$/.test(phone2.value)){
             //     error_msg += ';鑱旂郴鐢佃瘽鍙风爜閿欒';
@@ -262,7 +268,7 @@
                     }else{
                         blankRequiredFields =blankRequiredFields+',' + fieldAPIToLabelMap[requiredFieldAPIList[i]];
                     }
-                    
+
                 }
             }
             return blankRequiredFields;
@@ -290,7 +296,7 @@
             }
             return ['input','select','textarea','div'].indexOf(tag_name.toLowerCase())>-1;
         }
-        
+
         function IsFormElement(e){
             return IsFormTag(e.tagName);
         }
@@ -318,7 +324,7 @@
             return JSON.stringify(reportPayloadList);
         }
 
-        
+
 
         //5.鏂板缓鎴栫紪杈�
         function ProcessPI(reportJson, payloadForNewPI) {
@@ -382,7 +388,7 @@
         function replaceSearchContactLookup() {
             if (!{!isNewMode}) {
                 queryContactName();
-            }           
+            }
             if(document.querySelector("[data-id='Practitioner1__c']") != null){
                 let contactHtmlString = '<img src="/img/s.gif" onclick="searchContact(\'page:form:contactId\',\'Practitioner1__c\')" alt="Reference Document Number Lookup" class="lookupIcon"  title="Reference Document Number Lookup (New Window)"/>';
                 let lookUpNode = htmlToElement(contactHtmlString);
@@ -426,8 +432,8 @@
                 parentNode.replaceChild(lookUpNode, document.querySelector("[data-id='Person_In_Charge__c']").parentNode.children[2]);
             }
         }
-        var newSearchContactWindow = null;  
-        
+        var newSearchContactWindow = null;
+
         function htmlToElement(html) {
             var template = document.createElement('template');
             html = html.trim(); // Never return a text node of whitespace as the result
@@ -489,8 +495,8 @@
             let accountValue = "";
             if (document.querySelector("[data-id='Hospital_Department__c']")) {
                 let accountNodeId = document.querySelector("[data-id='Hospital_Department__c']").id + '_lkid';
-                accountValue = document.getElementById(accountNodeId).value;   
-            } 
+                accountValue = document.getElementById(accountNodeId).value;
+            }
             console.log(accountValue);
             if(accountValue !='000000000000000'){
                 let baseUrl = "/apex/SearchContactPage";
@@ -630,7 +636,7 @@
             let payloadForNewPI = getPIPayload(reportJson);
             console.log('鍔犲瘑瀛楁锛�'+payloadForNewPI);
 
-            //5. report to AWS 
+            //5. report to AWS
             ProcessPI(reportJson, payloadForNewPI);
         }
     </script>
@@ -638,16 +644,24 @@
     <div class="bPageTitle">
         <div class="ptBody">
             <div class="content">
-                <img src="/img/s.gif" alt="鎶ュ憡涔�" class="pageTitleIcon" title="鎶ュ憡涔�" />
-                <h1 class="pageType">鎶ュ憡涔�
+                <img
+                    src="/img/s.gif"
+                    alt="鎶ュ憡涔�"
+                    class="pageTitleIcon"
+                    title="鎶ュ憡涔�"
+                />
+                <h1 class="pageType">
+                    鎶ュ憡涔�
                     <span class="titleSeparatingColon">:</span>
                 </h1>
-                <h2 class="pageDescription"> 鏂板缓鎶ュ憡涔�</h2>
+                <h2 class="pageDescription">鏂板缓鎶ュ憡涔�</h2>
                 <div class="blank">&nbsp;</div>
             </div>
             <div class="links">
-                <a href="javascript:openPopupFocusEscapePounds(%27https://help.salesforce.com/apex/htdoor?loc=help&amp;target=leads_edit.htm&amp;section=Leads&amp;language=zh_CN&amp;release=234.18.8&amp;instance=CS117&amp;showSplash=true%27, %27Help%27, 700, 600, %27width=700,height=600,resizable=yes,toolbar=yes,status=no,scrollbars=yes,menubar=yes,directories=no,location=no,dependant=no%27, false, false);"
-                    title="姝ら〉闈㈢殑甯姪 锛堟柊绐楀彛锛�">
+                <a
+                    href="javascript:openPopupFocusEscapePounds(%27https://help.salesforce.com/apex/htdoor?loc=help&amp;target=leads_edit.htm&amp;section=Leads&amp;language=zh_CN&amp;release=234.18.8&amp;instance=CS117&amp;showSplash=true%27, %27Help%27, 700, 600, %27width=700,height=600,resizable=yes,toolbar=yes,status=no,scrollbars=yes,menubar=yes,directories=no,location=no,dependant=no%27, false, false);"
+                    title="姝ら〉闈㈢殑甯姪 锛堟柊绐楀彛锛�"
+                >
                     <span class="helpLink">姝ら〉闈㈢殑甯姪</span>
                     <img src="/img/s.gif" alt="" class="helpIcon" />
                 </a>
@@ -667,44 +681,89 @@
                     <tbody>
                         <tr>
                             <td class="pbTitle">
-                                <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" />
+                                <img
+                                    src="/img/s.gif"
+                                    alt=""
+                                    class="minWidth"
+                                    title=""
+                                    width="1"
+                                    height="1"
+                                />
                                 <h2 class="mainTitle">鎶ュ憡涔︾紪杈�</h2>
                             </td>
-                            <td class="pbButton" id="topButtonRow" style="pointer-events: none; opacity: 0.4;">
-                                <input class="btn" type="Button" value="淇濆瓨" onclick="saveReportProcess('Save')" />
-                                <input class="btn" type="Button" value="淇濆瓨骞舵柊寤�" onclick="saveReportProcess('SaveAndNew')" />
-                                <apex:commandButton action="{!cancel}" value="鍙栨秷" />
+                            <td
+                                class="pbButton"
+                                id="topButtonRow"
+                                style="pointer-events: none; opacity: 0.4"
+                            >
+                                <input
+                                    class="btn"
+                                    type="Button"
+                                    value="淇濆瓨"
+                                    onclick="saveReportProcess('Save')"
+                                />
+                                <input
+                                    class="btn"
+                                    type="Button"
+                                    value="淇濆瓨骞舵柊寤�"
+                                    onclick="saveReportProcess('SaveAndNew')"
+                                />
+                                <apex:commandButton
+                                    action="{!cancel}"
+                                    value="鍙栨秷"
+                                />
                             </td>
                         </tr>
                     </tbody>
                 </table>
             </div>
             <!-- Error Msg-->
-            <div style="text-align: center;">
+            <div style="text-align: center">
                 <apex:outputPanel id="errorMsg">
                     <apex:pageMessages id="msgContent" escape="false" />
                 </apex:outputPanel>
-            </div>          
-            <br/>
+            </div>
+            <br />
             <!-- Iterate the layoutSections, which is a list of sections -->
             <apex:repeat value="{!layoutSections}" var="layoutSection">
-                <apex:pageBlockSection title="{!layoutSection.name}" showHeader="{!layoutSection.useHeader}" collapsible="{!layoutSection.allowCollapse}"
-                    columns="{!layoutSection.columns}">
-
+                <apex:pageBlockSection
+                    title="{!layoutSection.name}"
+                    showHeader="{!layoutSection.useHeader}"
+                    collapsible="{!layoutSection.allowCollapse}"
+                    columns="{!layoutSection.columns}"
+                >
                     <!--Each section has layoutFields, let's iterate them as well-->
-                    <apex:repeat value="{!layoutSection.layoutFields}" var="layoutField">
+                    <apex:repeat
+                        value="{!layoutSection.layoutFields}"
+                        var="layoutField"
+                    >
                         <!-- <apex:inputField html-title="{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}"  styleClass="{!ApiPrefix} {!ApiPrefix}_{!layoutField.fieldAPI}" value="{!Report__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)}"
                             required="{!layoutField.isRequired}" /> -->
-                        <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Report__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&isNewMode}"
-                            required="{!layoutField.isRequired}" />
-                        <apex:inputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Report__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&not(isNewMode)&&layoutField.fieldAPI!='RecordTypeId'}"
-                            required="{!layoutField.isRequired}" />
-                        <apex:outputField styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}" html-data-id="{!layoutField.fieldAPI}" value="{!Report__c[layoutField.fieldAPI]}" rendered="{!not(layoutField.isPlaceHOlder)&&not(isNewMode)&&layoutField.fieldAPI=='RecordTypeId'}"
+                        <apex:inputField
+                            styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}"
+                            html-data-id="{!layoutField.fieldAPI}"
+                            value="{!Report__c[layoutField.fieldAPI]}"
+                            rendered="{!not(layoutField.isPlaceHOlder)&&isNewMode}"
+                            required="{!layoutField.isRequired}"
                         />
-                        <apex:pageblocksectionitem rendered="{!layoutField.isPlaceHolder}">
+                        <apex:inputField
+                            styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}"
+                            html-data-id="{!layoutField.fieldAPI}"
+                            value="{!Report__c[layoutField.fieldAPI]}"
+                            rendered="{!not(layoutField.isPlaceHOlder)&&not(isNewMode)&&layoutField.fieldAPI!='RecordTypeId'}"
+                            required="{!layoutField.isRequired}"
+                        />
+                        <apex:outputField
+                            styleClass="PIBackApi PIBackApi_{!layoutField.fieldAPI}"
+                            html-data-id="{!layoutField.fieldAPI}"
+                            value="{!Report__c[layoutField.fieldAPI]}"
+                            rendered="{!not(layoutField.isPlaceHOlder)&&not(isNewMode)&&layoutField.fieldAPI=='RecordTypeId'}"
+                        />
+                        <apex:pageblocksectionitem
+                            rendered="{!layoutField.isPlaceHolder}"
+                        >
                         </apex:pageblocksectionitem>
                     </apex:repeat>
-
                 </apex:pageBlockSection>
             </apex:repeat>
             <script>
@@ -716,12 +775,11 @@
                         if(e.getAttribute("multiple") != 'multiple' || e.style.display == 'none' && e.id.indexOf('selected') < 0){
                             api_id_map[GetEleApiName(e)] = e.id;
                         }
-                        
+
                     }
                 }
                 console.log(api_id_map);
                 sfdcPage.appendToOnloadQueue(function () {
-                    debugger
                     //鍒ゆ柇鏄惁涓哄彧璇婚�夐」
                     var layoutSections = JSON.parse('{!layoutSectionsStr}');
                     for (let m = 0; m < layoutSections.length; m++) {
@@ -745,7 +803,7 @@
 
                     //1. Set Last Name label
                     //document.querySelector("[data-id='LastName']").parentNode.parentNode.parentNode.children[2].children[0].innerText = '濮撳悕';
-                    //2. Query AWS Data by dataId 
+                    //2. Query AWS Data by dataId
                     console.log('Mode for Lead Page:' + {!isNewMode});
                     if (!{!isNewMode}) {
                         QueryLeadFromAWS();
@@ -765,10 +823,10 @@
                             document.getElementById(document.querySelector("[data-id='Loaner_request_no1__c']").id + '_lkid').value = '{!no1Id}'
                         }
                     }
-                    
+
                     document.getElementById('topButtonRow').style = '';
                     document.getElementById('bottomButtonRow').style = '';
-                    
+
                     let previous_value = {};
                     jQuery(".lookupInput input").each(function(i,e){
                         let je =jQuery(e);
@@ -823,17 +881,41 @@
                     <tbody>
                         <tr>
                             <td class="pbTitle">
-                                <img src="/img/s.gif" alt="" class="minWidth" title="" width="1" height="1" />&nbsp;</td>
-                            <td class="pbButtonb" id="bottomButtonRow" style="pointer-events: none; opacity: 0.4;">
-                                <input class="btn" type="Button" value="淇濆瓨" onclick="saveReportProcess('Save')" />
-                                <input class="btn" type="Button" value="淇濆瓨骞舵柊寤�" onclick="saveReportProcess('SaveAndNew')" />
-                                <apex:commandButton action="{!cancel}" value="鍙栨秷" />
+                                <img
+                                    src="/img/s.gif"
+                                    alt=""
+                                    class="minWidth"
+                                    title=""
+                                    width="1"
+                                    height="1"
+                                />&nbsp;
+                            </td>
+                            <td
+                                class="pbButtonb"
+                                id="bottomButtonRow"
+                                style="pointer-events: none; opacity: 0.4"
+                            >
+                                <input
+                                    class="btn"
+                                    type="Button"
+                                    value="淇濆瓨"
+                                    onclick="saveReportProcess('Save')"
+                                />
+                                <input
+                                    class="btn"
+                                    type="Button"
+                                    value="淇濆瓨骞舵柊寤�"
+                                    onclick="saveReportProcess('SaveAndNew')"
+                                />
+                                <apex:commandButton
+                                    action="{!cancel}"
+                                    value="鍙栨秷"
+                                />
                             </td>
                         </tr>
                     </tbody>
                 </table>
             </div>
         </apex:pageblock>
-
     </apex:form>
-</apex:page>
\ No newline at end of file
+</apex:page>
diff --git a/manifest/packageForLex copy.xml b/manifest/packageForLex copy.xml
index 25a1a2e..fc2e0dd 100644
--- a/manifest/packageForLex copy.xml
+++ b/manifest/packageForLex copy.xml
@@ -1,8 +1,14 @@
 <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
 <Package xmlns="http://soap.sforce.com/2006/04/metadata">
     <types>
-        <members>*</members>
-        <name>LightningComponentBundle</name>
+        <members>LexSaleOrderController</members>
+        <members>LexConInvoiceViewController</members>
+        <members>LexConInvoicedetailsController</members>
+        <members>LexInventoryController</members>
+        <members>LexOutboundorderImportController</members>          
+        <members>LexOverdueStockController</members>
+        <members>LexInventoryViewControllerTest</members>             
+        <name>ApexClass</name>
     </types>
     <version>52.0</version>
 </Package>

--
Gitblit v1.9.1