Пример #1
0
        /// <summary>
        /// 根据产品条码或者产品编号或者产品名称搜索库存产品数量以及库存位置
        /// 主要用于选择产品的界面中搜索功能。在搜索到相应产品之后查询库存信息
        /// </summary>
        /// <returns></returns>
        public List <LocalProductEntity> GetList(string barCode)
        {
            LocalProductEntity entity = new LocalProductEntity();

            entity.IncludeAll();
            ProductEntity ProEntity = new ProductEntity();

            ProEntity.Include(a => new { Size = a.Size, InPrice = a.InPrice });
            entity.Left <ProductEntity>(ProEntity, new Params <string, string>()
            {
                Item1 = "ProductNum", Item2 = "SnNum"
            });
            entity.Where(a => a.BarCode == barCode);
            entity.OrderBy(a => a.ID, EOrderBy.DESC);
            List <LocalProductEntity> listResult = this.LocalProduct.GetList(entity);

            return(listResult);
        }
Пример #2
0
        /// <summary>
        /// 获得产品的当前库存
        /// </summary>
        /// <param name="storageNum"></param>
        /// <param name="productNum"></param>
        /// <returns></returns>
        public double GetLocalNum(string storageNum, string productNum)
        {
            LocalProductEntity entity = new LocalProductEntity();

            entity.IncludeNum(true);
            entity.Where(a => a.StorageNum == storageNum).And(a => a.ProductNum == productNum)
            .And(a => a.LocalType == (int)ELocalType.Normal);
            try
            {
                double sum = this.LocalProduct.Sum <double>(entity);
                return(sum);
            }
            catch (Exception e)
            {
                log.Info(e.Message);
            }
            return(0);
        }
Пример #3
0
        /// <summary>
        /// 获得库存信息
        /// </summary>
        /// <param name="barCode"></param>
        /// <returns></returns>
        public List <LocalProductEntity> GetList(string barCode)
        {
            LocalProductEntity entity = new LocalProductEntity();

            entity.IncludeAll();
            entity.OrderBy(a => a.ID, EOrderBy.DESC);
            entity.Where(a => a.BarCode == barCode).Or(a => a.ProductNum == barCode);

            LocationEntity location = new LocationEntity();

            entity.Left <LocationEntity>(location, new Params <string, string>()
            {
                Item1 = "LocalNum", Item2 = "LocalNum"
            });
            location.Where(a => a.LocalType == (int)ELocalType.Normal);
            List <LocalProductEntity> listResult = this.LocalProduct.GetList(entity);

            return(listResult);
        }
Пример #4
0
        /// <summary>
        /// 可出库的产品库存分页列表
        /// </summary>
        /// <returns></returns>
        public ActionResult GetOutAbleList()
        {
            string CompanyID = WebUtil.GetFormValue <string>("CompanyID", string.Empty);

            string StorageNum = WebUtil.GetFormValue <string>("StorageNum", string.Empty);
            string LocalNum   = WebUtil.GetFormValue <string>("LocalNum", string.Empty);
            int    LocalType  = WebUtil.GetFormValue <int>("LocalType", 0);

            string BarCode     = WebUtil.GetFormValue <string>("BarCode", string.Empty);
            string ProductName = WebUtil.GetFormValue <string>("ProductName", string.Empty);
            string BatchNum    = WebUtil.GetFormValue <string>("BatchNum", string.Empty);

            int PageIndex = WebUtil.GetFormValue <int>("PageIndex", 1);
            int PageSize  = WebUtil.GetFormValue <int>("PageSize", 10);

            LocalProductEntity entity = new LocalProductEntity();

            entity.CompanyID   = CompanyID;
            entity.StorageNum  = StorageNum;
            entity.LocalNum    = LocalNum;
            entity.LocalType   = LocalType;
            entity.BarCode     = BarCode;
            entity.ProductName = ProductName;
            entity.BatchNum    = BatchNum;

            PageInfo pageInfo = new PageInfo()
            {
                PageIndex = PageIndex, PageSize = PageSize
            };
            LocalProductProvider      provider   = new LocalProductProvider(CompanyID);
            List <LocalProductEntity> listResult = provider.GetOutAbleList(entity, ref pageInfo);

            DataListResult <LocalProductEntity> dataResult = new DataListResult <LocalProductEntity>()
            {
                Code     = (int)EResponseCode.Success,
                Message  = "响应成功",
                Result   = listResult,
                PageInfo = pageInfo
            };

            return(Content(JsonHelper.SerializeObject(dataResult)));
        }
Пример #5
0
        /// <summary>
        /// 根据库存唯一编码号获取该位置的库存信息以及产品信息
        /// </summary>
        /// <param name="sn"></param>
        /// <returns></returns>
        public LocalProductEntity GetLocalProductBySn(string sn, string productNum = null)
        {
            LocalProductEntity entity = new LocalProductEntity();

            entity.IncludeAll();
            ProductEntity ProEntity = new ProductEntity();

            ProEntity.Include(a => new { Size = a.Size, InPrice = a.InPrice });
            entity.Left <ProductEntity>(ProEntity, new Params <string, string>()
            {
                Item1 = "ProductNum", Item2 = "SnNum"
            });
            entity.Where(a => a.Sn == sn);
            if (!productNum.IsEmpty())
            {
                entity.Where(a => a.ProductNum == productNum);
            }
            entity = this.LocalProduct.GetSingle(entity);
            return(entity);
        }
