/// <summary> /// 获得采购退货单详细 /// </summary> /// <param name="entity"></param> /// <returns></returns> public override List <PurchaseReturnDetailEntity> GetOrderDetail(PurchaseReturnDetailEntity entity) { PurchaseReturnDetailEntity detail = new PurchaseReturnDetailEntity(); detail.IncludeAll(); detail.Where(a => a.OrderSnNum == entity.OrderSnNum) .And(a => a.CompanyID == this.CompanyID) ; List <PurchaseReturnDetailEntity> list = this.PurchaseReturnDetail.GetList(detail); if (!list.IsNullOrEmpty()) { List <ProductEntity> listProducts = new ProductProvider(this.CompanyID).GetList(); listProducts = listProducts.IsNull() ? new List <ProductEntity>() : listProducts; foreach (PurchaseReturnDetailEntity item in list) { ProductEntity product = listProducts.FirstOrDefault(a => a.SnNum == item.ProductNum); if (product != null) { item.UnitNum = product.UnitNum; item.UnitName = product.UnitName; item.Size = product.Size; } } } return(list); }
/// <summary> /// 获得单据详细信息 /// </summary> /// <param name="entity"></param> /// <returns></returns> public override List <InStorDetailEntity> GetOrderDetail(InStorDetailEntity entity) { InStorDetailEntity detail = new InStorDetailEntity(); detail.IncludeAll(); detail.Where(a => a.OrderSnNum == entity.OrderSnNum) .And(a => a.CompanyID == this.CompanyID) ; List <InStorDetailEntity> list = this.InStorDetail.GetList(detail); if (!list.IsNullOrEmpty()) { List <LocationEntity> listLocation = new LocationProvider(this.CompanyID).GetList(); listLocation = listLocation == null ? new List <LocationEntity>() : listLocation; List <ProductEntity> listProduct = new ProductProvider(this.CompanyID).GetList(); listProduct = listProduct == null ? new List <ProductEntity>() : listProduct; foreach (InStorDetailEntity item in list) { LocationEntity location = listLocation.FirstOrDefault(a => a.LocalNum == item.LocalNum); item.LocalName = location == null ? "" : location.LocalName; item.StorageName = location == null ? "" : location.StorageName; ProductEntity product = listProduct.FirstOrDefault(a => a.SnNum == item.ProductNum); item.Size = product.IsNull() ? string.Empty : product.Size; } } return(list); }
public ActionResult AddProduct([ModelBinder(typeof(JsonBinder <List <LocalProductEntity> >))] List <LocalProductEntity> list) { List <OutStoDetailEntity> ListCache = Session[CacheKey.TEMPDATA_CACHE_OUTSTORDETAIL] as List <OutStoDetailEntity>; ListCache = ListCache.IsNull() ? new List <OutStoDetailEntity>() : ListCache; if (!list.IsNullOrEmpty()) { List <ProductEntity> ListSource = new ProductProvider().GetListByCache(); foreach (LocalProductEntity item in list) { ProductEntity product = ListSource.FirstOrDefault(a => a.SnNum == item.ProductNum); if (product.IsNotNull()) { if (!ListCache.Exists(a => a.ProductNum == item.ProductNum && a.BatchNum == item.BatchNum && a.LocalNum == item.LocalNum)) { OutStoDetailEntity entity = new OutStoDetailEntity(); entity.SnNum = SequenceProvider.GetSequence(typeof(OutStoDetailEntity)); entity.ProductName = product.ProductName; entity.BarCode = product.BarCode; entity.BatchNum = item.BatchNum; entity.ProductNum = product.SnNum; entity.LocalNum = item.LocalNum; entity.LocalName = item.LocalName; entity.Color = item.Color; entity.Count = item.Count; entity.StorageNum = this.DefaultStore; entity.Num = item.Num; entity.IsPick = (int)EBool.No; entity.Size = item.Size; entity.RealNum = 0; entity.OutPrice = product.InPrice; entity.Amount = product.InPrice * entity.Num; entity.CreateTime = DateTime.Now; ListCache.Add(entity); } else { OutStoDetailEntity entity = ListCache.First(a => a.ProductNum == item.ProductNum && a.BatchNum == item.BatchNum && a.LocalNum == item.LocalNum); entity.Num += item.Num; entity.OutPrice = product.InPrice; entity.Amount = product.InPrice * entity.Num; entity.CreateTime = DateTime.Now; } } } } if (!ListCache.IsNullOrEmpty()) { Session[CacheKey.TEMPDATA_CACHE_OUTSTORDETAIL] = ListCache; } return(Content(string.Empty)); }
public ActionResult Edit() { string orderNum = WebUtil.GetQueryStringValue <string>("OrderNum", string.Empty); Bill <CheckStockEntity, CheckStockInfoEntity> bill = new CheckOrder(); CheckStockEntity entity = new CheckStockEntity(); entity.OrderNum = orderNum; entity = bill.GetOrder(entity); if (entity.IsNull()) { return(Redirect("/Check/Product/List")); } string checkType = EnumHelper.GetOptions <ECheckType>(entity.Type); ViewBag.CheckType = checkType; ViewBag.ProductType = EnumHelper.GetOptions <EProductType>(entity.ProductType); ViewBag.Entity = entity; CheckStockInfoEntity info = new CheckStockInfoEntity(); info.OrderNum = orderNum; List <CheckStockInfoEntity> list = bill.GetOrderDetail(info); List <ProductEntity> ListProducts = new List <ProductEntity>(); List <ProductEntity> ListSource = new ProductProvider().GetListByCache(); if (!list.IsNullOrEmpty()) { Parallel.ForEach(list, item => { if (ListSource.Exists(a => a.SnNum == item.TargetNum)) { ProductEntity target = ListSource.FirstOrDefault(a => a.SnNum == item.TargetNum); ListProducts.Add(target); } }); } Session[CacheKey.JOOSHOW_CHECKDETAIL_CACHE] = ListProducts; return(View()); }