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); }
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)); }
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)); }
public ActionResult AcceptAdd() { var acceptorder = new AcceptOrderView(); return(View("AcceptEidt", acceptorder)); }
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)); } }