public JsonResult LoadContractDispatchBill(string dispatchBillId) { string strErrText; //读取调度单数据 DispatchSystem dispatch = new DispatchSystem(); DispatchBill bill = dispatch.LoadDispatchBill(long.Parse(dispatchBillId), LoginAccountId, LoginStaffName, out strErrText); if (bill == null) { throw new Exception(strErrText); } //读取调度计划数据 List<DispatchBillDeliverPlan> listDeliverPlan = dispatch.LoadDispatchBillDeliverPlans(long.Parse(dispatchBillId), LoginAccountId, LoginStaffName, out strErrText); if (listDeliverPlan == null) { throw new Exception(strErrText); } //读取调度货物数据 List<DispatchBillGoods> listGoods = dispatch.LoadDispatchBillAllGoods(long.Parse(dispatchBillId), LoginAccountId, LoginStaffName, out strErrText); if (listGoods == null) { throw new Exception(strErrText); } //清除自提的计划 foreach (DispatchBillDeliverPlan p in listDeliverPlan) { if (p.ReceiveType == InnoSoft.LS.Resources.Options.PickUpSelf) { listGoods.RemoveAll(delegate(DispatchBillGoods g) { return g.PlanId == p.PlanId; }); } } listDeliverPlan.RemoveAll(delegate(DispatchBillDeliverPlan p) { return p.ReceiveType == InnoSoft.LS.Resources.Options.PickUpSelf; }); //生成结果集 var ret = new { CarNo = bill.CarNo, TrailerNo = bill.TrailerNo, CarType = bill.CarType, DriverName = bill.DriverName, DriverLicenseNo = bill.DriverLicenseNo, DriverMobileTel = bill.DriverMobileTel, DriverHomeTel = bill.DriverHomeTel, CarrierId = bill.CarrierId, CarrierName = bill.CarrierName, GoodsName = (from g in listGoods select g.GoodsName).Distinct(), Packing = "", TotalPackages = listDeliverPlan.Sum(p => p.Packages), TotalTunnages = listDeliverPlan.Sum(p => p.Tunnages).ToString("#0.######"), TotalPiles = listDeliverPlan.Sum(p => p.Piles).ToString("#0.######"), TotalTenThousands = listDeliverPlan.Sum(p => p.TenThousands).ToString("#0.######"), StartPlace = (from p in listDeliverPlan select p.StartCity).Distinct(), DestPlace = (from p in listDeliverPlan select p.ReceiverCity).Distinct(), ShipmentTime = DateTime.Now.ToString("yyyy-MM-dd"), ArrivalTime = "", TotalTransportCharges = listDeliverPlan.Sum(p => p.TransportCharges).ToString("#0.00"), PrepayTransportCharges = "", ResidualTransportCharges = listDeliverPlan.Sum(p => p.TransportCharges).ToString("#0.00"), OriginalContractNo = "" }; return Json(ret, JsonRequestBehavior.AllowGet); }
public JsonResult LoadDispatchBillGoodsGrid(string sidx, string sord, int page, int rows, string dispatchBillId, string planId) { //读取数据 string strErrText; DispatchSystem dispatch = new DispatchSystem(); List<DispatchBillGoods> listGoods = null; if (long.Parse(planId) > 0) { listGoods = dispatch.LoadDispatchBillAllGoodsByPlanId(long.Parse(dispatchBillId), long.Parse(planId), LoginAccountId, LoginStaffName, out strErrText); } else { listGoods = dispatch.LoadDispatchBillAllGoods(long.Parse(dispatchBillId), LoginAccountId, LoginStaffName, out strErrText); } if (listGoods == null) { throw new Exception(strErrText); } //提取当前页面数据 int nTotalRows = listGoods.Count; int nPageIndex = page; int nPageSize = rows; int nTotalPages = nTotalRows / nPageSize; if (nTotalRows % nPageSize > 0) nTotalPages++; string sortExpression = (sidx ?? "GoodsNo") + " " + (sord ?? "ASC"); var data = listGoods.OrderBy(sortExpression).Skip((nPageIndex - 1) * nPageSize).Take(nPageSize).ToList(); //记录编号 for (int i = 0; i < data.Count; i++) { data[i].Id = i + 1; } //生成表格数据 var ret = new { total = nTotalPages, page = nPageIndex, records = nTotalRows, rows = ( from g in data select new { id = g.Id, cell = new string[] { g.GoodsId.ToString(), g.GoodsNo, g.GoodsName, g.Brand, g.SpecModel, g.GWeight, g.Grade, g.BatchNo, g.Packing, g.Warehouse, g.Location, g.Packages.ToString(), g.PieceWeight.ToString("#0.######"), g.Tunnages.ToString("#0.######"), g.Piles.ToString("#0.######"), g.TenThousands.ToString("#0.######"), g.ProductionDate, g.EnterWarehouseBillId.ToString(), g.EnterWarehouseBillNo } }).ToArray(), userdata = new { GoodsNo = InnoSoft.LS.Resources.Labels.Total, Packages = data.Sum(s => s.Packages), Tunnages = data.Sum(s => s.Tunnages), Piles = data.Sum(s => s.Piles), TenThousands = data.Sum(s => s.TenThousands) } }; return Json(ret, JsonRequestBehavior.AllowGet); }