chengsc
2025-04-22 e43b6adef17e3cf00d487e4e2084f57c181ab67d
Wms/WMS.BLL/BllPdaServer/PdaAsnServer.cs
@@ -1847,6 +1847,51 @@
            }
        }
        /// <summary>
        /// 根据单据获取标签数量
        /// </summary>
        /// <param name="asnNo">入库单</param>
        /// <param name="asnDetailId">入库单明细号</param>
        /// <returns></returns>
        public BoxListInfoDto GetBoxCountByAsn(string asnNo,int? asnDetailId)
        {
            try
            {
                var detail = Db.Queryable<BllArrivalNoticeDetail>().First(m => m.IsDel == "0" && m.Id == asnDetailId);
                if (detail == null)
                {
                    throw new Exception("没有查询到单据明细信息");
                }
                var data = new BoxListInfoDto()
                {
                    SkuNo = detail.SkuNo,
                    SkuName = detail.SkuName,
                    LotNo = detail.LotNo,
                };
                //获取状态是未组托的标签信息
                var models = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.ASNNo == asnNo && m.ASNDetailNo == asnDetailId ).GroupBy(m=> new { m.ProductionTime,m.ExpirationTime }).Select(m=>new { m.ProductionTime ,m.ExpirationTime}).OrderBy(m=>m.ProductionTime).ToList();//&& m.Status == "0"
                foreach (var item in models)
                {
                    var boxNoList = Db.Queryable<BllBoxInfo>().Where(m => m.IsDel == "0" && m.ASNNo == asnNo && m.ASNDetailNo == asnDetailId && m.ProductionTime == item.ProductionTime).Select(m => m.BoxNo).ToList();
                    if (boxNoList.Count > 0)
                    {
                        data.BoxNoList = boxNoList;
                        data.Date1 = item.ProductionTime.ToString();
                        data.Date2 = item.ExpirationTime.ToString();
                        break;
                    }
                }
                return data;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        #endregion