public ActionResult TransOrderStatus(TransOrderModel vm) { //vm.Customers = ApplicationConfigHelper.GetProjectUserCustomers(base.UserInfo.ProjectID, base.UserInfo.ID) // .Select(c => new SelectListItem() { Value = c.CustomerID.ToString(), Text = c.CustomerName }); //TransOrderModel vm = new TransOrderModel(); //vm.SearchCondition = new PodSearchCondition(); //vm.PageIndex = 0; //vm.PageCount = 0; TransOrderRequest tor = new TransOrderRequest(); tor.StartTime = DateTime.Now.AddDays(-10).ToString("yyyy-MM-dd"); tor.EndTime = DateTime.Now.AddDays(+1).ToString("yyyy-MM-dd"); vm.transOrderRequest = tor; //vm.transOrderRequest.StartTime = DateTime.Now.AddDays(-7).ToString("yyyy-MM-dd"); //vm.transOrderRequest.EndTime = DateTime.Now.AddDays(0).ToString("yyyy-MM-dd"); //this.GenQueryPodViewModel(vm); return(View(vm)); }
public ActionResult TransOrderStatus(string id, string Customers, string ShipperName, string startCityTreeName, string endCityTreeName, string startTime, string endTime, string Time)// string Consignee, { TransOrderModel Tq = new TransOrderModel(); var response = new PodReportService().QueryTransOrderRange(new TransOrderRequest() { ID = id, Customers = Customers, StartTime = startTime, startCityTreeName = startCityTreeName, endCityTreeName = endCityTreeName, EndTime = endTime, ShipperName = ShipperName, Time = Time }); //Consignee = Consignee, var responses = new PodReportService().QueryTransOrderRanges(new TransOrderRequest() { ID = id, Customers = Customers, StartTime = startTime, startCityTreeName = startCityTreeName, endCityTreeName = endCityTreeName, EndTime = endTime, ShipperName = ShipperName, Time = Time, PageIndex = 0, PageSize = 100 }); //Consignee = Consignee, if (response.IsSuccess) { JavaScriptSerializer jsonSerializer = new JavaScriptSerializer(); //var transOrder = from q in responses.Result.transOrder // group q by q.CustomerOrderNumber into g // let ids = g.Select(b => b.Str2.ToString()) // select new // { // //g.Key // ID=g.Max(a=>a.ID), // ActualDeliveryDate = g.Max(a => a.ActualDeliveryDate), // BoxNumber = g.Max(a => a.BoxNumber), // CustomerName = g.Max(a => a.CustomerName), // CustomerOrderNumber = g.Max(a => a.CustomerOrderNumber), // ShipperName = g.Max(a => a.ShipperName), // //Str2 = g.Max(a => a.Str2), // Str3 = g.Max(a => a.Str3), // Str2 = string.Join("|", ids), // GoodsNumber=g.Max(a=>a.GoodsNumber), // Weight=g.Max(a=>a.Weight), // Volume=g.Max(a=>a.Volume) // }; string js = jsonSerializer.Serialize(responses.Result.transOrder);//transOrder StringBuilder sb0 = new StringBuilder(); StringBuilder sb1 = new StringBuilder(); StringBuilder sb2 = new StringBuilder(); StringBuilder sb3 = new StringBuilder(); StringBuilder sb4 = new StringBuilder(); StringBuilder sbDate = new StringBuilder(); string[] sbDates = new string[0]; //机型逗号拆分 if (string.IsNullOrEmpty(Time) && Customers == "0") { //var allClassification = from q in response.Result.transOrder // group q by q.Str2 into r // select new // { // Str2=r.Key, // CustomerOrderNumberNum = r.Count() // }; int pie1 = response.Result.transOrder.Where(q => q.Str2 == "订单下达").Count(); int pie2 = response.Result.transOrder.Where(q => q.Str2 == "干线发车").Count(); int pie3 = response.Result.transOrder.Where(q => q.Str2 == "到达终端").Count(); int pie4 = response.Result.transOrder.Where(q => q.Str2 == "运单签收").Count(); //foreach (var item in allClassification) //{ // switch (item.Str2) // { // case "订单下达": // pie1 =item.CustomerOrderNumberNum; // break; // case "干线发车": // pie2 = item.CustomerOrderNumberNum; // break; // case "到达终端": // pie3 =item.CustomerOrderNumberNum; // break; // case "运单签收": // pie4 = item.CustomerOrderNumberNum; // break; // } //} var data = from q in response.Result.transOrder group q by new { q.ActualDeliveryDate, q.Str2 } into r select new { CustomerOrderNumberNum = r.Count(), //CustomerName = r.Max(a => a.CustomerName), St2 = r.Key.Str2, ActualDeliveryDate = r.Key.ActualDeliveryDate }; //var date = response.Result.transOrder.Select(q => q.ActualDeliveryDate).Distinct(); int DateSum = Convert.ToDateTime(endTime).Subtract(Convert.ToDateTime(startTime)).Days; if (DateSum > 0) { sb0.Append("["); sb1.Append("["); sb2.Append("["); sb3.Append("["); sb4.Append("["); List <string> ktls = sbDates.ToList(); //foreach (var results in date) //{ for (int i = 0; i <= DateSum; i++) { string results = Convert.ToDateTime(startTime).AddDays(i).ToString("yyyy-MM-dd"); ktls.Add(results); sb0.Append(response.Result.transOrder.Where(q => q.ActualDeliveryDate == results).Count()).Append(","); sb1.Append(response.Result.transOrder.Where(q => q.ActualDeliveryDate == results && q.Str2 == "订单下达").Count()).Append(","); sb2.Append(response.Result.transOrder.Where(q => q.ActualDeliveryDate == results && q.Str2 == "干线发车").Count()).Append(","); sb3.Append(response.Result.transOrder.Where(q => q.ActualDeliveryDate == results && q.Str2 == "到达终端").Count()).Append(","); sb4.Append(response.Result.transOrder.Where(q => q.ActualDeliveryDate == results && q.Str2 == "运单签收").Count()).Append(","); //sb0.Append(response.Result.transOrder.Where(q => q.ActualDeliveryDate == results).Count()).Append(","); //sb1.Append(response.Result.transOrder.Where(q => q.ActualDeliveryDate == results && q.CustomerName == "Adidas").Count()).Append(","); //sb2.Append(response.Result.transOrder.Where(q => q.ActualDeliveryDate == results && q.CustomerName == "Nike").Count()).Append(","); //sb3.Append(response.Result.transOrder.Where(q => q.ActualDeliveryDate == results && q.CustomerName == "Hilti").Count()).Append(","); //sb4.Append(response.Result.transOrder.Where(q => q.ActualDeliveryDate == results && q.CustomerName == "AKZOTB").Count()).Append(","); } //if (DateSum== 0) //{ // sb0.Append(","); // sb1.Append(","); // sb2.Append(","); // sb3.Append(","); // sb4.Append(","); //} //sbDate.Remove(sbDate.Length - 1, 1); sb0.Remove(sb0.Length - 1, 1).Append("]"); sb1.Remove(sb1.Length - 1, 1).Append("]"); sb2.Remove(sb2.Length - 1, 1).Append("]"); sb3.Remove(sb3.Length - 1, 1).Append("]"); sb4.Remove(sb4.Length - 1, 1).Append("]"); sbDates = ktls.ToArray(); } return(Json(new { Alldata = js, sbDate = sbDates, brandsDataTotal = sb0.ToString(), brandsDataAdidas = sb1.ToString(), brandsDataNIKE = sb2.ToString(), brandsDataHilti = sb3.ToString(), brandsDataAKZO = sb4.ToString(), pie1 = pie1, pie2 = pie2, pie3 = pie3, pie4 = pie4, PageCount = responses.Result.PageCount }, JsonRequestBehavior.AllowGet)); } else if (Time != null && Customers == "0") { var data = from q in response.Result.transOrder group q by new { q.CustomerName, q.Str2 } into r select new { CustomerOrderNumberNum = r.Count(), CustomerName = r.Max(a => a.CustomerName), Str2 = r.Key.Str2 }; var CustomerSum = response.Result.transOrder.Select(q => q.CustomerName).Distinct(); if (CustomerSum.Count() > 0) { sb0.Append("["); sb1.Append("["); sb2.Append("["); sb3.Append("["); sb4.Append("["); List <string> ktls = sbDates.ToList(); foreach (var results in CustomerSum) { ktls.Add(results); sb0.Append(response.Result.transOrder.Where(q => q.CustomerName == results).Count()).Append(","); sb1.Append(response.Result.transOrder.Where(q => q.Str2 == "订单下达" && q.CustomerName == results).Count()).Append(","); sb2.Append(response.Result.transOrder.Where(q => q.Str2 == "干线发车" && q.CustomerName == results).Count()).Append(","); sb3.Append(response.Result.transOrder.Where(q => q.Str2 == "到达终端" && q.CustomerName == results).Count()).Append(","); sb4.Append(response.Result.transOrder.Where(q => q.Str2 == "运单签收" && q.CustomerName == results).Count()).Append(","); // sbDate.Append("'" + + "'").Append(","); // sbDates. //sb0.Append(response.Result.transOrder.Where(q =>q.CustomerName == results).Count()).Append(","); //sb1.Append(response.Result.transOrder.Where(q =>q.CustomerName==results &&q.Str2 == "订单到达").Count()).Append(","); //sb2.Append(response.Result.transOrder.Where(q =>q.CustomerName==results &&q.Str2 == "干线运输").Count()).Append(","); //sb3.Append(response.Result.transOrder.Where(q =>q.CustomerName==results &&q.Str2 == "到达终端").Count()).Append(","); //sb4.Append(response.Result.transOrder.Where(q =>q.CustomerName==results &&q.Str2 == "运单签收").Count()).Append(","); } //sbDate.Remove(sbDate.Length - 1, 1); //if (CustomerSum.Count() == 0) //{ // sb0.Append(","); // sb1.Append(","); // sb2.Append(","); // sb3.Append(","); // sb4.Append(","); //} sb0.Remove(sb0.Length - 1, 1).Append("]"); sb1.Remove(sb1.Length - 1, 1).Append("]"); sb2.Remove(sb2.Length - 1, 1).Append("]"); sb3.Remove(sb3.Length - 1, 1).Append("]"); sb4.Remove(sb4.Length - 1, 1).Append("]"); sbDates = ktls.ToArray(); } return(Json(new { Alldata = js, sbDate = sbDates, brandsDataTotal = sb0.ToString(), brandsDataAdidas = sb1.ToString(), brandsDataNIKE = sb2.ToString(), brandsDataHilti = sb3.ToString(), brandsDataAKZO = sb4.ToString(), PageCount = responses.Result.PageCount }, JsonRequestBehavior.AllowGet)); } else if (Customers != "0") { var data = from q in response.Result.transOrder group q by new { q.ActualDeliveryDate, q.Str2 } into r select new { CustomerOrderNumberNum = r.Count(), Str2 = r.Key.Str2 }; var CustomerSum = response.Result.transOrder.Select(q => q.ActualDeliveryDate).Distinct(); if (CustomerSum.Count() > 0) { sb0.Append("["); sb1.Append("["); sb2.Append("["); sb3.Append("["); sb4.Append("["); List <string> ktls = sbDates.ToList(); foreach (var results in CustomerSum) { ktls.Add(results); sb0.Append(response.Result.transOrder.Where(q => q.ActualDeliveryDate == results).Count()).Append(","); sb1.Append(response.Result.transOrder.Where(q => q.ActualDeliveryDate == results && q.Str2 == "订单下达").Count()).Append(","); sb2.Append(response.Result.transOrder.Where(q => q.ActualDeliveryDate == results && q.Str2 == "干线发车").Count()).Append(","); sb3.Append(response.Result.transOrder.Where(q => q.ActualDeliveryDate == results && q.Str2 == "到达终端").Count()).Append(","); sb4.Append(response.Result.transOrder.Where(q => q.ActualDeliveryDate == results && q.Str2 == "运单签收").Count()).Append(","); } //if (CustomerSum.Count() == 0) //{ // sb0.Append(","); // sb1.Append(","); // sb2.Append(","); // sb3.Append(","); // sb4.Append(","); //} sb0.Remove(sb0.Length - 1, 1).Append("]"); sb1.Remove(sb1.Length - 1, 1).Append("]"); sb2.Remove(sb2.Length - 1, 1).Append("]"); sb3.Remove(sb3.Length - 1, 1).Append("]"); sb4.Remove(sb4.Length - 1, 1).Append("]"); sbDates = ktls.ToArray(); } return(Json(new { Alldata = js, sbDate = sbDates, brandsDataTotal = sb0.ToString(), brandsDataAdidas = sb1.ToString(), brandsDataNIKE = sb2.ToString(), brandsDataHilti = sb3.ToString(), brandsDataAKZO = sb4.ToString(), PageCount = responses.Result.PageCount }, JsonRequestBehavior.AllowGet)); } } return(View("")); }