报警记录处理过程
This commit is contained in:
83
ZR.Service/mes/andon/AndonAlarmRecordProcessService.cs
Normal file
83
ZR.Service/mes/andon/AndonAlarmRecordProcessService.cs
Normal 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);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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,
|
||||
|
||||
@@ -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);
|
||||
|
||||
}
|
||||
}
|
||||
61
ZR.Service/mes/andon/ScheduledBackgroundService.cs
Normal file
61
ZR.Service/mes/andon/ScheduledBackgroundService.cs
Normal 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("定时后台服务停止");
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user