Esempio n. 1
0
 public JsonResult DoAudit(int Id)
 {
     try
     {
         StockInType obj = GetById(Id);
         obj.IsAudit = 1;
         NSession.SaveOrUpdate(obj);
         NSession.Flush();
         IList <WarehouseStockType> list = NSession.CreateQuery(" from WarehouseStockType where WId=:p1 and SKU=:p2").SetInt32("p1", obj.WId).SetString("p2", obj.SKU).List <WarehouseStockType>();
         if (list.Count > 0)
         {
             WarehouseStockType ws = list[0];
             ws.Qty = ws.Qty + obj.Qty;
             NSession.SaveOrUpdate(ws);
             NSession.Flush();
             Utilities.SetComposeStock(obj.SKU, NSession);
             Utilities.CreateSKUCode(obj.SKU, obj.Qty, obj.Id.ToString(), NSession);
             IList <OrderType> orders = NSession.CreateQuery(" from OrderType where Id in(select OId from OrderProductType where SKU ='" + obj.SKU + "' and IsQue=1) and IsOutOfStock=1").List <OrderType>();
             foreach (OrderType item in orders)
             {
                 OrderHelper.SetQueOrder(item, NSession);
             }
         }
     }
     catch (Exception ee)
     {
         return(Json(new { IsSuccess = false, ErrorMsg = "出错了" }));
     }
     return(Json(new { IsSuccess = true }));
 }
Esempio n. 2
0
        public static bool StockOut(int wid, string sku, int num, string outType, string user, string memo, string orderNo, ISession NSession)
        {
            IList <WarehouseStockType> list = NSession.CreateQuery(" from WarehouseStockType where WId=:p1 and SKU=:p2").SetInt32("p1", wid).SetString("p2", sku).List <WarehouseStockType>();

            if (list.Count > 0)
            {
                WarehouseStockType ws = list[0];
                ws.Qty      = ws.Qty - num;
                ws.UpdateOn = DateTime.Now;
                NSession.SaveOrUpdate(ws);
                NSession.Flush();
                SetComposeStock(sku, NSession);
                StockOutType stockOutType = new StockOutType();
                stockOutType.CreateBy  = user;
                stockOutType.CreateOn  = DateTime.Now;
                stockOutType.OrderNo   = orderNo;
                stockOutType.Qty       = num;
                stockOutType.SKU       = sku;
                stockOutType.OutType   = outType;
                stockOutType.SourceQty = ws.Qty + num;
                stockOutType.WId       = wid;
                stockOutType.Memo      = memo;
                NSession.Save(stockOutType);
                NSession.Flush();
                return(true);
            }
            return(false);
        }
Esempio n. 3
0
        /// <summary>
        /// 根据Id获取
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        public WarehouseStockType GetById(int Id)
        {
            WarehouseStockType obj = NSession.Get <WarehouseStockType>(Id);

            if (obj == null)
            {
                throw new Exception("返回实体为空");
            }
            else
            {
                return(obj);
            }
        }
Esempio n. 4
0
 public JsonResult Create(WarehouseStockType obj)
 {
     try
     {
         NSession.SaveOrUpdate(obj);
         NSession.Flush();
     }
     catch (Exception ee)
     {
         return(Json(new { IsSuccess = false, ErrorMsg = "出错了" }));
     }
     return(Json(new { IsSuccess = true }));
 }
Esempio n. 5
0
 public JsonResult DeleteConfirmed(int id)
 {
     try
     {
         WarehouseStockType obj = GetById(id);
         NSession.Delete(obj);
         NSession.Flush();
     }
     catch (Exception ee)
     {
         return(Json(new { IsSuccess = false, ErrorMsg = "出错了" }));
     }
     return(Json(new { IsSuccess = true }));
 }
Esempio n. 6
0
        public static bool StockIn(int wid, string sku, int num, double price, string InType, string user, string memo, ISession NSession, bool isAudit = false)
        {
            IList <WarehouseStockType> list = NSession.CreateQuery(" from WarehouseStockType where WId=:p1 and SKU=:p2").SetInt32("p1", wid).SetString("p2", sku).List <WarehouseStockType>();

            if (list.Count > 0)
            {
                WarehouseStockType ws = list[0];
                ws.Qty      = ws.Qty + num;
                ws.UpdateOn = DateTime.Now;
                NSession.SaveOrUpdate(ws);
                NSession.Flush();
                SetComposeStock(sku, NSession);
                StockInType stockInType = new StockInType();
                stockInType.IsAudit = 0;
                if (isAudit)
                {
                    stockInType.IsAudit = 1;
                }
                stockInType.Price     = price;
                stockInType.Qty       = num;
                stockInType.SKU       = sku;
                stockInType.WId       = wid;
                stockInType.InType    = InType;
                stockInType.Memo      = memo;
                stockInType.WName     = ws.Warehouse;
                stockInType.SourceQty = ws.Qty - num;
                stockInType.CreateBy  = user;
                stockInType.CreateOn  = DateTime.Now;
                NSession.SaveOrUpdate(stockInType);
                NSession.Flush();

                if (price > 0)
                {
                    NSession.CreateSQLQuery(" update Products set Price=" + price + "  where  SKU='" + sku + "'")
                    .UniqueResult();
                    NSession.Flush();
                }

                IList <OrderType> orders = NSession.CreateQuery(" from OrderType where Id in(select OId from OrderProductType where SKU ='" + sku + "' and IsQue=1) and IsOutOfStock=1").List <OrderType>();
                foreach (OrderType item in orders)
                {
                    OrderHelper.SetQueOrder(item, NSession);
                }
                return(true);
            }
            return(false);
        }
