shgx_tz_mom/ZR.Service/mes/andon/AndonAlarmLevelService.cs
2025-12-11 16:19:02 +08:00

103 lines
3.1 KiB
C#

using Infrastructure.Attribute;
using Infrastructure.Model;
using SqlSugar;
using System;
using ZR.Model;
using ZR.Model.MES.andon;
using ZR.Model.MES.andon.Dto;
using ZR.Repository;
using ZR.Service.mes.andon.Iservice;
namespace ZR.Service.mes.andon
{
/// <summary>
/// 报警等级表Service业务层处理
/// </summary>
[AppService(ServiceType = typeof(IAndonAlarmLevelService), ServiceLifetime = LifeTime.Transient)]
public class AndonAlarmLevelService : BaseService<AndonAlarmLevel>, IAndonAlarmLevelService
{
/// <summary>
/// 查询报警等级表列表
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
public PagedInfo<AndonAlarmLevelDto> GetList(AndonAlarmLevelQueryDto parm)
{
var predicate = Expressionable.Create<AndonAlarmLevel>();
if (!string.IsNullOrEmpty(parm.LevelName))
{
predicate.And(x => x.LevelName.Contains(parm.LevelName));
}
var response = Queryable()
.Where(predicate.ToExpression())
.ToPage<AndonAlarmLevel, AndonAlarmLevelDto>(parm);
return response;
}
/// <summary>
/// 获取详情
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public AndonAlarmLevel GetInfo(int Id)
{
var response = Queryable()
.Where(x => x.Id == Id)
.First();
return response;
}
/// <summary>
/// 添加报警等级表
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public AndonAlarmLevel AddAndonAlarmLevel(AndonAlarmLevel model)
{
return Context.Insertable(model).ExecuteReturnEntity();
}
/// <summary>
/// 修改报警等级表
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public int UpdateAndonAlarmLevel(AndonAlarmLevel model)
{
//var response = Update(w => w.Id == model.Id, it => new AndonAlarmLevel()
//{
// LevelName = model.LevelName,
// LightColor = model.LightColor,
// HandleTimeout = model.HandleTimeout,
// ApplyScenario = model.ApplyScenario,
// CreatedBy = model.CreatedBy,
// CreatedTime = model.CreatedTime,
// UpdatedBy = model.UpdatedBy,
// UpdatedTime = model.UpdatedTime,
//});
//return response;
return Update(model, true);
}
public ApiResult GetPullDowm()
{
try
{
var response = Queryable()
.Select(it => new AlarmLevelPullDownDto
{
label = it.LevelName,
value = it.LightColor
}).ToList();
return ApiResult.Success("成功", response);
}
catch (Exception ex)
{
return ApiResult.Error(ex.Message);
}
}
}
}