buli
2023-07-14 744f42c5496e656a1f9927740a3b37c0b97a6cba
force-app/main/default/classes/LexInventoryController.cls
@@ -27,26 +27,18 @@
  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<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>();
@@ -121,9 +113,7 @@
    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;
@@ -167,11 +157,7 @@
    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;
@@ -179,11 +165,7 @@
      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>();
@@ -233,13 +215,7 @@
      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
            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
@@ -254,19 +230,10 @@
    // 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
          )
        ) {
            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
                            ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c
            )
            .clone();
          Jstage.countid = Jstage.countid + 1;
@@ -274,11 +241,7 @@
            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)
@@ -288,25 +251,12 @@
            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
          )
        ) {
            } 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
                            ProductCount_Res[i].Consumable_Product__c + ProductCount_Res[i].Box_Piece__c
            )
            .clone();
          Jstage.countid = Jstage.countid + 1;
@@ -314,11 +264,7 @@
            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)
@@ -328,11 +274,7 @@
            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);
        }
      }
    }
@@ -347,9 +289,7 @@
    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 + '个');
      }
@@ -360,19 +300,13 @@
    //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);
@@ -401,9 +335,7 @@
        }
      }
      consumableorderdetailsRecordsview.add(ConsumableorderdetailsRecordsbreak);
      consumableorderdetailsRecordsview.add(
        ConsumableorderdetailsRecordsbreakover
      );
            consumableorderdetailsRecordsview.add(ConsumableorderdetailsRecordsbreakover);
    } else {
      consumableorderdetailsRecordsview.add(consumableorderdetailsRecords);
    }
@@ -453,18 +385,13 @@
    sortField = sortFieldLWC;
    sortOrder = sortOrderLWC;
    System.debug(
      '===>consumableorderdetailsRecordsLWC' + consumableorderdetailsRecordsLWC
    );
        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;
@@ -534,10 +461,7 @@
            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 (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 {
@@ -616,68 +540,44 @@
        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)
                ) {
                                if (needreturnMap.containsKey(ProductCount_Res[i].Bar_Code__c)) {
                  consumableorderdetailsRecordserrordummy.add(
                    new ConsumableorderdetailsInfo(
                      ProductCount_Res[i],
                      '该产品未返品'
                    )
                                        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)
                ) {
                                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 +
                                                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 +
                      '的库存。'
                                        '该产品归属于' + 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],
                      '该产品已经过有效期,请销存。'
                    )
                                        new ConsumableorderdetailsInfo(ProductCount_Res[i], '该产品已经过有效期,请销存。')
                  );
                  pandiandetailsMap.put(
                    ProductCount_Res[i].Id,
                    '该产品已经过有效期,请销存。'
                  );
                                    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);
              }
@@ -710,9 +610,7 @@
      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;
@@ -722,12 +620,7 @@
      //pandiandetailsList = new list<Consumable_order_details2__c>();
      pandiandetailsList = [
        SELECT
          Id,
          Bar_Code__c,
          Consumable_Product__r.Name__c,
          Box_Piece__c,
          Lose_reason__c
                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
@@ -750,15 +643,11 @@
      //分页
      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;
@@ -778,14 +667,8 @@
      //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);
@@ -803,22 +686,13 @@
    //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
            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
@@ -844,57 +718,31 @@
    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.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.get(rs.Consumable_Product__c + rs.Box_Piece__c) + 1
        );
      }
    }
@@ -935,18 +783,11 @@
    // 需要入库的产品
    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);
      }
@@ -956,9 +797,7 @@
        (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, '无此产品的库存,请入库。')
        );
                consumableorderdetailsRecordserrordummy.add(new ConsumableorderdetailsInfo(cod2, '无此产品的库存,请入库。'));
        pandiandetailsMap.put(cod2.Id, '无此产品的库存,请入库。');
      }
    }
@@ -990,44 +829,28 @@
    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) {
@@ -1036,13 +859,7 @@
      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
                SELECT Id, Name, Name__c, SFDA_Status__c, Packing_list_manual__c, Asset_Model_No__c
        FROM Product2__c
        WHERE Id IN :proIdNotinpage.keySet()
      ];
