清洁运输趋势列表和比例修改
This commit is contained in:
		
							parent
							
								
									c68f032f59
								
							
						
					
					
						commit
						87e1822832
					
				| 
						 | 
				
			
			@ -22,7 +22,7 @@ namespace langguanApi.Controllers
 | 
			
		|||
            _truckScalesService = truckScalesService;
 | 
			
		||||
        }
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 获取清洁运输列表
 | 
			
		||||
        /// 获取门禁列表
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="input"></param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
| 
						 | 
				
			
			@ -106,7 +106,7 @@ namespace langguanApi.Controllers
 | 
			
		|||
 | 
			
		||||
        #region 清洁运输
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 获取清洁运输(门禁和地磅组合,地磅获取总重量,后期会用地磅重量-车辆车辆)
 | 
			
		||||
        /// 获取清洁运输趋势列表(门禁和地磅组合,地磅获取总重量,后期会用地磅重量-车辆车辆)
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="reqPage"></param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -25,5 +25,48 @@
 | 
			
		|||
        /// 车牌类型
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public string CarType { get; set; }
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 排放类型
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public string Effluent { get; set; }
 | 
			
		||||
    }
 | 
			
		||||
    public class CleanTransportationAllDto
 | 
			
		||||
    {
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 清洁运输总记录
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public List<CleanTransportationDto> cleans { get; set; }
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 国五百分比
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public string V5Percent { get; set; }
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 国五运输量百分比
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public string V5WeightPercent { get; set; }
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 国六百分比
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public string V6Percent { get; set; }
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 国六运输量百分比
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public string V6WeightPercent { get; set; }
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 电动百分比
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public string ElectricPrecent { get; set; }
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 电动运输量百分比
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public string ElectricWeightPrecent { get; set; }
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 其他百分比
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public string OtherPrecent { get; set; }
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 其他运输量百分比
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public string OtherWeightPrecent { get; set; }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -11,7 +11,7 @@
 | 
			
		|||
        /// </summary>
 | 
			
		||||
        public int TransportType { get; set; }
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        /// 排放标准
 | 
			
		||||
        /// 排放标准(0-7是国1-7,D:电动  X:无排放阶段)
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        public string effluent { get; set; }
 | 
			
		||||
        /// <summary>
 | 
			
		||||
| 
						 | 
				
			
			@ -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
 | 
			
		||||
    {
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -54,6 +54,8 @@ namespace langguanApi.Service
 | 
			
		|||
                {
 | 
			
		||||
                    var entity = item.Adapt<TransportDto>();
 | 
			
		||||
                    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
 | 
			
		|||
        /// <returns></returns>
 | 
			
		||||
        public async Task<object> GetTransport(transportReqPage input)
 | 
			
		||||
        {
 | 
			
		||||
            var result = new List<CleanTransportationDto>();
 | 
			
		||||
            var result = new CleanTransportationAllDto();
 | 
			
		||||
            result.cleans = new List<CleanTransportationDto>();
 | 
			
		||||
            //获取门禁数据
 | 
			
		||||
            Expression<Func<Transport, bool>> 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 "";
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
        /// <summary>
 | 
			
		||||
        ///  排放标准(0-7是国1-7,D:电动  X:无排放阶段)
 | 
			
		||||
        /// </summary>
 | 
			
		||||
        /// <param name="effluent"></param>
 | 
			
		||||
        /// <returns></returns>
 | 
			
		||||
 | 
			
		||||
        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 "";
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue