Example #1
0
        public ActionResult Edit(System.Int64? id, string act)
        {
            Z10DepotProduct entity = null;
            if (id.HasValue && id > 0)
            {
                if (act == "detail")
                {
                    if ((_crud & Zippy.SaaS.Entity.CRUD.Read) != Zippy.SaaS.Entity.CRUD.Read) return RedirectToAction("NoPermission", "Error");
                    ViewData["VTitle"] = "查看库存产品信息";
                    ViewData["IsDetail"] = true;
                }
                else
                {
                    if ((_crud & Zippy.SaaS.Entity.CRUD.Update) != Zippy.SaaS.Entity.CRUD.Update) return RedirectToAction("NoPermission", "Error");
                    ViewData["VTitle"] = "修改库存产品信息";
                }
                entity = Z10DepotProductHelper.Create(db, id.Value);
                ViewData["DepotOptions"] = EAP.Logic.Z10.HtmlHelper.DepotSelectOptions(_tenant.TenantID.Value, entity.DepotID, db);
                ViewData["ProductTitle"] = db.FindUnique<Z01Beetle.Entity.Z01Product>("ProductID=@ProductID and TenantID=@TenantID",
                    "Title", db.CreateParameter("ProductID", entity.ProductID), db.CreateParameter("TenantID", _tenant.TenantID.Value));
            }
            else
            {
                if ((_crud & Zippy.SaaS.Entity.CRUD.Create) != Zippy.SaaS.Entity.CRUD.Create) return RedirectToAction("NoPermission", "Error");
                ViewData["VTitle"] = "新增库存产品";
                entity = new Z10DepotProduct();
                ViewData["DepotOptions"] = EAP.Logic.Z10.HtmlHelper.DepotSelectOptions(_tenant.TenantID.Value, db);
            }

            string returnUrl                         = Request["ReturnUrl"];
            if (returnUrl.IsNullOrEmpty()) returnUrl = "/" + _ContollerName;
            ViewData["ReturnUrl"] = returnUrl;
            return View(entity);
        }
Example #2
0
        public ActionResult EditDepotProduct(System.Int64?id)
        {
            if ((_crud & Zippy.SaaS.Entity.CRUD.Create) != Zippy.SaaS.Entity.CRUD.Create)
            {
                return(RedirectToAction("NoPermission", "Error"));
            }
            Z10DepotProduct entity = null;

            if (id.HasValue && id > 0)
            {
                if ((_crud & Zippy.SaaS.Entity.CRUD.Update) != Zippy.SaaS.Entity.CRUD.Update)
                {
                    return(RedirectToAction("NoPermission", "Error"));
                }
                ViewData["VTitle"] = "修改库存信息";

                entity = Z10DepotProductHelper.Create(db, id.Value);
            }
            else
            {
                if ((_crud & Zippy.SaaS.Entity.CRUD.Create) != Zippy.SaaS.Entity.CRUD.Create)
                {
                    return(RedirectToAction("NoPermission", "Error"));
                }
                ViewData["VTitle"] = "新增库存商品";
                entity             = new Z10DepotProduct();
            }

            return(View(entity));
        }
Example #3
0
        public ActionResult Details(System.Int64 id)
        {
            if ((_crud & Zippy.SaaS.Entity.CRUD.Read) != Zippy.SaaS.Entity.CRUD.Read)
            {
                return(RedirectToAction("NoPermission", "Error"));
            }
            Z10DepotProduct entity = Z10DepotProductHelper.Create(db, id);

            return(View(entity));
        }