@@ -1051,19 +868,10 @@
      }
      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
            )
          ) {
                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
                                reFindProductList[i].Consumable_Product__c + reFindProductList[i].Box_Piece__c
              )
              .clone();
            Jstage.countid = 0;
@@ -1071,11 +879,7 @@
              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)
@@ -1085,25 +889,12 @@
              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
            )
          ) {
                } 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
                                reFindProductList[i].Consumable_product__c + reFindProductList[i].Box_Piece__c
              )
              .clone();
            Jstage.countid = 0;
@@ -1111,11 +902,7 @@
              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)
@@ -1125,11 +912,7 @@
              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);
          }
        }
      }
@@ -1146,17 +929,13 @@
      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 + '个'));
      }
    }
@@ -1164,15 +943,8 @@
    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);
@@ -1238,64 +1010,39 @@
    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],
                  '该产品已经过有效期,请销存。'
                )
                                new ConsumableorderdetailsInfo(ProductCount_Res[i], '该产品已经过有效期,请销存。')
              );
              pandiandetailsMap.put(
                ProductCount_Res[i].Id,
                '该产品已经过有效期,请销存。'
              );
                            pandiandetailsMap.put(ProductCount_Res[i].Id, '该产品已经过有效期,请销存。');
              if (
                pandianoverdueCountMap.containsKey(
                  ProductCount_Res[i].Consumable_product__c +
                  ProductCount_Res[i].Box_Piece__c
                                    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
                );
                                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,
                                    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
                                        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 (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) &&
@@ -1305,16 +1052,12 @@
              consumableorderdetailsRecordserrordummy.add(
                new ConsumableorderdetailsInfo(
                  cod2,
                  '该产品归属于' +
                    otherAgProMap.get(cod2.Bar_Code__c).Dealer_Info_text__c +
                    '的库存。'
                                    '该产品归属于' + otherAgProMap.get(cod2.Bar_Code__c).Dealer_Info_text__c + '的库存。'
                )
              );
              pandiandetailsMap.put(
                cod2.Id,
                '该产品归属于' +
                  otherAgProMap.get(cod2.Bar_Code__c).Dealer_Info_text__c +
                  '的库存。'
                                '该产品归属于' + otherAgProMap.get(cod2.Bar_Code__c).Dealer_Info_text__c + '的库存。'
              );
              continue;
            }
@@ -1322,16 +1065,10 @@
        }
        // 需要返品的产品
        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,
                  '该产品目前出库状态,请返品。'
                )
                                new ConsumableorderdetailsInfo(cod2, '该产品目前出库状态,请返品。')
              );
              pandiandetailsMap.put(cod2.Id, '该产品目前出库状态,请返品。');
              continue;
@@ -1372,24 +1109,14 @@
    //寻回做成
    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);
          }
        }
      }
@@ -1414,21 +1141,14 @@
      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;
    iSinventory = true;
    consumableorderdetailsRecordserrordummy.clear();
    pandiandetailsList = [
      SELECT
        Id,
        Bar_Code__c,
        Consumable_Product__r.Name__c,
        Box_Piece__c,
        Lose_reason__c
            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
@@ -1450,15 +1170,11 @@
    //分页
    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;
@@ -1479,27 +1195,16 @@
    //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;
@@ -1551,30 +1256,14 @@
      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 + '无丢失产品,不需要填写差异原因', '');
        }
      }
    }
@@ -1591,11 +1280,7 @@
    try {
      insert Po;
      eSetId = Po.id;
      List<Consumable_order__c> Consumable_order = [
        SELECT Name
        FROM Consumable_order__c
        WHERE id = :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>();
@@ -1649,10 +1334,7 @@
        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;
@@ -1676,12 +1358,7 @@
    } 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
@@ -1698,9 +1375,7 @@
  //盘点一览
  public PageReference ProS() {
    // 返回盘点一览
    PageReference ref = new Pagereference(
      '/apex/InventoryList?eSetId=' + eSetId
    );
        PageReference ref = new Pagereference('/apex/InventoryList?eSetId=' + eSetId);
    ref.setRedirect(true);
    return ref;
  }
@@ -1756,10 +1431,7 @@
    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;