Esempio n. 7
0
        public JsonResult List(int page, int rows, string sort, string order, string search)
        {
            string orderby = Utilities.OrdeerBy(sort, order);

            string where = Utilities.SqlWhere(search);


            List <WarehouseStockType> objList = NSession.CreateSQLQuery("select *,(select COUNT(Id) from SKUCode S where S.SKU = WS.sku and IsOut=0 group by SKU) as UnPeiQty from WarehouseStock WS" + where + orderby).AddEntity(typeof(WarehouseStockType))
                                                .SetFirstResult(rows * (page - 1))
                                                .SetMaxResults(rows)
                                                .List <WarehouseStockType>().ToList();
            string ids = "";

            foreach (var warehouseStockType in objList)
            {
                ids += warehouseStockType.SKU + ",";
            }
            if (ids.Length > 0)
            {
                ids = ids.Trim(',');
            }
            IList <object[]> objs =
                NSession.CreateQuery("select SKU,COUNT(Id) from SKUCodeType where SKU in('" + ids.Replace(",", "','") + "') and IsOut=0 group by SKU ").List <object[]>();

            foreach (var objectse in objs)
            {
                WarehouseStockType warehouse =
                    objList.Find(x => x.SKU.Trim().ToUpper() == objectse[0].ToString().Trim().ToUpper());
                if (warehouse != null)
                {
                    warehouse.UnPeiQty = Convert.ToInt32(objectse[1]);
                    if (warehouse.UnPeiQty == 0)
                    {
                        warehouse.UnPeiQty = warehouse.Qty;
                    }
                }
            }
            object count = NSession.CreateQuery("select count(Id) from WarehouseStockType " + where).UniqueResult();

            return(Json(new { total = count, rows = objList }));
        }
Esempio n. 8
0
        private static void AddToWarehouse(ProductType obj, ISession NSession, int Qty = 0)
        {
            IList <WarehouseType> list = NSession.CreateQuery(" from WarehouseType").List <WarehouseType>();

            //
            //在仓库中添加产品库存
            //
            foreach (var item in list)
            {
                WarehouseStockType stock = new WarehouseStockType();
                stock.Pic       = obj.SPicUrl;
                stock.WId       = item.Id;
                stock.Warehouse = item.WName;
                stock.PId       = obj.Id;
                stock.SKU       = obj.SKU;
                stock.Title     = obj.ProductName;
                stock.Qty       = Qty;
                stock.UpdateOn  = DateTime.Now;
                NSession.SaveOrUpdate(stock);
                NSession.Flush();
            }
        }
Esempio n. 9
0
        public ActionResult ImportProduct(string fileName)
        {
            try
            {
                List <ResultInfo>     results = new List <ResultInfo>();
                DataTable             dt      = OrderHelper.GetDataTable(fileName);
                IList <WarehouseType> list    = NSession.CreateQuery(" from WarehouseType").List <WarehouseType>();
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    ProductType p = new ProductType {
                        CreateOn = DateTime.Now
                    };
                    p.SKU = dt.Rows[i]["子SKU"].ToString().Trim();
                    if (IsExist(p.SKU))
                    {
                        continue;
                    }
                    p.Status           = dt.Rows[i]["销售状态"].ToString();
                    p.ProductName      = dt.Rows[i]["名称"].ToString();
                    p.Category         = dt.Rows[i]["分类"].ToString();
                    p.Standard         = dt.Rows[i]["规格"].ToString();
                    p.Price            = Convert.ToDouble(dt.Rows[i]["价格"]);
                    p.Weight           = Convert.ToInt16(dt.Rows[i]["重量"]);
                    p.Long             = Convert.ToInt16(dt.Rows[i]["长"]);
                    p.Wide             = Convert.ToInt16(dt.Rows[i]["宽"]);
                    p.High             = Convert.ToInt16(dt.Rows[i]["高"]);
                    p.Location         = dt.Rows[i]["库位号"].ToString();
                    p.OldSKU           = dt.Rows[i]["SKU"].ToString();
                    p.HasBattery       = Convert.ToInt32(dt.Rows[i]["电池"].ToString());
                    p.IsElectronic     = Convert.ToInt32(dt.Rows[i]["电子"].ToString());
                    p.IsScan           = Convert.ToInt32(dt.Rows[i]["配货扫描"].ToString());
                    p.DayByStock       = Convert.ToInt32(dt.Rows[i]["备货天数"].ToString());
                    p.ProductAttribute = dt.Rows[i]["产品属性"].ToString();
                    p.Enabled          = 1;
                    if (!HasExsit(p.SKU))
                    {
                        NSession.SaveOrUpdate(p);
                        NSession.Flush();
                        results.Add(OrderHelper.GetResult(p.SKU, "", "导入成功"));

                        //在仓库中添加产品库存
                        foreach (var item in list)
                        {
                            WarehouseStockType stock = new WarehouseStockType();
                            stock.Pic       = p.SPicUrl;
                            stock.WId       = item.Id;
                            stock.Warehouse = item.WName;
                            stock.PId       = p.Id;
                            stock.SKU       = p.SKU;
                            stock.Title     = p.ProductName;
                            stock.Qty       = 0;
                            stock.UpdateOn  = DateTime.Now;
                            NSession.SaveOrUpdate(stock);
                            NSession.Flush();
                        }
                    }
                    else
                    {
                        results.Add(OrderHelper.GetResult(p.SKU, "该产品已存在", "导入失败"));
                    }
                }
                Session["Results"] = results;
                return(Json(new { IsSuccess = true, Info = true }));
            }
            catch (Exception ex)
            {
                return(Json(new { IsSuccess = false, ErrorMsg = ex.Message, Info = true }));
            }
        }
Esempio n. 10
0
        public ActionResult Edit(int id)
        {
            WarehouseStockType obj = GetById(id);

            return(View(obj));
        }