88 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C#
		
	
	
	
			
		
		
	
	
			88 lines
		
	
	
		
			3.3 KiB
		
	
	
	
		
			C#
		
	
	
	
using langguanApi.Extensions;
 | 
						|
using langguanApi.Extensions.AutoDI;
 | 
						|
using langguanApi.Model;
 | 
						|
using langguanApi.Model.Entity;
 | 
						|
using Mapster;
 | 
						|
using System.Linq.Expressions;
 | 
						|
 | 
						|
namespace langguanApi.Service
 | 
						|
{
 | 
						|
    [ServiceInjection(InjectionType.Transient)]
 | 
						|
    public class WasherService : BaseService<Washer>
 | 
						|
    {
 | 
						|
        public WasherService(IConfiguration config) : base(config, nameof(Washer))
 | 
						|
        {
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// 新增洗车机
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="input"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        public async Task addWasher(List<AddWasher> input)
 | 
						|
        {
 | 
						|
            List<Washer> result = new List<Washer>();
 | 
						|
            foreach (var item in input)
 | 
						|
            {
 | 
						|
                var entity = input.Adapt<Washer>();
 | 
						|
                result.Add(entity);
 | 
						|
            }
 | 
						|
           
 | 
						|
            await base.CreateManyAsync(result);
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// 获取洗车机列表
 | 
						|
        /// </summary>
 | 
						|
        /// <returns></returns>
 | 
						|
        public async Task<List<GetWasherDto>> getWasherList()
 | 
						|
        {
 | 
						|
            Expression<Func<Washer, bool>> exp = filter => filter.IsDelete == false;
 | 
						|
            var result = (await base.GetListWithExp(exp)).ToList();
 | 
						|
            var washerResult = new List<GetWasherDto>();//转化成需要的数据
 | 
						|
            foreach (var item in result)
 | 
						|
            {
 | 
						|
                var entity = item.Adapt<GetWasherDto>();
 | 
						|
                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;
 | 
						|
        }
 | 
						|
        /// <summary>
 | 
						|
        /// 获取洗车机历史记录
 | 
						|
        /// </summary>
 | 
						|
        /// <param name="input"></param>
 | 
						|
        /// <returns></returns>
 | 
						|
        public async Task<object> WasherHistoryList(transportReqPage input)
 | 
						|
        {
 | 
						|
            Expression<Func<Washer, bool>> exp = filter => filter.IsDelete == false;
 | 
						|
            var result = (await base.GetListWithExp(exp)).ToList();
 | 
						|
            var washerHistroyResult = new List<WasherHistoryDto>();//转化成需要的数据
 | 
						|
            foreach (var item in result)
 | 
						|
            {
 | 
						|
                var entity = item.Adapt<WasherHistoryDto>();
 | 
						|
                entity.StateString=item.State==0?"停止":"运行";
 | 
						|
                washerHistroyResult.Add(entity);
 | 
						|
            }
 | 
						|
            if (!string.IsNullOrWhiteSpace(input.startTime))
 | 
						|
            {
 | 
						|
                washerHistroyResult = washerHistroyResult.Where(p => Convert.ToDateTime(p.Time) >= Convert.ToDateTime(input.startTime)).ToList();
 | 
						|
            }
 | 
						|
            if (!string.IsNullOrWhiteSpace(input.endTime))
 | 
						|
            {
 | 
						|
                washerHistroyResult = washerHistroyResult.Where(p => Convert.ToDateTime(p.Time) <= Convert.ToDateTime(input.endTime)).ToList();
 | 
						|
            }
 | 
						|
            if (washerHistroyResult.Any())
 | 
						|
            {
 | 
						|
                washerHistroyResult = washerHistroyResult.OrderByDescending(p => p.Time).Take(30).ToList();
 | 
						|
            }
 | 
						|
            return washerHistroyResult;
 | 
						|
        }
 | 
						|
    }
 | 
						|
 | 
						|
 | 
						|
 | 
						|
}
 |