Example #4
0
        public ActionResult Edit(System.Int64?id, Z10DepotProduct entity)
        {
            entity.DepotProductID = id;


            ValidateZ10DepotProduct(entity);
            if (!ModelState.IsValid)
            {
                return(View(entity));
            }
            try
            {
                if (id.HasValue && id > 0)
                {
                    if ((_crud & Zippy.SaaS.Entity.CRUD.Update) != Zippy.SaaS.Entity.CRUD.Update)
                    {
                        return(RedirectToAction("NoPermission", "Error"));
                    }
                    //仓库和商品不允许修改
                    entity.DepotID   = null;
                    entity.ProductID = null;
                    db.Update(entity);
                }
                else
                {
                    if ((_crud & Zippy.SaaS.Entity.CRUD.Create) != Zippy.SaaS.Entity.CRUD.Create)
                    {
                        return(RedirectToAction("NoPermission", "Error"));
                    }
                    if (db.Exists <Z10DepotProduct>("DepotID=@DepotID and ProductID=@ProductID and TenantID=@TenantID",
                                                    db.CreateParameter("DepotID", entity.DepotID), db.CreateParameter("ProductID", entity.ProductID), db.CreateParameter("TenantID", _tenant.TenantID.Value)))
                    {
                        ViewData["DepotOptions"] = EAP.Logic.Z10.HtmlHelper.DepotSelectOptions(_tenant.TenantID.Value, entity.DepotID, db);
                        ViewData["ProductTitle"] = db.FindUnique <Z01Beetle.Entity.Z01Product>("ProductID=@ProductID and TenantID=@TenantID",
                                                                                               "Title", db.CreateParameter("ProductID", entity.ProductID), db.CreateParameter("TenantID", _tenant.TenantID.Value));
                        ModelState.AddModelError("这个仓库已经有此种商品。", "这个仓库已经有此种商品。");
                        return(View(entity));
                    }

                    entity.DepotProductID = null;



                    entity.TenantID = _tenant.TenantID;
                    db.Insert(entity);
                }

                return(Return());
            }
            catch
            {
                return(View(entity));
            }
        }
Example #5
0
        public ActionResult SaveProduct_S3(decimal count, decimal?price, long pid, long?did, string color, string size)
        {
            if (count <= 0)
            {
                return(Content("数量必须大于0。"));
            }
            var Price = price ?? 0;

            EAP.Logic.DictResponse res = new Logic.DictResponse();

            var tenantID = _tenant.TenantID.Value;

            //更新商品库
            if (!db.Exists <Z10DepotProduct>("ProductID=@ProductID and DepotID=@DepotID and TenantID=@TenantID",
                                             db.CreateParameter("ProductID", pid), db.CreateParameter("DepotID", did ?? 0), db.CreateParameter("TenantID", tenantID)))
            {
                Z10DepotProduct xProduct = new Z10DepotProduct();
                xProduct.TenantID  = tenantID;
                xProduct.ProductID = pid;
                xProduct.DepotID   = did ?? 0;
                xProduct.StockSum  = count;
                xProduct.InSum     = count;
                xProduct.Creator   = _user.UserID.Value;
                db.Insert(xProduct);
            }
            else
            {
                string sqlUpdateDepot = "update Z10DepotProduct set StockSum=StockSum + @itemHappened, InSum=InSum + @itemHappened" +
                                        " where ProductID=@ProductID and DepotID=@DepotID";
                db.ExecuteNonQuery(sqlUpdateDepot, db.CreateParameter("itemHappened", count),
                                   db.CreateParameter("ProductID", pid), db.CreateParameter("DepotID", did ?? 0));
            }

            //更新库存详情
            Z10DepotProductDetail dpd = new Z10DepotProductDetail();

            dpd.TenantID   = tenantID;
            dpd.ProductID  = pid;
            dpd.DepotID    = did ?? 0;
            dpd.OrderID    = 0;
            dpd.StockSum   = count;
            dpd.InSum      = count;
            dpd.ExtColor   = color;
            dpd.ExtSize    = size;
            dpd.PriceStock = Price;
            dpd.Creator    = _user.UserID.Value;
            db.Insert(dpd);


            res._state = true;
            return(Content(res.ToJson()));
        }
Example #6
0
        public ActionResult Edit(System.Int64?id, string act)
        {
            Z10DepotProduct entity = null;

            if (id.HasValue && id > 0)
            {
                if (act == "detail")
                {
                    if ((_crud & Zippy.SaaS.Entity.CRUD.Read) != Zippy.SaaS.Entity.CRUD.Read)
                    {
                        return(RedirectToAction("NoPermission", "Error"));
                    }
                    ViewData["VTitle"]   = "查看库存产品信息";
                    ViewData["IsDetail"] = true;
                }
                else
                {
                    if ((_crud & Zippy.SaaS.Entity.CRUD.Update) != Zippy.SaaS.Entity.CRUD.Update)
                    {
                        return(RedirectToAction("NoPermission", "Error"));
                    }
                    ViewData["VTitle"] = "修改库存产品信息";
                }
                entity = Z10DepotProductHelper.Create(db, id.Value);
                ViewData["DepotOptions"] = EAP.Logic.Z10.HtmlHelper.DepotSelectOptions(_tenant.TenantID.Value, entity.DepotID, db);
                ViewData["ProductTitle"] = db.FindUnique <Z01Beetle.Entity.Z01Product>("ProductID=@ProductID and TenantID=@TenantID",
                                                                                       "Title", db.CreateParameter("ProductID", entity.ProductID), db.CreateParameter("TenantID", _tenant.TenantID.Value));
            }
            else
            {
                if ((_crud & Zippy.SaaS.Entity.CRUD.Create) != Zippy.SaaS.Entity.CRUD.Create)
                {
                    return(RedirectToAction("NoPermission", "Error"));
                }
                ViewData["VTitle"]       = "新增库存产品";
                entity                   = new Z10DepotProduct();
                ViewData["DepotOptions"] = EAP.Logic.Z10.HtmlHelper.DepotSelectOptions(_tenant.TenantID.Value, db);
            }

            string returnUrl = Request["ReturnUrl"];

            if (returnUrl.IsNullOrEmpty())
            {
                returnUrl = "/" + _ContollerName;
            }
            ViewData["ReturnUrl"] = returnUrl;
            return(View(entity));
        }
Example #7
0
 protected void ValidateZ10DepotProduct(Z10DepotProduct entity)
 {
 }
Example #8
0
 /// <summary>
 /// 表示 [仓库] 对应的实体
 /// </summary>
 public static Z10Depot GetDepotIDEntity(Zippy.Data.IDalProvider db, Z10DepotProduct entity)
 {
     return db.FindUnique<Z10Depot>("DepotID=@DepotID", db.CreateParameter("DepotID", entity.DepotID));
 }
Example #9
0
 public static int Insert(Zippy.Data.IDalProvider db, Z10DepotProduct entity)
 {
     int rtn = db.Insert(entity);
     return rtn;
 }
Example #10
0
        public ActionResult Edit(System.Int64? id, Z10DepotProduct entity)
        {
            entity.DepotProductID = id;

            ValidateZ10DepotProduct(entity);
            if (!ModelState.IsValid)
                return View(entity);
            try
            {
                if (id.HasValue && id > 0)
                {
                    if ((_crud & Zippy.SaaS.Entity.CRUD.Update) != Zippy.SaaS.Entity.CRUD.Update) return RedirectToAction("NoPermission", "Error");
                    //仓库和商品不允许修改
                    entity.DepotID = null;
                    entity.ProductID = null;
                    db.Update(entity);
                }
                else
                {
                    if ((_crud & Zippy.SaaS.Entity.CRUD.Create) != Zippy.SaaS.Entity.CRUD.Create) return RedirectToAction("NoPermission", "Error");
                    if (db.Exists<Z10DepotProduct>("DepotID=@DepotID and ProductID=@ProductID and TenantID=@TenantID",
                        db.CreateParameter("DepotID", entity.DepotID), db.CreateParameter("ProductID", entity.ProductID), db.CreateParameter("TenantID", _tenant.TenantID.Value)))
                    {
                        ViewData["DepotOptions"] = EAP.Logic.Z10.HtmlHelper.DepotSelectOptions(_tenant.TenantID.Value, entity.DepotID, db);
                        ViewData["ProductTitle"] = db.FindUnique<Z01Beetle.Entity.Z01Product>("ProductID=@ProductID and TenantID=@TenantID",
                            "Title", db.CreateParameter("ProductID", entity.ProductID), db.CreateParameter("TenantID", _tenant.TenantID.Value));
                        ModelState.AddModelError("这个仓库已经有此种商品。", "这个仓库已经有此种商品。");
                        return View(entity);
                    }

                    entity.DepotProductID = null;

                    entity.TenantID = _tenant.TenantID;
                    db.Insert(entity);
                }

                return Return();
            }
            catch
            {
                return View(entity);
            }
        }
Example #11
0
 public static int Update(Zippy.Data.IDalProvider db, Z10DepotProduct entity)
 {
     return db.Update(entity);
 }
Example #12
0
 protected void ValidateZ10DepotProduct(Z10DepotProduct entity)
 {
 }
