From 87e182283290ae70b18a9290fda9a188f133871c Mon Sep 17 00:00:00 2001 From: pangwenpeng <17302161021@163.com> Date: Mon, 5 Aug 2024 17:37:00 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B8=85=E6=B4=81=E8=BF=90=E8=BE=93=E8=B6=8B?= =?UTF-8?q?=E5=8A=BF=E5=88=97=E8=A1=A8=E5=92=8C=E6=AF=94=E4=BE=8B=E4=BF=AE?= =?UTF-8?q?=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Controllers/TransportController.cs | 4 +- langguanApi/Model/CleanTransportation.cs | 45 +++++++++++++- langguanApi/Model/Transport.cs | 6 +- langguanApi/Service/TransportService.cs | 61 ++++++++++++++++--- 4 files changed, 104 insertions(+), 12 deletions(-) diff --git a/langguanApi/Controllers/TransportController.cs b/langguanApi/Controllers/TransportController.cs index 67f426b..453c47d 100644 --- a/langguanApi/Controllers/TransportController.cs +++ b/langguanApi/Controllers/TransportController.cs @@ -22,7 +22,7 @@ namespace langguanApi.Controllers _truckScalesService = truckScalesService; } /// - /// 获取清洁运输列表 + /// 获取门禁列表 /// /// /// @@ -106,7 +106,7 @@ namespace langguanApi.Controllers #region 清洁运输 /// - /// 获取清洁运输(门禁和地磅组合,地磅获取总重量,后期会用地磅重量-车辆车辆) + /// 获取清洁运输趋势列表(门禁和地磅组合,地磅获取总重量,后期会用地磅重量-车辆车辆) /// /// /// diff --git a/langguanApi/Model/CleanTransportation.cs b/langguanApi/Model/CleanTransportation.cs index de39001..84bd4e2 100644 --- a/langguanApi/Model/CleanTransportation.cs +++ b/langguanApi/Model/CleanTransportation.cs @@ -24,6 +24,49 @@ /// /// 车牌类型 /// - public string CarType { get; set; } + public string CarType { get; set; } + /// + /// 排放类型 + /// + public string Effluent { get; set; } + } + public class CleanTransportationAllDto + { + /// + /// 清洁运输总记录 + /// + public List cleans { get; set; } + /// + /// 国五百分比 + /// + public string V5Percent { get; set; } + /// + /// 国五运输量百分比 + /// + public string V5WeightPercent { get; set; } + /// + /// 国六百分比 + /// + public string V6Percent { get; set; } + /// + /// 国六运输量百分比 + /// + public string V6WeightPercent { get; set; } + /// + /// 电动百分比 + /// + public string ElectricPrecent { get; set; } + /// + /// 电动运输量百分比 + /// + public string ElectricWeightPrecent { get; set; } + /// + /// 其他百分比 + /// + public string OtherPrecent { get; set; } + /// + /// 其他运输量百分比 + /// + public string OtherWeightPrecent { get; set; } } } diff --git a/langguanApi/Model/Transport.cs b/langguanApi/Model/Transport.cs index 558ac33..7ed433d 100644 --- a/langguanApi/Model/Transport.cs +++ b/langguanApi/Model/Transport.cs @@ -11,7 +11,7 @@ /// public int TransportType { get; set; } /// - /// 排放标准 + /// 排放标准(0-7是国1-7,D:电动 X:无排放阶段) /// public string effluent { get; set; } /// @@ -128,6 +128,10 @@ public class TransportDto : Transport { public string CarColorString { get; set; } + + public string TransportTypeString { get; set; } + + public string TimeString { get; set; } } public enum CarColor { diff --git a/langguanApi/Service/TransportService.cs b/langguanApi/Service/TransportService.cs index a91e320..2ad64c6 100644 --- a/langguanApi/Service/TransportService.cs +++ b/langguanApi/Service/TransportService.cs @@ -54,6 +54,8 @@ namespace langguanApi.Service { var entity = item.Adapt(); entity.CarColorString = GetColorString(item.CarColor); + entity.TransportTypeString = item.TransportType == 1 ? "进场" : "出场"; + entity.TimeString = item.Time.ToString(); result.Add(entity); } } @@ -88,7 +90,8 @@ namespace langguanApi.Service /// public async Task GetTransport(transportReqPage input) { - var result = new List(); + var result = new CleanTransportationAllDto(); + result.cleans = new List(); //获取门禁数据 Expression> exp = filter => filter.TransportType == 1 && filter.IsDelete == false; var list = (await base.GetListWithExp(exp)).ToList(); @@ -100,27 +103,39 @@ namespace langguanApi.Service var transport = list.FirstOrDefault(p => p.CarNumber == item.CarNumber); if (transport != null) { - result.Add(new CleanTransportationDto() + result.cleans.Add(new CleanTransportationDto() { CarColor = GetColorString(transport.CarColor), CarNumber = transport.CarNumber, CarType = transport.CarType, Time = transport.Time.ToString(), - Weight = item.Weight - }); + Weight = item.Weight, + Effluent = GetEffluentString(transport.effluent) + }); } } - if (result.Any()) + if (result.cleans.Any()) { if (!string.IsNullOrWhiteSpace(input.startTime)) { - result.Where(p => Convert.ToDateTime(p.Time) >= Convert.ToDateTime(input.startTime)).ToList(); + result.cleans.Where(p => Convert.ToDateTime(p.Time) >= Convert.ToDateTime(input.startTime)).ToList(); } if (!string.IsNullOrWhiteSpace(input.endTime)) { - result.Where(p => Convert.ToDateTime(p.Time) <= Convert.ToDateTime(input.endTime)).ToList(); + result.cleans.Where(p => Convert.ToDateTime(p.Time) <= Convert.ToDateTime(input.endTime)).ToList(); } - result = result.Skip(input.current - 1).Take(input.pageSize).ToList(); + result.cleans = result.cleans.Skip(input.current - 1).Take(input.pageSize).ToList(); + } + if (result.cleans.Any()) + { + result.V5Percent =((double)result.cleans.Count(p => p.Effluent == "国五") / result.cleans.Count()).ToString(); + result.V5WeightPercent = (result.cleans.Where(p => p.Effluent == "国五").Sum(p=>p.Weight) / result.cleans.Sum(p=>p.Weight)).ToString("0.00"); + result.V6Percent = ((double)result.cleans.Count(p => p.Effluent == "国六") / result.cleans.Count()).ToString("0.00"); + result.V6WeightPercent = (result.cleans.Where(p => p.Effluent == "国六").Sum(p => p.Weight) / result.cleans.Sum(p => p.Weight)).ToString("0.00"); + result.ElectricPrecent = ((double)result.cleans.Count(p => p.Effluent == "电动") / result.cleans.Count()).ToString("0.00"); + result.ElectricWeightPrecent = (result.cleans.Where(p => p.Effluent == "电动").Sum(p => p.Weight) / result.cleans.Sum(p => p.Weight)).ToString("0.00"); + result.OtherPrecent = ((double)result.cleans.Count(p => p.Effluent != "电动" && p.Effluent != "国五" && p.Effluent != "国六") / result.cleans.Count()).ToString("0.00"); + result.OtherWeightPrecent = (result.cleans.Where(p => p.Effluent != "电动" && p.Effluent != "国五" && p.Effluent != "国六").Sum(p => p.Weight) / result.cleans.Sum(p => p.Weight)).ToString("0.00"); } return result; } @@ -150,5 +165,35 @@ namespace langguanApi.Service return ""; } } + /// + /// 排放标准(0-7是国1-7,D:电动 X:无排放阶段) + /// + /// + /// + + public string GetEffluentString(string effluent) + { + switch (effluent) + { + case "1": + return "国一"; + case "2": + return "国二"; + case "3": + return "国三"; + case "4": + return "国四"; + case "5": + return "国五"; + case "6": + return "国六"; + case "D": + return "电动"; + case "X": + return "无排放阶段"; + default: + return ""; + } + } } }