diff --git a/langguanApi/Controllers/TransportController.cs b/langguanApi/Controllers/TransportController.cs index 9ffd074..6dafe5f 100644 --- a/langguanApi/Controllers/TransportController.cs +++ b/langguanApi/Controllers/TransportController.cs @@ -14,10 +14,12 @@ namespace langguanApi.Controllers { private TransportService _transportService; private WasherService _washerService; - public TransportController(TransportService transportService, WasherService washerService) + private TruckScalesService _truckScalesService; + public TransportController(TransportService transportService, WasherService washerService, TruckScalesService truckScalesService) { _transportService = transportService; _washerService = washerService; + _truckScalesService = truckScalesService; } /// /// 获取清洁运输列表 @@ -53,33 +55,68 @@ namespace langguanApi.Controllers } #region 洗车机 - /// - /// 新增洗车机 + /// 推送洗车机列表(洗车机列表和洗车机记录组合在一起) /// /// /// - [HttpPost("addwasher")] - public async Task AddWasher(AddWasher input) + [HttpPost("addwasherlist")] + public async Task AddWasherList(List input) { await _washerService.addWasher(input); return Ok(new ApiResult() { code = 0 }); } - /// - /// 新增洗车机历史记录 + /// 获取洗车机列表 /// /// /// - [HttpPost("addwasherhistory")] - public async Task AddWasherHistory(AddWasherHistory input) + [HttpGet("washerList")] + public async Task WasherList() { - await _washerService.AddWasherHistory(input); - return Ok(new ApiResult() { code = 0 }); + var result = await _washerService.getWasherList(); + return Ok(result); } + /// + /// 获取洗车机历史记录(起始时间和结束时间非空,根据起始时间和结束时间筛选数据,如果为空,默认获取30条数据) + /// + /// + /// + [HttpGet("washerhistorylist")] + public async Task WasherHistoryList([FromQuery] transportReqPage input) + { + var result = await _washerService.WasherHistoryList(input); + return Ok(result); + } + #endregion + #region 地磅 + /// + /// 推送地磅列表 + /// + /// + /// + [HttpPost("addruckscaleslist")] + public async Task AddRuckScalesList(List input) + { + await _truckScalesService.AddTruckScalesList(input); + return Ok(new ApiResult() { code = 0 }); + } + #endregion - + #region 清洁运输 + /// + /// 获取清洁运输(门禁和地磅组合,地磅获取总重量,后期会用地磅重量-车辆车辆) + /// + /// + /// + [HttpGet("gettransport")] + public async Task GetTransport([FromQuery] transportReqPage reqPage) + { + var result = await _transportService.GetTransport(reqPage); + return Ok(result); + } + #endregion } } diff --git a/langguanApi/Model/CleanTransportation.cs b/langguanApi/Model/CleanTransportation.cs new file mode 100644 index 0000000..de39001 --- /dev/null +++ b/langguanApi/Model/CleanTransportation.cs @@ -0,0 +1,29 @@ +namespace langguanApi.Model +{ + /// + /// 清洁运输展示信息 + /// + public class CleanTransportationDto + { + /// + /// 车牌号 + /// + public string CarNumber { get; set; } + /// + /// 车牌颜色 + /// + public string CarColor { get; set; } + /// + /// 运输量 + /// + public double Weight { get; set; } + /// + /// 通过时间 + /// + public string Time { get; set; } + /// + /// 车牌类型 + /// + public string CarType { get; set; } + } +} diff --git a/langguanApi/Model/ReqPaing.cs b/langguanApi/Model/ReqPaing.cs index 40d145a..b25874f 100644 --- a/langguanApi/Model/ReqPaing.cs +++ b/langguanApi/Model/ReqPaing.cs @@ -9,4 +9,12 @@ { public string key { get; set; } = ""; } + + public class transportReqPage : ReqPaing + { + //开始时间 + public string startTime { get; set; } = ""; + //结束时间 + public string endTime { get; set; } = ""; + } } diff --git a/langguanApi/Model/Transport.cs b/langguanApi/Model/Transport.cs index ad72987..558ac33 100644 --- a/langguanApi/Model/Transport.cs +++ b/langguanApi/Model/Transport.cs @@ -63,6 +63,10 @@ /// 有效期限 /// public string ValidityPeriod { get; set; } + /// + /// 出入场时间 + /// + public DateTime Time { get; set; } } public class AddTransport @@ -120,4 +124,18 @@ /// public string ValidityPeriod { get; set; } } + + public class TransportDto : Transport + { + public string CarColorString { get; set; } + } + public enum CarColor + { + 蓝色 = 1, + 绿色 = 2, + 黄色 = 3, + 白色 = 4, + 黑色 = 5, + 黄绿 = 6 + } } diff --git a/langguanApi/Model/TruckScales.cs b/langguanApi/Model/TruckScales.cs new file mode 100644 index 0000000..34102f8 --- /dev/null +++ b/langguanApi/Model/TruckScales.cs @@ -0,0 +1,47 @@ +namespace langguanApi.Model +{ + /// + /// 地磅 + /// + public class TruckScales :BaseModel + { + /// + /// 重量 + /// + public double Weight { get; set; } + /// + /// 货物类型 + /// + public string GoodsType { get; set; } + /// + /// 车牌 + /// + public string CarNumber { get; set; } + /// + /// 时间 + /// + public string DTime { get; set; } + + } + public class AddTruckScalesDto + { + /// + /// 重量 + /// + public string Weight { get; set; } + /// + /// 货物类型 + /// + public string GoodsType { get; set; } + /// + /// 车牌 + /// + public string CarNumber { get; set; } + /// + /// 时间 + /// + public string DTime { get; set; } + + } + +} diff --git a/langguanApi/Model/Washer.cs b/langguanApi/Model/Washer.cs index 95d524a..b7bfbc9 100644 --- a/langguanApi/Model/Washer.cs +++ b/langguanApi/Model/Washer.cs @@ -70,11 +70,13 @@ public int Time { get; set; } //设备状态(State 0表示异常,1表示正常) public int State { get; set; } + /// + /// 洗车机编码 + /// + public string EquipmentId { get; set; } } - /// - /// 添加洗车机 - /// + public class AddWasher { /// @@ -131,13 +133,98 @@ /// public double WaterPressure { get; set; } + /// + /// 运行时间(RunTime) + /// + public string RunTime { get; set; } + /// + /// 清洗记录时间(RecodeTime) + /// + public string RecodeTime { get; set; } + //车牌号(CarNumber) + public string CarNumber { get; set; } + //清洗时间(Time 单位s) + public int Time { get; set; } + //设备状态(State 0表示异常,1表示正常) + public int State { get; set; } + /// + /// 洗车机编码 + /// + public string EquipmentId { get; set; } + } + /// + /// 添加洗车机 + /// + public class GetWasherDto + { + /// + /// 洗车机名称(Name) + /// + public string Name { get; set; } + /// + /// 设备状态(EquipmentStatus,0表示异常,1表示正常) + /// + public string EquipmentStatusString { get; set; } + + /// + /// 运行状态(RunStatus,0表示异常,1表示正常) + /// + public string RunStatusString { get; set; } + /// + /// 水压报警(WPAlarm 0表示异常,1表示正常) + /// + public string WPAlarmString { get; set; } + /// + /// 相序报警(PSAlarm0表示异常,1表示正常) + /// + public string PSAlarmString { get; set; } + /// + /// 故障报警(FaultAlarm 0表示异常,1表示正常) + /// + public string FaultAlarmString { get; set; } + /// + /// 冲洗压力 + /// + public double RinsePressure { get; set; } + /// + /// 冲洗电流 + /// + public double RinseCurrent { get; set; } + /// + /// 冲洗电压(RinseVoltage 单位V) + /// + public double RinseVoltage { get; set; } + /// + /// 水流量(Discharge 单位T) + /// + public double Discharge { get; set; } + /// + /// 电量(Electricity KW/H) + /// + public double Electricity { get; set; } + /// + /// 电流(Current A) + /// + public double Current { get; set; } + /// + /// 水压(WaterPressure MPa) + /// + public double WaterPressure { get; set; } + /// + /// 洗车机编码 + /// + public string EquipmentId { get; set; } } /// /// 添加洗车机历史 /// - public class AddWasherHistory + public class WasherHistoryDto { + /// + /// 洗车机编码 + /// + public string EquipmentId { get; set; } /// /// 运行时间(RunTime) /// @@ -155,8 +242,7 @@ public string Name { get; set; } //设备状态(State 0表示异常,1表示正常) - public int State { get; set; } - + public string StateString { get; set; } } } diff --git a/langguanApi/Service/TransportService.cs b/langguanApi/Service/TransportService.cs index b8349b8..1908dda 100644 --- a/langguanApi/Service/TransportService.cs +++ b/langguanApi/Service/TransportService.cs @@ -11,8 +11,10 @@ namespace langguanApi.Service [ServiceInjection(InjectionType.Transient)] public class TransportService : BaseService { - public TransportService(IConfiguration config) : base(config, nameof(Transport)) + private TruckScalesService _truckScalesService; + public TransportService(IConfiguration config, TruckScalesService truckScalesService) : base(config, nameof(Transport)) { + _truckScalesService = truckScalesService; } /// /// 新增运输 @@ -44,11 +46,18 @@ namespace langguanApi.Service public async Task GetPage(reqpage input) { Expression> exp = filter => filter.CarNumber.Contains(input.key) && filter.IsDelete == false; - return await base.GetPager(new ReqPaing() + var list = await base.GetListWithExp(exp); + var result = new List(); + if (list.Any()) { - pageSize = input.pageSize, - current = input.current - }, exp); + foreach (var item in list) + { + var entity = item.Adapt(); + entity.CarColorString = GetColorString(item.CarColor); + result.Add(entity); + } + } + return result.Skip(input.current - 1).Take(input.pageSize); } /// /// 获取清洁运输统计数字 @@ -72,5 +81,71 @@ namespace langguanApi.Service } }; } + /// + /// 获取清洁运输列表(门禁和地磅组合) + /// + /// + /// + public async Task GetTransport(transportReqPage input) + { + var result = new List(); + //获取门禁数据 + Expression> exp = filter => filter.TransportType == 1 && filter.IsDelete == false; + var list = (await base.GetListWithExp(exp)).ToList(); + //获取地磅数据 + var TruckScaleslist = _truckScalesService.GetTruckScalesList().Result; + //合并数据 + foreach (var item in TruckScaleslist) + { + var transport = list.FirstOrDefault(p => p.CarNumber == item.CarNumber); + if (transport != null) + { + result.Add(new CleanTransportationDto() + { + CarColor = GetColorString(transport.CarColor), + CarNumber = transport.CarNumber, + CarType = transport.CarType, + Time = transport.Time.ToString(), + Weight = item.Weight + }); + } + } + if (!string.IsNullOrWhiteSpace(input.startTime)) + { + result.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 = result.Skip(input.current - 1).Take(input.pageSize).ToList(); + return result; + } + + /// + /// 获取车辆颜色 + /// + /// + /// + public string GetColorString(int color) + { + switch (color) + { + case 1: + return CarColor.蓝色.ToString(); + case 2: + return CarColor.绿色.ToString(); + case 3: + return CarColor.黄色.ToString(); + case 4: + return CarColor.白色.ToString(); + case 5: + return CarColor.黑色.ToString(); + case 6: + return CarColor.黄绿.ToString(); + default: + return ""; + } + } } } diff --git a/langguanApi/Service/TruckScalesService.cs b/langguanApi/Service/TruckScalesService.cs new file mode 100644 index 0000000..c989092 --- /dev/null +++ b/langguanApi/Service/TruckScalesService.cs @@ -0,0 +1,45 @@ +using langguanApi.Extensions.AutoDI; +using langguanApi.Model; +using Mapster; +using System.Linq.Expressions; + +namespace langguanApi.Service +{ + [ServiceInjection(InjectionType.Transient)] + public class TruckScalesService : BaseService + { + public TruckScalesService(IConfiguration config) : base(config, nameof(TruckScales)) + { + } + + /// + /// 新加 + /// + /// + /// + public async Task AddTruckScalesList(List input) + { + var list = new List(); + foreach (var item in input) + { + list.Add(item.Adapt()); + } + if (list.Any()) + { + await base.CreateManyAsync(list); + } + } + + /// + /// 获取地磅集合 + /// + /// + /// + public async Task> GetTruckScalesList() + { + Expression> exp = filter => filter.IsDelete == false; + var list = (await base.GetListWithExp(exp)).ToList(); + return list; + } + } +} diff --git a/langguanApi/Service/WasherService.cs b/langguanApi/Service/WasherService.cs index 80e145d..7cc8907 100644 --- a/langguanApi/Service/WasherService.cs +++ b/langguanApi/Service/WasherService.cs @@ -1,7 +1,9 @@ -using langguanApi.Extensions.AutoDI; +using langguanApi.Extensions; +using langguanApi.Extensions.AutoDI; using langguanApi.Model; using langguanApi.Model.Entity; using Mapster; +using System.Linq.Expressions; namespace langguanApi.Service { @@ -16,20 +18,55 @@ namespace langguanApi.Service /// /// /// - public async Task addWasher(AddWasher input) + public async Task addWasher(List input) { - var entity = input.Adapt(); - return await base.CreateAsync(entity); + List result = new List(); + foreach (var item in input) + { + var entity = input.Adapt(); + result.Add(entity); + } + + await base.CreateManyAsync(result); } /// - /// 新增洗车机历史记录 + /// 获取洗车机列表 + /// + /// + public async Task> getWasherList() + { + Expression> exp = filter => filter.IsDelete == false; + var result = (await base.GetListWithExp(exp)).ToList(); + var washerResult = new List();//转化成需要的数据 + foreach (var item in result) + { + var entity = item.Adapt(); + entity.EquipmentStatusString = item.EquipmentStatus == 0 ? "异常" : "正常"; + entity.FaultAlarmString = item.FaultAlarm == 0 ? "异常" : "正常"; + entity.PSAlarmString=item.PSAlarm==0?"异常":"正常"; + entity.RunStatusString=item.RunStatus==0?"停止":"运行"; + entity.WPAlarmString=item.WPAlarm==0?"异常":"正常"; + washerResult.Add(entity); + } + return washerResult; + } + /// + /// 获取洗车机历史记录 /// /// /// - public async Task AddWasherHistory(AddWasherHistory input) + public async Task WasherHistoryList(transportReqPage input) { - var entity = input.Adapt(); - return await base.CreateAsync(entity); + Expression> exp = filter => filter.IsDelete == false; + var result = (await base.GetListWithExp(exp)).ToList(); + var washerHistroyResult = new List();//转化成需要的数据 + foreach (var item in result) + { + var entity = item.Adapt(); + entity.StateString=item.State==0?"停止":"运行"; + washerHistroyResult.Add(entity); + } + return washerHistroyResult; } }