Example #13
0
File: Order.cs Project: honj51/EAP
        /// <summary>
        /// 采购出入库
        /// </summary>
        /// <param name="tenantID">租户</param>
        /// <param name="userID">操作者</param>
        /// <param name="oStatus">当前状态</param>
        /// <param name="hsItemCount">各个商品的具体入库数量</param>
        /// <param name="db"></param>
        /// <returns></returns>
        public bool InOutDepot(Guid tenantID, Guid userID, EAP.Logic.Z10.OrderStatus oStatus, Hashtable hsItemCount, Zippy.Data.IDalProvider db)
        {
            throw new Exception("这个入库方式需要商榷。");
            int orderSts = Z10Order.OrderStatus ?? 0;
            if ((orderSts & (int)EAP.Logic.Z10.OrderStatus.Outted) == (int)EAP.Logic.Z10.OrderStatus.Inned ||
                (orderSts & (int)EAP.Logic.Z10.OrderStatus.Finished) == (int)EAP.Logic.Z10.OrderStatus.Finished ||
                (orderSts & (int)EAP.Logic.Z10.OrderStatus.Archived) == (int)EAP.Logic.Z10.OrderStatus.Archived)
            {
                throw new Exception("已经出入库的订单,已经结束的订单和已经存档的订单不能出入库。");
            }

            Z10Order xorder = new Z10Order();
            xorder.OrderID = Z10Order.OrderID;

            if (oStatus == OrderStatus.Inned && ((Z10Order.OrderStatus ?? 0) & (int)OrderStatus.InnedSome) == (int)OrderStatus.InnedSome)
            {
                oStatus = oStatus & (~OrderStatus.InnedSome);
                xorder.OrderStatus = (Z10Order.OrderStatus ?? 0) & (~(int)OrderStatus.InnedSome);
                xorder.OrderStatus = (xorder.OrderStatus ?? 0) | (int)oStatus;
            }
            else if (oStatus == OrderStatus.Outted && ((Z10Order.OrderStatus ?? 0) & (int)OrderStatus.OuttedSome) == (int)OrderStatus.OuttedSome)
            {
                oStatus = oStatus & (~OrderStatus.OuttedSome);
                xorder.OrderStatus = (Z10Order.OrderStatus ?? 0) & (~(int)OrderStatus.OuttedSome);
                xorder.OrderStatus = (xorder.OrderStatus ?? 0) | (int)oStatus;
            }
            else
            {
                xorder.OrderStatus = (Z10Order.OrderStatus ?? 0) | (int)oStatus;
            }

            db.Update(xorder);

            Z10DepotFlow dflow = new Z10DepotFlow();
            foreach (Z10OrderItem item in Items)
            {
                decimal itemHappened = hsItemCount[item.ItemID].ToDecimal();

                if ((oStatus & OrderStatus.Outted) == OrderStatus.Outted || (oStatus & OrderStatus.OuttedSome) == OrderStatus.OuttedSome)
                    db.ColAdd<Z10OrderItem>("CountHappend2", itemHappened, item.ItemID);
                else
                    db.ColAdd<Z10OrderItem>("CountHappend", itemHappened, item.ItemID);

                if (item.CountHappend != 0 || item.CountHappend2 != 0)
                {
                    dflow.FlowID = null;
                    dflow.OrderID = Z10Order.OrderID;
                    dflow.Count = itemHappened;
                    dflow.DepotID = item.DepotID;
                    dflow.Creator = userID;
                    dflow.ProductID = item.ProductID;
                    dflow.TenantID = tenantID;
                    db.Insert(dflow);

                    if (!db.Exists<Z10DepotProduct>("ProductID=@ProductID and DepotID=@DepotID and TenantID=@TenantID",
                        db.CreateParameter("ProductID", item.ProductID), db.CreateParameter("DepotID", item.DepotID), db.CreateParameter("TenantID", tenantID)))
                    {
                        Z10DepotProduct xProduct = new Z10DepotProduct();
                        xProduct.TenantID = tenantID;
                        xProduct.ProductID = item.ProductID;
                        xProduct.DepotID = item.DepotID;
                        xProduct.StockSum = itemHappened;
                        db.Insert(xProduct);
                    }
                    else
                    {
                        string sqlUpdateDepot = "update Z10DepotProduct set StockSum=StockSum + @itemHappened, InSum=InSum + @itemHappened" +
                            " where ProductID=@ProductID and DepotID=@DepotID";
                        db.ExecuteNonQuery(sqlUpdateDepot, db.CreateParameter("itemHappened", itemHappened),
                            db.CreateParameter("ProductID", item.ProductID), db.CreateParameter("DepotID", item.DepotID));

                    }
                }
            }
            return true;
        }
Example #14
0
        public static int Insert(Zippy.Data.IDalProvider db, Z10DepotProduct entity)
        {
            int rtn = db.Insert(entity);

            return(rtn);
        }
