buli
2023-07-05 af7b716a60d889acea95560abba0e46eee008b8f
force-app/main/default/classes/LexInventoryController.cls
@@ -20,24 +20,33 @@
    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 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;  // 丢失和巡回的,实际炒作用
    @AuraEnabled
    public static  List<List<ConsumableorderdetailsInfo>> consumableorderdetailsRecordsview { get; set; }       // 产品单位的List
    public static  List<Consumable_order_details2__c> InsListUp = New List<Consumable_order_details2__c>();
  public static List<List<ConsumableorderdetailsInfo>> consumableorderdetailsRecordsview {
    get;
    set;
  } // 产品单位的List
  public static List<Consumable_order_details2__c> InsListUp = new List<Consumable_order_details2__c>();
    public static List<ConsumableorderdetailsInfo> consumableorderdetailsviewRecords;
   
    public static  Integer consumableorderdetailsCount  {
        get {
            return consumableorderdetailsRecords == null ? 0 : consumableorderdetailsRecords.size();
      return consumableorderdetailsRecords == null
        ? 0
        : consumableorderdetailsRecords.size();
        }
    }
    //list<String> notexitlist = new list<String>();
@@ -74,13 +83,21 @@
    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,
    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];
      WHERE Id IN :pandiandetailsMap.keySet()
      ORDER BY Name DESC
    ];
        setConDetails2 = showcod2;
        System.debug('setConDetails2===>'+setConDetails2);
        // setCon = new ApexPages.StandardSetController(showcod2);
@@ -104,7 +121,9 @@
        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;
@@ -113,8 +132,6 @@
    // 画面初始化
    @AuraEnabled
    public static ResponseBodyLWC init() {
        ResponseBodyLWC res = new ResponseBodyLWC();
        Map<String,object> data = new Map<String,object>();
        res.entity = data;
@@ -123,13 +140,21 @@
        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,
    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];
      WHERE Id IN :pandiandetailsMap.keySet()
      ORDER BY Name
    ];
                        System.debug('pandiandetailsMap====>'+pandiandetailsMap);
        initStandardController();
        makepagerecords();
@@ -142,7 +167,11 @@
        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;
@@ -150,7 +179,11 @@
            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>();
@@ -170,33 +203,46 @@
        //     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
    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
      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];
        AND Dealer_Info_text__c = :accountName
    ];
        //DB202302357027 消耗品追溯系统无法正常使用——盘点页面操作即报错 fy start
        //开始制作表头数据
        Set<Id> Product2cIdSet = new Set<Id>();
        for(Consumable_order_details2__c con_or_d2item: ProductCount_Res){
            Product2cIdSet.add(con_or_d2item.Consumable_Product__c);
        }
        List<Product2__c> productCount_Unfull_bak = [select Id, Name,Name__c,
                                                            SFDA_Status__c,Packing_list_manual__c,
    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
      FROM Product2__c
                                                        //where Estimation_Entry_Possibility__c = '○'
                                                         where Id in:Product2cIdSet
                                                         and Product_Type__c like : sqlagencyProType
      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]);
@@ -208,42 +254,85 @@
        // ApexPages.addmessage(new ApexPages.message(ApexPages.severity.ERROR,'ProductCount_Res  ' + ProductCount_Res.size()));
        for(Integer i = 0 ; i< ProductCount_Res.size();i++){
            //然后循环CountDel做Box和piece2个map
            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();
      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);
          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));
          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();
      } 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);
          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));
          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
          );
                }
            }
        }
@@ -258,7 +347,9 @@
        for(ConsumableorderdetailsInfo bss : boxRecords){
            consumableorderdetailsRecords.add(bss);
            if(newMidPieceMap.containsKey(bss.Prod.Id + '个')){
                consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '个'));
        consumableorderdetailsRecords.add(
          newMidPieceMap.get(bss.Prod.Id + '个')
        );
                //newMidPieceMap移除已经添加的Piece
                newMidPieceMap.remove(bss.Prod.Id + '个');
            }
@@ -269,17 +360,19 @@
        //consumableorderdetailsCount = consumableorderdetailsRecords.size();
        listCut();
      
        data.put('ConsumableorderdetailsRecordsview',JSON.serialize(ConsumableorderdetailsRecordsview));
    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);
@@ -308,7 +401,9 @@
                }
            }
            consumableorderdetailsRecordsview.add(ConsumableorderdetailsRecordsbreak);
            consumableorderdetailsRecordsview.add(ConsumableorderdetailsRecordsbreakover);
      consumableorderdetailsRecordsview.add(
        ConsumableorderdetailsRecordsbreakover
      );
        }else{
            consumableorderdetailsRecordsview.add(consumableorderdetailsRecords);
        }
