人机交互页面
This commit is contained in:
parent
9f620c70c1
commit
d36e48b532
@ -115,6 +115,44 @@ namespace ZR.Admin.WebApi.Controllers.andon
|
||||
return SUCCESS(response);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 报警响应
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost("response")]
|
||||
[ActionPermissionFilter(Permission = "business:andonalarmrecord:edit")]
|
||||
[Log(Title = "报警响应", BusinessType = BusinessType.UPDATE)]
|
||||
public ApiResult AlarmResponse([FromBody] AndonAlarmRecordDto parm)
|
||||
{
|
||||
var result = _AndonAlarmRecordService.AlarmResponse(parm);
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 报警处理
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost("handle")]
|
||||
[ActionPermissionFilter(Permission = "business:andonalarmrecord:edit")]
|
||||
[Log(Title = "报警处理", BusinessType = BusinessType.UPDATE)]
|
||||
public ApiResult AlarmHandle([FromBody] AndonAlarmRecordDto parm)
|
||||
{
|
||||
var result = _AndonAlarmRecordService.AlarmHandle(parm);
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 报警主动上报
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[HttpPost("reportHand")]
|
||||
[ActionPermissionFilter(Permission = "business:andonalarmrecord:edit")]
|
||||
[Log(Title = "报警上报", BusinessType = BusinessType.UPDATE)]
|
||||
public ApiResult AlarmReportHand([FromBody] AndonAlarmRecordDto parm)
|
||||
{
|
||||
var result = _AndonAlarmRecordService.AlarmReportHand(parm);
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -24,23 +24,6 @@ namespace ZR.Model.MES.andon
|
||||
/// </summary>
|
||||
public string Operate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 操作人
|
||||
/// </summary>
|
||||
public string Operator { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 操作人名称
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "operator_name")]
|
||||
public string OperatorName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 操作时间
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "operate_time")]
|
||||
public DateTime? OperateTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// </summary>
|
||||
@ -52,6 +35,12 @@ namespace ZR.Model.MES.andon
|
||||
[SugarColumn(ColumnName = "created_by")]
|
||||
public string CreatedBy { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建人名称
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "created_name")]
|
||||
public string CreatedName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间
|
||||
/// </summary>
|
||||
@ -64,6 +53,12 @@ namespace ZR.Model.MES.andon
|
||||
[SugarColumn(ColumnName = "updated_by")]
|
||||
public string UpdatedBy { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 更新人名称
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "updated_name")]
|
||||
public string UpdatedName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 更新时间
|
||||
/// </summary>
|
||||
|
||||
@ -53,6 +53,9 @@ namespace ZR.Model.MES.andon.Dto
|
||||
|
||||
public DateTime? UpdatedTime { get; set; }
|
||||
|
||||
public string UserId { get; set; }
|
||||
public string UserName { get; set; }
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@ -22,19 +22,16 @@ namespace ZR.Model.MES.andon.Dto
|
||||
|
||||
public string Operate { get; set; }
|
||||
|
||||
public string Operator { get; set; }
|
||||
|
||||
public string OperatorName { get; set; }
|
||||
|
||||
public DateTime? OperateTime { get; set; }
|
||||
|
||||
public string Remarks { get; set; }
|
||||
|
||||
public string CreatedBy { get; set; }
|
||||
|
||||
public string CreatedName { get; set; }
|
||||
|
||||
public DateTime? CreatedTime { get; set; }
|
||||
|
||||
public string UpdatedBy { get; set; }
|
||||
public string UpdatedName { get; set; }
|
||||
|
||||
public DateTime? UpdatedTime { get; set; }
|
||||
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user