Example #15
0
        /// <summary>
        /// 采购出入库
        /// </summary>
        /// <param name="tenantID">租户</param>
        /// <param name="userID">操作者</param>
        /// <param name="oStatus">当前状态</param>
        /// <param name="hsItemCount">各个商品的具体入库数量</param>
        /// <param name="db"></param>
        /// <returns></returns>
        public bool InOutDepot(Guid tenantID, Guid userID, EAP.Logic.Z10.OrderStatus oStatus, Hashtable hsItemCount, Zippy.Data.IDalProvider db)
        {
            throw new Exception("这个入库方式需要商榷。");
            int orderSts = Z10Order.OrderStatus ?? 0;

            if ((orderSts & (int)EAP.Logic.Z10.OrderStatus.Outted) == (int)EAP.Logic.Z10.OrderStatus.Inned ||
                (orderSts & (int)EAP.Logic.Z10.OrderStatus.Finished) == (int)EAP.Logic.Z10.OrderStatus.Finished ||
                (orderSts & (int)EAP.Logic.Z10.OrderStatus.Archived) == (int)EAP.Logic.Z10.OrderStatus.Archived)
            {
                throw new Exception("已经出入库的订单,已经结束的订单和已经存档的订单不能出入库。");
            }


            Z10Order xorder = new Z10Order();

            xorder.OrderID = Z10Order.OrderID;

            if (oStatus == OrderStatus.Inned && ((Z10Order.OrderStatus ?? 0) & (int)OrderStatus.InnedSome) == (int)OrderStatus.InnedSome)
            {
                oStatus            = oStatus & (~OrderStatus.InnedSome);
                xorder.OrderStatus = (Z10Order.OrderStatus ?? 0) & (~(int)OrderStatus.InnedSome);
                xorder.OrderStatus = (xorder.OrderStatus ?? 0) | (int)oStatus;
            }
            else if (oStatus == OrderStatus.Outted && ((Z10Order.OrderStatus ?? 0) & (int)OrderStatus.OuttedSome) == (int)OrderStatus.OuttedSome)
            {
                oStatus            = oStatus & (~OrderStatus.OuttedSome);
                xorder.OrderStatus = (Z10Order.OrderStatus ?? 0) & (~(int)OrderStatus.OuttedSome);
                xorder.OrderStatus = (xorder.OrderStatus ?? 0) | (int)oStatus;
            }
            else
            {
                xorder.OrderStatus = (Z10Order.OrderStatus ?? 0) | (int)oStatus;
            }

            db.Update(xorder);

            Z10DepotFlow dflow = new Z10DepotFlow();

            foreach (Z10OrderItem item in Items)
            {
                decimal itemHappened = hsItemCount[item.ItemID].ToDecimal();

                if ((oStatus & OrderStatus.Outted) == OrderStatus.Outted || (oStatus & OrderStatus.OuttedSome) == OrderStatus.OuttedSome)
                {
                    db.ColAdd <Z10OrderItem>("CountHappend2", itemHappened, item.ItemID);
                }
                else
                {
                    db.ColAdd <Z10OrderItem>("CountHappend", itemHappened, item.ItemID);
                }

                if (item.CountHappend != 0 || item.CountHappend2 != 0)
                {
                    dflow.FlowID    = null;
                    dflow.OrderID   = Z10Order.OrderID;
                    dflow.Count     = itemHappened;
                    dflow.DepotID   = item.DepotID;
                    dflow.Creator   = userID;
                    dflow.ProductID = item.ProductID;
                    dflow.TenantID  = tenantID;
                    db.Insert(dflow);

                    if (!db.Exists <Z10DepotProduct>("ProductID=@ProductID and DepotID=@DepotID and TenantID=@TenantID",
                                                     db.CreateParameter("ProductID", item.ProductID), db.CreateParameter("DepotID", item.DepotID), db.CreateParameter("TenantID", tenantID)))
                    {
                        Z10DepotProduct xProduct = new Z10DepotProduct();
                        xProduct.TenantID  = tenantID;
                        xProduct.ProductID = item.ProductID;
                        xProduct.DepotID   = item.DepotID;
                        xProduct.StockSum  = itemHappened;
                        db.Insert(xProduct);
                    }
                    else
                    {
                        string sqlUpdateDepot = "update Z10DepotProduct set StockSum=StockSum + @itemHappened, InSum=InSum + @itemHappened" +
                                                " where ProductID=@ProductID and DepotID=@DepotID";
                        db.ExecuteNonQuery(sqlUpdateDepot, db.CreateParameter("itemHappened", itemHappened),
                                           db.CreateParameter("ProductID", item.ProductID), db.CreateParameter("DepotID", item.DepotID));
                    }
                }
            }
            return(true);
        }
