报警记录处理过程

This commit is contained in:
quowingwang
2025-12-11 11:11:56 +08:00
parent 467f71a150
commit af414d27c9
12 changed files with 483 additions and 56 deletions

View File

@@ -0,0 +1,83 @@
using Infrastructure.Attribute;
using SqlSugar;
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(IAndonAlarmRecordProcessService), ServiceLifetime = LifeTime.Transient)]
public class AndonAlarmRecordProcessService : BaseService<AndonAlarmRecordProcess>, IAndonAlarmRecordProcessService
{
/// <summary>
/// 查询安灯报警处理过程列表
/// </summary>
/// <param name="parm"></param>
/// <returns></returns>
public PagedInfo<AndonAlarmRecordProcessDto> GetList(AndonAlarmRecordProcessQueryDto parm)
{
var predicate = Expressionable.Create<AndonAlarmRecordProcess>();
var response = Queryable()
.Where(predicate.ToExpression())
.ToPage<AndonAlarmRecordProcess, AndonAlarmRecordProcessDto>(parm);
return response;
}
/// <summary>
/// 获取详情
/// </summary>
/// <param name="Id"></param>
/// <returns></returns>
public AndonAlarmRecordProcess GetInfo(int Id)
{
var response = Queryable()
.Where(x => x.Id == Id)
.First();
return response;
}
/// <summary>
/// 添加安灯报警处理过程
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public AndonAlarmRecordProcess AddAndonAlarmRecordProcess(AndonAlarmRecordProcess model)
{
return Context.Insertable(model).ExecuteReturnEntity();
}
/// <summary>
/// 修改安灯报警处理过程
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
public int UpdateAndonAlarmRecordProcess(AndonAlarmRecordProcess model)
{
//var response = Update(w => w.Id == model.Id, it => new AndonAlarmRecordProcess()
//{
// AlarmCode = model.AlarmCode,
// Operate = model.Operate,
// Operator = model.Operator,
// OperatorName = model.OperatorName,
// OperateTime = model.OperateTime,
// Remarks = model.Remarks,
// CreatedBy = model.CreatedBy,
// CreatedTime = model.CreatedTime,
// UpdatedBy = model.UpdatedBy,
// UpdatedTime = model.UpdatedTime,
//});
//return response;
return Update(model, true);
}
}
}

View File

@@ -6,7 +6,6 @@ using ZR.Model.MES.andon.Dto;
using ZR.Repository;
using ZR.Service.mes.andon.Iservice;
namespace ZR.Service.mes.andon
{
/// <summary>
@@ -65,18 +64,22 @@ namespace ZR.Service.mes.andon
{
//var response = Update(w => w.Id == model.Id, it => new AndonAlarmRecord()
//{
// AlarmCode = model.AlarmCode,
// LineCode = model.LineCode,
// LineName = model.LineName,
// AlarmType = model.AlarmType,
// Sender = model.Sender,
// SendTime = model.SendTime,
// Receiver = model.Receiver,
// ResponseTime = model.ResponseTime,
// HandleTime = model.HandleTime,
// DurationTime = model.DurationTime,
// AlarmLevel = model.AlarmLevel,
// AlarmInfo = model.AlarmInfo,
// Sender = model.Sender,
// SenderName = model.SenderName,
// SendTime = model.SendTime,
// Receiver = model.Receiver,
// ReceiverName = model.ReceiverName,
// Sequence = model.Sequence,
// DurationTime = model.DurationTime,
// Status = model.Status,
// HandleResult = model.HandleResult,
// Remarks = model.Remarks,
// CreatedBy = model.CreatedBy,
// CreatedTime = model.CreatedTime,
// UpdatedBy = model.UpdatedBy,

View File

@@ -0,0 +1,23 @@
using System;
using ZR.Model;
using System.Collections.Generic;
using ZR.Model.MES.andon;
using ZR.Model.MES.andon.Dto;
namespace ZR.Service.mes.andon.Iservice
{
/// <summary>
/// 安灯报警处理过程service接口
/// </summary>
public interface IAndonAlarmRecordProcessService : IBaseService<AndonAlarmRecordProcess>
{
PagedInfo<AndonAlarmRecordProcessDto> GetList(AndonAlarmRecordProcessQueryDto parm);
AndonAlarmRecordProcess GetInfo(int Id);
AndonAlarmRecordProcess AddAndonAlarmRecordProcess(AndonAlarmRecordProcess parm);
int UpdateAndonAlarmRecordProcess(AndonAlarmRecordProcess parm);
}
}

View File

@@ -0,0 +1,61 @@
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace ZR.Service.mes.andon
{
public class ScheduledBackgroundService:BackgroundService
{
private readonly ILogger<ScheduledBackgroundService> _logger;
private readonly IServiceScopeFactory _scopeFactory;
private readonly TimeSpan _interval = TimeSpan.FromMinutes(5);
public ScheduledBackgroundService(
ILogger<ScheduledBackgroundService> logger,
IServiceScopeFactory scopeFactory)
{
_logger = logger;
_scopeFactory = scopeFactory;
}
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
_logger.LogInformation($"定时后台服务启动,执行间隔: {_interval.TotalMinutes}分钟");
// 延迟启动,等待应用完全初始化
await Task.Delay(TimeSpan.FromSeconds(10), stoppingToken);
while (!stoppingToken.IsCancellationRequested)
{
try
{
_logger.LogInformation($"开始执行定时任务: {DateTime.Now:HH:mm:ss}");
//// 使用 Scope 获取 Scoped 服务
//using (var scope = _scopeFactory.CreateScope())
//{
// var myService = scope.ServiceProvider.GetRequiredService<IMyBusinessService>();
// await myService.ProcessDataAsync();
//}
_logger.LogInformation($"定时任务完成");
}
catch (Exception ex)
{
_logger.LogError(ex, "定时任务执行异常");
}
// 等待指定间隔
await Task.Delay(_interval, stoppingToken);
}
_logger.LogInformation("定时后台服务停止");
}
}
}