Esempio n. 1
0
        public ActionResult DispatchDeliverPlan(DispatchBillViewModel model)
        {
            if (ModelState.IsValid)
            {
                //创建调度计划数据
                int nTotalPackages = 0;
                decimal decTotalTunnages = 0;
                decimal decTotalPiles = 0;
                decimal decTotalTenThousands = 0;
                decimal decTotalTransportCharges = 0;

                List<DispatchBillDeliverPlan> listDeliverPlan = new List<DispatchBillDeliverPlan>();
                if (model.DeliverPlans != null)
                {
                    foreach (DispatchBillDeliverPlanViewModel m in model.DeliverPlans)
                    {
                        DispatchBillDeliverPlan deliverPlan = new DispatchBillDeliverPlan();
                        deliverPlan.DispatchBillId = model.Id;
                        deliverPlan.PlanId = m.PlanId;
                        deliverPlan.Packages = m.Packages;
                        deliverPlan.Tunnages = m.Tunnages;
                        deliverPlan.Piles = m.Piles;
                        deliverPlan.TenThousands = m.TenThousands;
                        deliverPlan.TransportChargeExpression = m.TransportChargeExpression;
                        deliverPlan.TransportPriceExpression = m.TransportPriceExpression;
                        deliverPlan.KM = m.KM;
                        deliverPlan.TransportPrice = m.ActualTransportPrice;
                        deliverPlan.TransportCharges = m.TransportCharges;
                        deliverPlan.Remark = m.Remark;
                        deliverPlan.ReceiveType = m.ReceiveType;
                        listDeliverPlan.Add(deliverPlan);

                        nTotalPackages += m.Packages;
                        decTotalTunnages += m.Tunnages;
                        decTotalPiles += m.Piles;
                        decTotalTenThousands += m.TenThousands;
                        decTotalTransportCharges += m.TransportCharges;
                    }
                }

                //创建调度货物数据
                List<DispatchBillGoods> listGoods = new List<DispatchBillGoods>();
                if (model.Goods != null)
                {
                    foreach (DispatchBillGoodsViewModel m in model.Goods)
                    {
                        DispatchBillGoods goods = new DispatchBillGoods();
                        goods.DispatchBillId = model.Id;
                        goods.PlanId = m.PlanId;
                        goods.GoodsId = m.GoodsId;
                        goods.GoodsNo = m.GoodsNo;
                        goods.GoodsName = m.GoodsName;
                        goods.Brand = m.Brand;
                        goods.SpecModel = m.SpecModel;
                        goods.GWeight = m.GWeight;
                        goods.Grade = m.Grade;
                        goods.PieceWeight = m.PieceWeight;
                        goods.Packing = m.Packing;
                        goods.BatchNo = m.BatchNo;
                        goods.Location = m.Location;
                        goods.Packages = m.Packages;
                        goods.Tunnages = m.Tunnages;
                        goods.Piles = m.Piles;
                        goods.TenThousands = m.TenThousands;
                        goods.ProductionDate = m.ProductionDate;
                        goods.EnterWarehouseBillId = m.EnterWarehouseBillId;
                        goods.EnterWarehouseBillNo = m.EnterWarehouseBillNo;
                        listGoods.Add(goods);
                    }
                }

                //创建调度单数据
                DispatchBill bill = new DispatchBill();
                bill.Id = model.Id;
                bill.CarNo = model.CarNo;
                bill.TrailerNo = model.TrailerNo;
                bill.CarType = model.CarType;
                bill.DriverName = model.DriverName;
                bill.DriverLicenseNo = model.DriverLicenseNo;
                bill.DriverMobileTel = model.DriverMobileTel;
                bill.DriverHomeTel = model.DriverHomeTel;
                bill.CarrierId = model.CarrierId;
                bill.CarrierName = model.CarrierName;
                bill.CarryingCapacity = model.CarryingCapacity;
                bill.BusinessType = model.BusinessType;
                bill.PaymentType = model.PaymentType;
                bill.TotalPackages = nTotalPackages;
                bill.TotalTunnages = decTotalTunnages;
                bill.TotalPiles = decTotalPiles;
                bill.TotalTenThousands = decTotalTenThousands;
                bill.TotalTransportCharges = decTotalTransportCharges;
                bill.CreateTime = DateTime.Parse(model.CreateTime);

                //保存数据
                string strErrText;
                DispatchSystem dispatch = new DispatchSystem();
                if (dispatch.InsertDispatchBill(bill, listDeliverPlan, listGoods, LoginAccountId, LoginStaffName, out strErrText) > 0)
                {
                    return Json(string.Empty);
                }
                else
                {
                    return Json(strErrText);
                }
            }
            return View(model);
        }