@@ -318,7 +413,7 @@
    //========20160311======ADD_Start================================
    public static  List<String> ParseBarCode(String Code){
        Map<String,Integer> barcodeCountMap = new Map<String,Integer>();
        String[] Cache = new String[]{};
    String[] Cache = new List<String>{};
        Cache = Code.split('\n');
        List <String> Buff = new List<String>();
        for(String A : Cache){
@@ -331,10 +426,7 @@
            Buff.add(A + barcodeCountMap.get(A));
        }
        return Buff;
    }
    //test
@@ -345,24 +437,42 @@
    //========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>();
        res.entity = data;
        sqlagencyProType = '%' + agencyProType + '%';
    System.debug('sqlagencyProType==>' + sqlagencyProType);
    System.debug('accountName==>' + accountName);
    System.debug('userWorkLocation==>' + userWorkLocation);
        /* BarCodelist做成 */
        //FIXME barcodeSet 做成,ProductCount_ResSet 做成
@@ -370,22 +480,34 @@
        pandiandetailsListShow = new List<List<Consumable_order_details2__c>>();
        done = false;
        List<String> BarCodeListP = ParseBarCode( barcode );
    System.debug('BarCodeListP===>' + BarCodeListP);
        //查询库存 追加返品库存
        List<Consumable_order_details2__c> ProductCount_Res = [select Id,  Name,Consumable_Product__c,
                                Bar_Code__c,Consumable_Product__r.Name__c,Dealer_Info_text__c,
                                Asset_Model_No__c,Isoverdue__c,Box_Piece__c,
    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
      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 ];
        AND Dealer_Info_text__c = :accountName
    ];
    System.debug('ProductCount_Res==>' + ProductCount_Res);
        reFindProduct.clear();
        Map<String,ConsumableorderdetailsInfo> barCodeListAdjustMap = new  Map<String,ConsumableorderdetailsInfo>();
        //barCodeListLoseMap.clear();
@@ -408,11 +530,17 @@
                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){
            System.debug('Pro==>' + ProductCount_Res[i].Consumable_Product__c);
            System.debug('ProId==>' + ass.Prod.Id);
            System.debug('ass.boxPiece ==>' + ass.boxPiece);
            System.debug('boxPiece ==>' + ProductCount_Res[i].Box_Piece__c);
            if (
              ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id &&
              ass.boxPiece == ProductCount_Res[i].Box_Piece__c
            ) {
                            if(carCodeListLose.contains(ProductCount_Res[i].Bar_Code__c)){
                                continue;
                            }else{
                                //consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(ProductCount_Res[i],'丢失'));
                                //pandiandetailsMap.put(ProductCount_Res[i].Id, '丢失');
                                ////barCodeListLoseMap.put(ProductCount_Res[i].Id, new ConsumableorderdetailsInfo(ProductCount_Res[i]));
@@ -424,78 +552,132 @@
            }
            //已经出库的产品
            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
      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
        WHERE
          Dealer_Arrive__c = TRUE
                        AND  (Dealer_Shipment__c= TRUE
                        or  Dealer_Saled__c = TRUE)
          OR Dealer_Saled__c = TRUE)
                        AND  Dealer_Returned__c = FALSE
                        AND  Cancellation_Flag__c = FALSE
                        AND  Bar_Code__c in :carCodeListLose
          AND Bar_Code__c IN :carCodeListLose
                        AND Dealer_Info_text__c = :accountName
                        ORDER BY Name ];
        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
      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
        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 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 ];
          AND Arrive_Owner_Work_Location__c != :userWorkLocation))
        ORDER BY Name
      ];
            Map<String,Consumable_order_details2__c> otherAgProMap = new Map<String,Consumable_order_details2__c>();
            for(Consumable_order_details2__c cod2 :reSet1){
                otherAgProMap.put(cod2.Bar_Code__c,cod2);
            }
            carCodeListLose.clear();
            for(ConsumableorderdetailsInfo ass : consumableorderdetailsRecords){
                if(ass.check==true){
                    ass.Diff = ass.countid - ass.Pandian;
                    for(integer i = 0 ; i < ProductCount_Res.size();i++){
                        if(ProductCount_Res[i].Consumable_Product__c == ass.Prod.Id && ass.boxPiece == ProductCount_Res[i].Box_Piece__c){
                            if(carCodeListLose.contains(ProductCount_Res[i].Bar_Code_search__c)){
            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],'该产品未返品'));
                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],'该产品已经过有效期,请销存。'));
                                    pandiandetailsMap.put(ProductCount_Res[i].Id, '该产品已经过有效期,请销存。');
                  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);
                            }