Example #16
0
        public ActionResult SaveProduct_S3(decimal count, decimal? price, long pid, long? did, string color, string size)
        {
            if (count <= 0)
            {
                return Content("数量必须大于0。");
            }
            var Price = price ?? 0;

            EAP.Logic.DictResponse res = new Logic.DictResponse();

            var tenantID = _tenant.TenantID.Value;

            //更新商品库
            if (!db.Exists<Z10DepotProduct>("ProductID=@ProductID and DepotID=@DepotID and TenantID=@TenantID",
                db.CreateParameter("ProductID", pid), db.CreateParameter("DepotID", did ?? 0), db.CreateParameter("TenantID", tenantID)))
            {
                Z10DepotProduct xProduct = new Z10DepotProduct();
                xProduct.TenantID = tenantID;
                xProduct.ProductID = pid;
                xProduct.DepotID = did ?? 0;
                xProduct.StockSum = count;
                xProduct.InSum = count;
                xProduct.Creator = _user.UserID.Value;
                db.Insert(xProduct);
            }
            else
            {
                string sqlUpdateDepot = "update Z10DepotProduct set StockSum=StockSum + @itemHappened, InSum=InSum + @itemHappened" +
                    " where ProductID=@ProductID and DepotID=@DepotID";
                db.ExecuteNonQuery(sqlUpdateDepot, db.CreateParameter("itemHappened", count),
                    db.CreateParameter("ProductID", pid), db.CreateParameter("DepotID", did ?? 0));

            }

            //更新库存详情
            Z10DepotProductDetail dpd = new Z10DepotProductDetail();
            dpd.TenantID = tenantID;
            dpd.ProductID = pid;
            dpd.DepotID = did ?? 0;
            dpd.OrderID = 0;
            dpd.StockSum = count;
            dpd.InSum = count;
            dpd.ExtColor = color;
            dpd.ExtSize = size;
            dpd.PriceStock = Price;
            dpd.Creator = _user.UserID.Value;
            db.Insert(dpd);

            res._state = true;
            return Content(res.ToJson());
        }
Example #17
0
        public ActionResult EditDepotProduct(System.Int64? id)
        {
            if ((_crud & Zippy.SaaS.Entity.CRUD.Create) != Zippy.SaaS.Entity.CRUD.Create) return RedirectToAction("NoPermission", "Error");
            Z10DepotProduct entity = null;
            if (id.HasValue && id > 0)
            {
                if ((_crud & Zippy.SaaS.Entity.CRUD.Update) != Zippy.SaaS.Entity.CRUD.Update) return RedirectToAction("NoPermission", "Error");
                ViewData["VTitle"] = "修改库存信息";

                entity = Z10DepotProductHelper.Create(db, id.Value);
            }
            else
            {
                if ((_crud & Zippy.SaaS.Entity.CRUD.Create) != Zippy.SaaS.Entity.CRUD.Create) return RedirectToAction("NoPermission", "Error");
                ViewData["VTitle"] = "新增库存商品";
                entity = new Z10DepotProduct();
            }

            return View(entity);
        }
