Ejemplo n.º 1
0
        private AcceptOrder AcceptOrderViewToAcceptOrder(AcceptOrderView model)
        {
            model.Accepter = CurrentUser.UserName;
            model.Status   = OrderStatus.未审批;

            float sumPriceTotal = 0;
            int   sumNumTotal   = 0;

            foreach (var detail in model.AcceptOrderDetailView)
            {
                float price    = detail.Price;
                int   num      = detail.AcceptNum;
                float sumprice = price * num;
                sumPriceTotal  += sumprice;
                sumNumTotal    += num;
                detail.SumPrice = sumprice;
            }
            model.SumPrice  = sumPriceTotal;
            model.AcceptNum = sumNumTotal;

            var acceptorder = new AcceptOrder
            {
                AcceptDate        = model.AcceptDate,
                Accepter          = model.Accepter,
                AcceptNum         = model.AcceptNum,
                AcceptOrderNo     = model.AcceptOrderNo,
                Oper              = model.Oper,
                ID                = model.ID,
                PurchaseOrderNo   = model.PurchaseOrderNo,
                Remark            = model.Remark,
                Status            = model.Status,
                SumPrice          = model.SumPrice,
                AcceptOrderDetail = new List <AcceptOrderDetail>()
            };

            foreach (var row in model.AcceptOrderDetailView)
            {
                acceptorder.AcceptOrderDetail.Add(
                    new AcceptOrderDetail
                {
                    AcceptNum     = row.AcceptNum,
                    AcceptOrderId = row.AcceptOrderId,
                    Price         = row.Price,
                    ProductId     = row.ProductId,
                    ProductName   = row.ProductName,
                    Remark        = row.Remark,
                    SumPrice      = row.SumPrice
                });
            }
            return(acceptorder);
        }
Ejemplo n.º 2
0
        public ActionResult AcceptEidt(string AcceptOrderNo = "", string Msg = "")
        {
            var model         = AcceptOrderManageBz.Get(o => o.AcceptOrderNo == AcceptOrderNo);
            var purchaseOrder = PurchaseOrderManageBz.Get(o => o.PurchaseOrderNo == model.PurchaseOrderNo).PurchaseOrderDetail;

            if (model == null || purchaseOrder == null)
            {
                return(HttpNotFound());
            }
            if (model != null && model.Status != OrderStatus.未审批)
            {
                TempData["Msg"] = "此订单非未审批状态,无法修改!";
                return(RedirectToAction("Index"));
            }

            var acceptorder = new AcceptOrderView
            {
                AcceptDate            = model.AcceptDate,
                Accepter              = model.Accepter,
                AcceptNum             = model.AcceptNum,
                AcceptOrderNo         = model.AcceptOrderNo,
                Oper                  = model.Oper,
                ID                    = model.ID,
                PurchaseOrderNo       = model.PurchaseOrderNo,
                Remark                = model.Remark,
                Status                = model.Status,
                SumPrice              = model.SumPrice,
                AcceptOrderDetailView = new List <AcceptOrderDetailView>()
            };

            foreach (var row in purchaseOrder)
            {
                var acceptOrderDetail = model.AcceptOrderDetail.Find(o => o.ProductId == row.ProductId);
                acceptorder.AcceptOrderDetailView.Add(
                    new AcceptOrderDetailView
                {
                    AcceptNum       = acceptOrderDetail?.AcceptNum ?? 0,
                    AcceptOrderId   = acceptOrderDetail?.AcceptOrderId ?? 0,
                    Price           = row.Price,
                    ProductId       = row.ProductId,
                    ProductName     = row.ProductName,
                    Remark          = row.Remark,
                    SumPrice        = acceptOrderDetail?.SumPrice ?? 0,
                    PurchaseNum     = row.PurchaseNum,
                    PurchaseNumWait = purchaseOrder.Find(o => o.ProductId == row.ProductId).PurchaseNumWait
                });
            }
            ViewBag.Msg = Msg;
            return(View(acceptorder));
        }