@@ -508,31 +690,48 @@
            }
            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,
        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];
          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
      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];
        WHERE Id IN :pandiandetailsMap.keySet()
        ORDER BY Name
      ];
            for(Consumable_order_details2__c codDet : pandiandetailsList){
                codDet.Lose_reason__c = pandiandetailsMap.get(codDet.Id);
            }
@@ -551,11 +750,15 @@
                 //分页
            PaginatedAccounts paginatedAccounts = new PaginatedAccounts();
            totalCount = codPageRecords.size();
            paginatedAccounts.nextPageToken = (pageToken + pageSize < totalCount) ? pageToken + pageSize : null;
      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.recordEnd = totalCount >= recordEnd
        ? recordEnd
        : totalCount;
            paginatedAccounts.totalRecords = totalCount;
            Integer startIdx;
@@ -575,8 +778,14 @@
            //end
            data.put('codPageRecords',JSON.serialize(codPageRecords));
            data.put('consumableorderdetailsRecords',JSON.serialize(consumableorderdetailsRecords));
            data.put('consumableorderdetailsRecordsview',JSON.serialize(consumableorderdetailsRecordsview));
      data.put(
        'consumableorderdetailsRecords',
        JSON.serialize(consumableorderdetailsRecords)
      );
      data.put(
        'consumableorderdetailsRecordsview',
        JSON.serialize(consumableorderdetailsRecordsview)
      );
            data.put('pandiandetailsMap',pandiandetailsMap);
            System.debug('iSinventory===>'+iSinventory);
            System.debug('codPageRecords===>'+codPageRecords);
@@ -587,36 +796,44 @@
            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);
      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
    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];
      ORDER BY Name
    ];
                    System.debug('reSet===>'+reSet);
        Map<String, Integer> pandianProdIdCountMap = new Map<String, Integer>();        // ProdId 単位
        // 20200509 add gzw 记录需要销存数量
@@ -627,46 +844,90 @@
        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){
        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));
      barCodeListPandianMap.put(
        rs.Bar_Code_search__c,
        new ConsumableorderdetailsInfo(rs)
      );
            if (rs.Isoverdue__c == 0) {
                consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(rs,'该产品已经过有效期,请销存。'));
        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);
        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);
          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);
      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);
        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
    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)
      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 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 ];
        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);
@@ -674,62 +935,99 @@
        // 需要入库的产品
        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){
        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)){
      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,'无此产品的库存,请入库。'));
      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
    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];
      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,'过期或者销存产品,无法寻回入库'));
        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){
        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)){
      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,'寻回'));
        barCodeListAdjustMap.put(
          rs.Bar_Code_search__c,
          new ConsumableorderdetailsInfo(rs)
        );
        consumableorderdetailsRecordserrordummy.add(
          new ConsumableorderdetailsInfo(rs, '寻回')
        );
                pandiandetailsMap.put(rs.Id, '寻回');
                consumableorderdetailsRecordsAdjust.add(new ConsumableorderdetailsInfo(rs));
        consumableorderdetailsRecordsAdjust.add(
          new ConsumableorderdetailsInfo(rs)
        );
            }
        }
        if(reFindProductList.size() > 0){
@@ -737,50 +1035,101 @@
            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()];
      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做Box和piece2个map
                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();
        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);
            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));
            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);
            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();
        } 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);
            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));
            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);
            newMidPieceMap.put(
              reFindProductList[i].Consumable_Product__c +
              reFindProductList[i].Box_Piece__c,
              Jstage
            );
                    }
                }
            }
@@ -797,13 +1146,17 @@
            for(ConsumableorderdetailsInfo bss : boxRecords){
                consumableorderdetailsRecords.add(bss);
                if(newMidPieceMap.containsKey(bss.Prod.Id + '个')){
                    consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '个'));
          consumableorderdetailsRecords.add(
            newMidPieceMap.get(bss.Prod.Id + '个')
          );
                    //newMidPieceMap移除已经添加的Piece
                    newMidPieceMap.remove(bss.Prod.Id + '个');
                }
            }
            for(ConsumableorderdetailsInfo bss : newMidPieceMap.values()){
                consumableorderdetailsRecords.add(newMidPieceMap.get(bss.Prod.Id + '个'));
        consumableorderdetailsRecords.add(
          newMidPieceMap.get(bss.Prod.Id + '个')
        );
            }
        }
@@ -811,8 +1164,15 @@
        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){
          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);
@@ -825,19 +1185,29 @@
            }
        }
        //已经出库的产品
        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
    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
      WHERE
        Dealer_Arrive__c = TRUE
                    AND  (Dealer_Shipment__c= TRUE
                    or  Dealer_Saled__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 Bar_Code_search__c IN :BarCodeListP
                    AND Dealer_Info_text__c = :accountName
                    ORDER BY Name ];
      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);
@@ -868,43 +1238,101 @@
        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)){
          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);
              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);
                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],'丢失'));
            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 + '的库存。');
          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 (
            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,'该产品目前出库状态,请返品。'));
              consumableorderdetailsRecordserrordummy.add(
                new ConsumableorderdetailsInfo(
                  cod2,
                  '该产品目前出库状态,请返品。'
                )
              );
                            pandiandetailsMap.put(cod2.Id, '该产品目前出库状态,请返品。');
                            continue;
                        }
@@ -942,44 +1370,69 @@
            }
        }
        //寻回做成
        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)){
      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);
            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,
      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];
        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))
      );
        }
        if(codPageRecords.size() > 0) done = true;
    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
    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];
      WHERE Id IN :pandiandetailsMap.keySet()
      ORDER BY Name
    ];
        for(Consumable_order_details2__c codDet : pandiandetailsList){
            codDet.Lose_reason__c = pandiandetailsMap.get(codDet.Id);
        }
@@ -997,11 +1450,15 @@
            //分页
            PaginatedAccounts paginatedAccounts = new PaginatedAccounts();
            totalCount = codPageRecords.size();
            paginatedAccounts.nextPageToken = (pageToken + pageSize < totalCount) ? pageToken + pageSize : null;
    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.recordEnd = totalCount >= recordEnd
      ? recordEnd
      : totalCount;
            paginatedAccounts.totalRecords = totalCount;
            Integer startIdx;
@@ -1022,16 +1479,27 @@
            //end
            System.debug('=====>codPageRecords2'+codPageRecords);
            System.debug('=====>consumableorderdetailsRecords'+consumableorderdetailsRecords);
    System.debug(
      '=====>consumableorderdetailsRecords' + consumableorderdetailsRecords
    );
            data.put('codPageRecords',JSON.serialize(codPageRecords));
            data.put('consumableorderdetailsRecords',JSON.serialize(consumableorderdetailsRecords));
    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(
      'consumableorderdetailsRecordsview',
      JSON.serialize(consumableorderdetailsRecordsview)
    );
    System.debug(
      '=====>consumableorderdetailsRecordsview' +
      consumableorderdetailsRecordsview
    );
            res.code = 200;
            res.status = 'Sucess';
            return res;
@@ -1039,8 +1507,18 @@
    
    // 保存按钮
    @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;
        pandiandetailsMap = pandiandetailsMap;
@@ -1073,14 +1551,30 @@
            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 + '无丢失产品,不需要填写差异原因',
            ''
          );
                }
            }
        }
@@ -1097,10 +1591,14 @@
        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>();
      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){
@@ -1129,13 +1627,21 @@
            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,
      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];
        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;
@@ -1143,7 +1649,10 @@
                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)){
        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;
@@ -1164,11 +1673,15 @@
            if(InsListUp.size()>0){
                ControllerUtil.updateOrderDetailsSatus(InsListUp);// Commented By DTT - Li Jun for testing 20230407
            }
        }catch (Exception e) {
            Database.rollback(sp);
            // ApexPages.addMessages(ex);
            return new ResponseBodyLWC('Error',500, e.getMessage()+e.getLineNumber(), '');
      return new ResponseBodyLWC(
        'Error',
        500,
        e.getMessage() + e.getLineNumber(),
        ''
      );
            // return null;
        }
        // FIXME impliment BarCodeListAdjust
@@ -1185,7 +1698,9 @@
    //盘点一览
    public PageReference ProS() {
        // 返回盘点一览
        PageReference ref = new Pagereference('/apex/InventoryList?eSetId=' + eSetId);
    PageReference ref = new Pagereference(
      '/apex/InventoryList?eSetId=' + eSetId
    );
        ref.setRedirect(true);
        return ref; 
    }
@@ -1209,6 +1724,7 @@
    }
    // Data Bean
  @TestVisible
    class ConsumableorderdetailsInfo implements Comparable {
        @AuraEnabled
        public Boolean check { get; set; }
@@ -1240,8 +1756,10 @@
        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;