Example #18
0
File: Order.cs Project: honj51/EAP
        /// <summary>
        /// 单项入库和出库(按照明细一个一个的入库)
        /// </summary>
        /// <param name="tenantID"></param>
        /// <param name="userID"></param>
        /// <param name="item"></param>
        /// <param name="itemHappened">当前发生的入库量</param>
        /// <returns></returns>
        public static void PutInOut(Guid? tenantID, Guid? userID, Z10Cabbage.Entity.Z10OrderItem item, decimal itemHappened)
        {
            var db = Zippy.Data.StaticDB.DB;

            if (itemHappened > 0)  //入库 ,数量为正数 则入库,否则出库
            {
                #region 入库
                //更新商品库
                if (!db.Exists<Z10DepotProduct>("ProductID=@ProductID and DepotID=@DepotID and TenantID=@TenantID",
                    db.CreateParameter("ProductID", item.ProductID), db.CreateParameter("DepotID", item.DepotID), db.CreateParameter("TenantID", tenantID)))
                {
                    Z10DepotProduct xProduct = new Z10DepotProduct();
                    xProduct.TenantID = tenantID;
                    xProduct.ProductID = item.ProductID;
                    xProduct.DepotID = item.DepotID;
                    xProduct.StockSum = itemHappened;
                    xProduct.InSum = itemHappened;
                    xProduct.Creator = userID;
                    db.Insert(xProduct);
                }
                else
                {
                    string sqlUpdateDepot = "update Z10DepotProduct set StockSum=StockSum + @itemHappened, InSum=InSum + @itemHappened" +
                        " where ProductID=@ProductID and DepotID=@DepotID";
                    db.ExecuteNonQuery(sqlUpdateDepot, db.CreateParameter("itemHappened", itemHappened),
                        db.CreateParameter("ProductID", item.ProductID), db.CreateParameter("DepotID", item.DepotID));

                }

                //更新库存详情
                Z10DepotProductDetail dpd = new Z10DepotProductDetail();
                dpd.TenantID = tenantID;
                dpd.ProductID = item.ProductID;
                dpd.DepotID = item.DepotID;
                dpd.OrderID = item.OrderID;
                dpd.StockSum = itemHappened;
                dpd.InSum = itemHappened;
                dpd.ExtColor = item.ExtColor;
                dpd.ExtSize = item.ExtSize;
                dpd.ExtSpecification = item.ExtSpecification;
                dpd.ExtModel1 = item.ExtModel1;
                dpd.ExtModel2 = item.ExtModel2;
                dpd.ExtModel3 = item.ExtModel3;
                dpd.ExtModel4 = item.ExtModel4;
                dpd.ExtModel5 = item.ExtModel5;
                dpd.PriceStock = item.Price;
                dpd.Creator = userID;
                db.Insert(dpd);

                //更新订单项
                db.ColAdd<Z10OrderItem>("CountHappend", itemHappened, item.ItemID);
                #endregion
            }
            else
            {
                #region 出库
                var productDetail = db.FindUnique<Z10Cabbage.Entity.Z10DepotProductDetail>(item.DepotProductDetailID);
                if (productDetail == null || productDetail.StockSum <= 0)
                {
                    throw new Exception("错误的库存商品,或者商品数量为0。");
                }
                if (productDetail.StockSum < Math.Abs(itemHappened))
                {
                    throw new Exception("库存数量太少,无法完成此次出货。");
                }

                //更新总库存
                string sqlUpdateDepot = "update Z10DepotProduct set StockSum=StockSum + @itemHappened, OutSum=OutSum + @itemHappened" +
                    " where ProductID=@ProductID and DepotID=@DepotID";
                db.ExecuteNonQuery(sqlUpdateDepot, db.CreateParameter("itemHappened", itemHappened),
                    db.CreateParameter("ProductID", item.ProductID), db.CreateParameter("DepotID", item.DepotID));

                //更新单项(型号)库存
                string sqlUpdateDepotDetail = "update Z10DepotProductDetail set StockSum=StockSum + @itemHappened, OutSum=OutSum + @itemHappened" +
                    " where DepotProductID=@DepotProductID";
                db.ExecuteNonQuery(sqlUpdateDepotDetail, db.CreateParameter("itemHappened", itemHappened),
                    db.CreateParameter("DepotProductID", item.DepotProductDetailID));

                //更新订单项
                db.ColAdd<Z10OrderItem>("CountHappend2", itemHappened, item.ItemID);
                #endregion
            }

            //增加库存流水
            Z10DepotFlow xflow = new Z10DepotFlow();
            xflow.Creator = userID;
            xflow.Count = itemHappened;
            xflow.DepotID = item.DepotID;
            xflow.OrderID = item.OrderID;
            xflow.ProductID = item.ProductID;
            xflow.TenantID = tenantID;

            db.Insert(xflow);
        }
Example #19
0
 /// <summary>
 /// 表示 [仓库] 对应的实体
 /// </summary>
 public static Z10Depot GetDepotIDEntity(Zippy.Data.IDalProvider db, Z10DepotProduct entity)
 {
     return(db.FindUnique <Z10Depot>("DepotID=@DepotID", db.CreateParameter("DepotID", entity.DepotID)));
 }
Example #20
0
        public static Z10DepotProduct Create(Zippy.Data.IDalProvider db, Int64 _DepotProductID)
        {
            Z10DepotProduct rtn = db.FindUnique <Z10DepotProduct>(_DepotProductID);

            return(rtn);
        }