Пример #6
0
        public static LocalProduct_CE ToCE(LocalProductEntity item)
        {
            LocalProduct_CE target = new LocalProduct_CE();

            target.ID          = item.ID;
            target.Sn          = item.Sn;
            target.StorageNum  = item.StorageNum;
            target.StorageName = item.StorageName;
            target.LocalNum    = item.LocalNum;
            target.LocalName   = item.LocalName;
            target.LocalType   = item.LocalType;
            target.ProductNum  = item.ProductNum;
            target.BarCode     = item.BarCode;
            target.ProductName = item.ProductName;
            target.Num         = item.Num;
            target.CreateTime  = item.CreateTime;
            target.CreateUser  = item.CreateUser;
            target.CreateName  = item.CreateName;
            target.Remark      = item.Remark;
            return(target);
        }
Пример #7
0
        /// <summary>
        /// 获得满足条件的所有产品的库存
        /// </summary>
        /// <param name="localName"></param>
        /// <param name="localType"></param>
        /// <param name="searchKey"></param>
        /// <param name="storageNum"></param>
        /// <returns></returns>
        public int GetAllNum(string localName, string localType, string searchKey, string storageNum)
        {
            LocalProductEntity entity = new LocalProductEntity();

            if (!storageNum.IsEmpty())
            {
                entity.Where("StorageNum", ECondition.Eth, storageNum);
            }
            if (!localType.IsEmpty())
            {
                entity.Where("LocalType", ECondition.Eth, localType);
            }
            if (!localName.IsEmpty())
            {
                entity.Where("LocalName", ECondition.Like, "%" + localName + "%");
                entity.Or("LocalNum", ECondition.Like, "%" + localName + "%");
            }
            if (!searchKey.IsEmpty())
            {
                entity.Begin <LocalProductEntity>()
                .Where <LocalProductEntity>("ProductName", ECondition.Like, "%" + searchKey + "%")
                .Or <LocalProductEntity>("ProductNum", ECondition.Like, "%" + searchKey + "%")
                .Or <LocalProductEntity>("BarCode", ECondition.Like, "%" + searchKey + "%")
                .End <LocalProductEntity>();
            }
            entity.IncludeNum(true);
            int allNum = 0;

            try
            {
                allNum = this.LocalProduct.Sum <int>(entity);
            }
            catch (Exception e)
            {
                allNum = 0;
                log.Info(e.Message);
            }
            return(allNum);
        }
Пример #8
0
        /// <summary>
        /// 查询可用于报损的仓库数据
        /// </summary>
        /// <param name="entity"></param>
        /// <param name="pageInfo"></param>
        /// <returns></returns>
        public List <LocalProductEntity> GetBadAbleList(LocalProductEntity entity, ref PageInfo pageInfo)
        {
            entity.IncludeAll();
            entity.Where(item => item.CompanyID == this.CompanyID).And(item => item.Num > 0);
            entity.OrderBy(item => item.ID, EOrderBy.DESC);

            entity.AndBegin <LocalProductEntity>()
            .Or <LocalProductEntity>(item => item.LocalType == (int)ELocalType.Normal)
            .Or <LocalProductEntity>(item => item.LocalType == (int)ELocalType.WaitIn)
            .Or <LocalProductEntity>(item => item.LocalType == (int)ELocalType.WaitCheck)
            .End();

            if (entity.StorageNum.IsNotEmpty())
            {
                entity.And(item => item.StorageNum == entity.StorageNum);
            }
            if (entity.LocalType > 0)
            {
                entity.And(item => item.LocalType == entity.LocalType);
            }
            if (entity.LocalNum.IsNotEmpty())
            {
                entity.And(item => item.LocalNum == entity.LocalNum);
            }
            if (entity.BarCode.IsNotEmpty())
            {
                entity.And("BarCode", ECondition.Like, "%" + entity.BarCode + "%");
            }
            if (entity.ProductName.IsNotEmpty())
            {
                entity.And("ProductName", ECondition.Like, "%" + entity.ProductName + "%");
            }
            if (entity.BatchNum.IsNotEmpty())
            {
                entity.And("BatchNum", ECondition.Like, "%" + entity.BatchNum + "%");
            }

            int rowCount = 0;
            List <LocalProductEntity> listResult = this.LocalProduct.GetList(entity, pageInfo.PageSize, pageInfo.PageIndex, out rowCount);

            pageInfo.RowCount = rowCount;

            if (!listResult.IsNullOrEmpty())
            {
                ProductProvider productProvider = new ProductProvider(this.CompanyID);
                foreach (LocalProductEntity item in listResult)
                {
                    ProductEntity product = productProvider.GetProduct(item.ProductNum);
                    if (product != null)
                    {
                        item.Size     = product.Size;
                        item.CateNum  = product.CateNum;
                        item.CateName = product.CateName;
                        item.AvgPrice = product.AvgPrice;
                        item.MinNum   = product.MinNum;
                        item.MaxNum   = product.MaxNum;
                    }
                }
            }
            return(listResult);
        }