Exemple #1
0
        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));
        }
Exemple #2
0
        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(""));
        }