Ejemplo n.º 3
0
        public ActionResult AcceptDetail(string AcceptOrderNo = "")
        {
            var model         = AcceptOrderManageBz.Get(o => o.AcceptOrderNo == AcceptOrderNo);
            var purchaseOrder = PurchaseOrderManageBz.Get(o => o.PurchaseOrderNo == model.PurchaseOrderNo).PurchaseOrderDetail;

            if (model == null || purchaseOrder == null)
            {
                return(HttpNotFound());
            }

            var acceptorder = new AcceptOrderView
            {
                AcceptDate            = model.AcceptDate,
                Accepter              = model.Accepter,
                AcceptNum             = model.AcceptNum,
                AcceptOrderNo         = model.AcceptOrderNo,
                Oper                  = model.Oper,
                ID                    = model.ID,
                PurchaseOrderNo       = model.PurchaseOrderNo,
                Remark                = model.Remark,
                Status                = model.Status,
                SumPrice              = model.SumPrice,
                AcceptOrderDetailView = new List <AcceptOrderDetailView>()
            };

            foreach (var row in purchaseOrder)
            {
                var acceptOrderDetail = model.AcceptOrderDetail.Find(o => o.ProductId == row.ProductId);
                acceptorder.AcceptOrderDetailView.Add(
                    new AcceptOrderDetailView
                {
                    AcceptNum       = acceptOrderDetail?.AcceptNum ?? 0,
                    AcceptOrderId   = acceptOrderDetail?.AcceptOrderId ?? 0,
                    Price           = row.Price,
                    ProductId       = row.ProductId,
                    ProductName     = row.ProductName,
                    Remark          = row.Remark,
                    SumPrice        = acceptOrderDetail?.SumPrice ?? 0,
                    PurchaseNum     = row.PurchaseNum,
                    PurchaseNumWait = purchaseOrder.Find(o => o.ProductId == row.ProductId).PurchaseNumWait
                });
            }
            return(View(acceptorder));
        }
Ejemplo n.º 4
0
        public ActionResult AcceptAdd()
        {
            var acceptorder = new AcceptOrderView();

            return(View("AcceptEidt", acceptorder));
        }
Ejemplo n.º 5
0
        public ActionResult Save(AcceptOrderView model)
        {
            try
            {
                var AcceptOrderView = model.AcceptOrderNo ?? "";
                //验证
                if (string.IsNullOrEmpty(model.PurchaseOrderNo))
                {
                    ViewBag.Msg = "请选择需验收的采购订单";
                    return(View("AcceptEidt", model));
                }
                if (string.IsNullOrEmpty(model.AcceptDate))
                {
                    ViewBag.Msg = "请选择验收日期";
                    return(View("AcceptEidt", model));
                }



                var purchaseModel = PurchaseOrderManageBz.Get(o => o.PurchaseOrderNo == model.PurchaseOrderNo);
                if (string.IsNullOrWhiteSpace(AcceptOrderView))//新增
                {
                    model.AcceptOrderNo = Common.Utils.GetOrderNumber();
                    while (AcceptOrderManageBz.IsExist(o => o.AcceptOrderNo == model.AcceptOrderNo))
                    {
                        model.AcceptOrderNo = Common.Utils.GetOrderNumber();
                    }

                    var acceptOrder = AcceptOrderViewToAcceptOrder(model);
                    if (model.AcceptNum <= 0)
                    {
                        ViewBag.Msg = "请输入验收数量";
                        return(View("AcceptEidt", model));
                    }
                    acceptOrder.Oper = CurrentUser.UserName;
                    bool isSuccess = AcceptOrderManageBz.Save(acceptOrder);
                    ViewBag.Msg = isSuccess ? "保存成功!" : "保存失败!";
                }
                else
                {
                    var acceptOrder = AcceptOrderViewToAcceptOrder(model);

                    var oldData = AcceptOrderManageBz.Get(o => o.AcceptOrderNo == model.AcceptOrderNo);
                    var newData = Common.Tools.CopyObjectValue(oldData, acceptOrder);
                    newData.AcceptOrderDetail.ForEach(o => o.AcceptOrderId = newData.ID);
                    if (newData.AcceptNum <= 0)
                    {
                        ViewBag.Msg = "请输入验收数量";
                        return(View("AcceptEidt", model));
                    }
                    if (newData.Status == OrderStatus.未审批)
                    {
                        //purchaseModel.PurchaseNumOver = purchaseModel.PurchaseNumOver + model.AcceptNum;
                        //purchaseModel.PurchaseNumWait = purchaseModel.PurchaseNumWait - model.AcceptNum;
                        //foreach (var row in acceptOrder.AcceptOrderDetail)
                        //{
                        //    var purchaseDetailModel = purchaseModel.PurchaseOrderDetail.Find(o => o.ProductId == row.ProductId);
                        //    purchaseDetailModel.PurchaseNumOver += row.AcceptNum;
                        //    purchaseDetailModel.PurchaseNumWait -= row.AcceptNum;
                        //}
                        newData.Oper = CurrentUser.UserName;
                        bool isSuccess = AcceptOrderManageBz.Update(newData);
                        ViewBag.Msg = isSuccess ? "保存成功!" : "保存失败!";
                    }
                    else
                    {
                        ViewBag.Msg = $"订单{newData.AcceptOrderNo},修改失败!";
                    }
                }

                return(RedirectToAction("AcceptEidt", new { AcceptOrderNo = model.AcceptOrderNo, Msg = ViewBag.Msg }));
            }
            catch (Exception ex)
            {
                ViewBag.Msg = ex.Message;
                return(View("PurchaseEidt", model));
            }
        }