人机交互页面
This commit is contained in:
@@ -1,5 +1,8 @@
|
||||
using Infrastructure.Attribute;
|
||||
using Infrastructure.Model;
|
||||
using JinianNet.JNTemplate.Parsers;
|
||||
using SqlSugar;
|
||||
using SqlSugar.Extensions;
|
||||
using System;
|
||||
using ZR.Model;
|
||||
using ZR.Model.MES.andon;
|
||||
@@ -15,6 +18,8 @@ namespace ZR.Service.mes.andon
|
||||
[AppService(ServiceType = typeof(IAndonAlarmRecordService), ServiceLifetime = LifeTime.Transient)]
|
||||
public class AndonAlarmRecordService : BaseService<AndonAlarmRecord>, IAndonAlarmRecordService
|
||||
{
|
||||
private AndonAlarmLevelService andonAlarmLevelService = new AndonAlarmLevelService();
|
||||
private AndonAlarmRecordProcessService andonAlarmRecordProcessService = new AndonAlarmRecordProcessService();
|
||||
/// <summary>
|
||||
/// 查询报警记录列表
|
||||
/// </summary>
|
||||
@@ -114,5 +119,157 @@ namespace ZR.Service.mes.andon
|
||||
return Update(model, true);
|
||||
}
|
||||
|
||||
public ApiResult AlarmResponse(AndonAlarmRecordDto parm)
|
||||
{
|
||||
try
|
||||
{
|
||||
var response = new ApiResult();
|
||||
if (parm != null)
|
||||
{
|
||||
var record = Queryable()
|
||||
.Where(x => x.Id == parm.Id)
|
||||
.First();
|
||||
if (record != null)
|
||||
{
|
||||
if (record.AlarmLevel != null && record.AlarmLevel.Length > 0)
|
||||
{
|
||||
int minute = 0;
|
||||
var levelInfo = andonAlarmLevelService.Queryable()
|
||||
.Where(x => x.LevelName == record.AlarmLevel).First();
|
||||
if (levelInfo != null && levelInfo.HandleTimeout != null)
|
||||
{
|
||||
minute = (int)levelInfo.HandleTimeout;
|
||||
}
|
||||
// 提前计算超时时间,提高可读性
|
||||
var createdTime = record.CreatedTime.ObjToDate();
|
||||
var timeoutTime = createdTime.AddMinutes(minute);
|
||||
var isTimeout = DateTime.Now > timeoutTime;
|
||||
record.Status = isTimeout ? "超时响应" : "及时响应";
|
||||
}
|
||||
else
|
||||
{
|
||||
record.Status = "及时响应";
|
||||
}
|
||||
record.Remarks = parm.Remarks;
|
||||
record.UpdatedBy = parm.UserId;
|
||||
record.UpdatedTime = DateTime.Now;
|
||||
UpdateAndonAlarmRecord(record);
|
||||
AndonAlarmRecordProcess andonAlarmRecordProcess = new AndonAlarmRecordProcess();
|
||||
andonAlarmRecordProcess.AlarmCode = record.AlarmCode;
|
||||
andonAlarmRecordProcess.Operate = record.Status;
|
||||
andonAlarmRecordProcess.CreatedBy = parm.UserId;
|
||||
andonAlarmRecordProcess.CreatedName = parm.UserName;
|
||||
andonAlarmRecordProcess.CreatedTime = DateTime.Now;
|
||||
andonAlarmRecordProcess.UpdatedBy = parm.UserId;
|
||||
andonAlarmRecordProcess.UpdatedName = parm.UserName;
|
||||
andonAlarmRecordProcess.UpdatedTime = DateTime.Now;
|
||||
int iResult = andonAlarmRecordProcessService.Insert(andonAlarmRecordProcess);
|
||||
return ApiResult.Success("成功",andonAlarmRecordProcess);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
response.Code = 500;
|
||||
response.Msg = "参数不能为空";
|
||||
}
|
||||
return response;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return ApiResult.Error(500, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
public ApiResult AlarmHandle(AndonAlarmRecordDto parm)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (parm == null)
|
||||
{
|
||||
return ApiResult.Error(500, "参数不能为空");
|
||||
}
|
||||
if (parm.Status == "及时响应" || parm.Status == "超时响应")
|
||||
{
|
||||
var record = Queryable()
|
||||
.Where(x => x.Id == parm.Id)
|
||||
.First();
|
||||
if(parm.Status == "及时响应")
|
||||
{
|
||||
record.Status = "及时处理";
|
||||
}
|
||||
else
|
||||
{
|
||||
record.Status = "超时处理";
|
||||
}
|
||||
record.HandleResult = parm.HandleResult;
|
||||
record.Remarks = parm.Remarks;
|
||||
record.UpdatedBy = parm.UserId;
|
||||
record.UpdatedTime = DateTime.Now;
|
||||
UpdateAndonAlarmRecord(record);
|
||||
AndonAlarmRecordProcess andonAlarmRecordProcess = new AndonAlarmRecordProcess();
|
||||
andonAlarmRecordProcess.AlarmCode = record.AlarmCode;
|
||||
andonAlarmRecordProcess.Operate = record.Status;
|
||||
andonAlarmRecordProcess.CreatedBy = parm.UserId;
|
||||
andonAlarmRecordProcess.CreatedName = parm.UserName;
|
||||
andonAlarmRecordProcess.CreatedTime = DateTime.Now;
|
||||
andonAlarmRecordProcess.UpdatedBy = parm.UserId;
|
||||
andonAlarmRecordProcess.UpdatedName = parm.UserName;
|
||||
andonAlarmRecordProcess.UpdatedTime = DateTime.Now;
|
||||
int iResult = andonAlarmRecordProcessService.Insert(andonAlarmRecordProcess);
|
||||
return ApiResult.Success("成功", andonAlarmRecordProcess);
|
||||
}
|
||||
else
|
||||
{
|
||||
return ApiResult.Error(500, "只能处理响应状态数据");
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return ApiResult.Error(500, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
public ApiResult AlarmReportHand(AndonAlarmRecordDto parm)
|
||||
{
|
||||
try
|
||||
{
|
||||
if (parm == null)
|
||||
{
|
||||
return ApiResult.Error(500, "参数不能为空");
|
||||
}
|
||||
if (parm.Status == "待响应" || parm.Status == "及时响应" || parm.Status == "超时响应")
|
||||
{
|
||||
var record = Queryable()
|
||||
.Where(x => x.Id == parm.Id)
|
||||
.First();
|
||||
|
||||
record.Status = "主动上报";
|
||||
record.Remarks = parm.Remarks;
|
||||
record.UpdatedBy = parm.UserId;
|
||||
record.UpdatedTime = DateTime.Now;
|
||||
UpdateAndonAlarmRecord(record);
|
||||
AndonAlarmRecordProcess andonAlarmRecordProcess = new AndonAlarmRecordProcess();
|
||||
andonAlarmRecordProcess.AlarmCode = record.AlarmCode;
|
||||
andonAlarmRecordProcess.Operate = record.Status;
|
||||
andonAlarmRecordProcess.CreatedBy = parm.UserId;
|
||||
andonAlarmRecordProcess.CreatedName = parm.UserName;
|
||||
andonAlarmRecordProcess.CreatedTime = DateTime.Now;
|
||||
andonAlarmRecordProcess.UpdatedBy = parm.UserId;
|
||||
andonAlarmRecordProcess.UpdatedName = parm.UserName;
|
||||
andonAlarmRecordProcess.UpdatedTime = DateTime.Now;
|
||||
int iResult = andonAlarmRecordProcessService.Insert(andonAlarmRecordProcess);
|
||||
return ApiResult.Success("成功", andonAlarmRecordProcess);
|
||||
}
|
||||
else
|
||||
{
|
||||
return ApiResult.Error(500, "只能处理响应状态数据");
|
||||
}
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
return ApiResult.Error(500, ex.Message);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -3,6 +3,7 @@ using ZR.Model;
|
||||
using System.Collections.Generic;
|
||||
using ZR.Model.MES.andon;
|
||||
using ZR.Model.MES.andon.Dto;
|
||||
using Infrastructure.Model;
|
||||
|
||||
namespace ZR.Service.mes.andon.Iservice
|
||||
{
|
||||
@@ -19,5 +20,10 @@ namespace ZR.Service.mes.andon.Iservice
|
||||
AndonAlarmRecord AddAndonAlarmRecord(AndonAlarmRecord parm);
|
||||
|
||||
int UpdateAndonAlarmRecord(AndonAlarmRecord parm);
|
||||
ApiResult AlarmResponse(AndonAlarmRecordDto parm);
|
||||
|
||||
ApiResult AlarmHandle(AndonAlarmRecordDto parm);
|
||||
|
||||
ApiResult AlarmReportHand(AndonAlarmRecordDto parm);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user