Example #21
0
        /// <summary>
        /// 单项入库和出库(按照明细一个一个的入库)
        /// </summary>
        /// <param name="tenantID"></param>
        /// <param name="userID"></param>
        /// <param name="item"></param>
        /// <param name="itemHappened">当前发生的入库量</param>
        /// <returns></returns>
        public static void PutInOut(Guid?tenantID, Guid?userID, Z10Cabbage.Entity.Z10OrderItem item, decimal itemHappened)
        {
            var db = Zippy.Data.StaticDB.DB;

            if (itemHappened > 0)  //入库 ,数量为正数 则入库,否则出库
            {
                #region 入库
                //更新商品库
                if (!db.Exists <Z10DepotProduct>("ProductID=@ProductID and DepotID=@DepotID and TenantID=@TenantID",
                                                 db.CreateParameter("ProductID", item.ProductID), db.CreateParameter("DepotID", item.DepotID), db.CreateParameter("TenantID", tenantID)))
                {
                    Z10DepotProduct xProduct = new Z10DepotProduct();
                    xProduct.TenantID  = tenantID;
                    xProduct.ProductID = item.ProductID;
                    xProduct.DepotID   = item.DepotID;
                    xProduct.StockSum  = itemHappened;
                    xProduct.InSum     = itemHappened;
                    xProduct.Creator   = userID;
                    db.Insert(xProduct);
                }
                else
                {
                    string sqlUpdateDepot = "update Z10DepotProduct set StockSum=StockSum + @itemHappened, InSum=InSum + @itemHappened" +
                                            " where ProductID=@ProductID and DepotID=@DepotID";
                    db.ExecuteNonQuery(sqlUpdateDepot, db.CreateParameter("itemHappened", itemHappened),
                                       db.CreateParameter("ProductID", item.ProductID), db.CreateParameter("DepotID", item.DepotID));
                }

                //更新库存详情
                Z10DepotProductDetail dpd = new Z10DepotProductDetail();
                dpd.TenantID         = tenantID;
                dpd.ProductID        = item.ProductID;
                dpd.DepotID          = item.DepotID;
                dpd.OrderID          = item.OrderID;
                dpd.StockSum         = itemHappened;
                dpd.InSum            = itemHappened;
                dpd.ExtColor         = item.ExtColor;
                dpd.ExtSize          = item.ExtSize;
                dpd.ExtSpecification = item.ExtSpecification;
                dpd.ExtModel1        = item.ExtModel1;
                dpd.ExtModel2        = item.ExtModel2;
                dpd.ExtModel3        = item.ExtModel3;
                dpd.ExtModel4        = item.ExtModel4;
                dpd.ExtModel5        = item.ExtModel5;
                dpd.PriceStock       = item.Price;
                dpd.Creator          = userID;
                db.Insert(dpd);


                //更新订单项
                db.ColAdd <Z10OrderItem>("CountHappend", itemHappened, item.ItemID);
                #endregion
            }
            else
            {
                #region 出库
                var productDetail = db.FindUnique <Z10Cabbage.Entity.Z10DepotProductDetail>(item.DepotProductDetailID);
                if (productDetail == null || productDetail.StockSum <= 0)
                {
                    throw new Exception("错误的库存商品,或者商品数量为0。");
                }
                if (productDetail.StockSum < Math.Abs(itemHappened))
                {
                    throw new Exception("库存数量太少,无法完成此次出货。");
                }

                //更新总库存
                string sqlUpdateDepot = "update Z10DepotProduct set StockSum=StockSum + @itemHappened, OutSum=OutSum + @itemHappened" +
                                        " where ProductID=@ProductID and DepotID=@DepotID";
                db.ExecuteNonQuery(sqlUpdateDepot, db.CreateParameter("itemHappened", itemHappened),
                                   db.CreateParameter("ProductID", item.ProductID), db.CreateParameter("DepotID", item.DepotID));

                //更新单项(型号)库存
                string sqlUpdateDepotDetail = "update Z10DepotProductDetail set StockSum=StockSum + @itemHappened, OutSum=OutSum + @itemHappened" +
                                              " where DepotProductID=@DepotProductID";
                db.ExecuteNonQuery(sqlUpdateDepotDetail, db.CreateParameter("itemHappened", itemHappened),
                                   db.CreateParameter("DepotProductID", item.DepotProductDetailID));

                //更新订单项
                db.ColAdd <Z10OrderItem>("CountHappend2", itemHappened, item.ItemID);
                #endregion
            }

            //增加库存流水
            Z10DepotFlow xflow = new Z10DepotFlow();
            xflow.Creator   = userID;
            xflow.Count     = itemHappened;
            xflow.DepotID   = item.DepotID;
            xflow.OrderID   = item.OrderID;
            xflow.ProductID = item.ProductID;
            xflow.TenantID  = tenantID;

            db.Insert(xflow);
        }
Example #22
0
 public static int Update(Zippy.Data.IDalProvider db, Z10DepotProduct entity)
 {
     return(db.Update(entity));
 }