人机交互页面
This commit is contained in:
@@ -115,6 +115,44 @@ namespace ZR.Admin.WebApi.Controllers.andon
|
|||||||
return SUCCESS(response);
|
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>
|
/// </summary>
|
||||||
public string Operate { get; set; }
|
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>
|
||||||
/// 备注
|
/// 备注
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -52,6 +35,12 @@ namespace ZR.Model.MES.andon
|
|||||||
[SugarColumn(ColumnName = "created_by")]
|
[SugarColumn(ColumnName = "created_by")]
|
||||||
public string CreatedBy { get; set; }
|
public string CreatedBy { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 创建人名称
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName = "created_name")]
|
||||||
|
public string CreatedName { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 创建时间
|
/// 创建时间
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -64,6 +53,12 @@ namespace ZR.Model.MES.andon
|
|||||||
[SugarColumn(ColumnName = "updated_by")]
|
[SugarColumn(ColumnName = "updated_by")]
|
||||||
public string UpdatedBy { get; set; }
|
public string UpdatedBy { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// 更新人名称
|
||||||
|
/// </summary>
|
||||||
|
[SugarColumn(ColumnName = "updated_name")]
|
||||||
|
public string UpdatedName { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 更新时间
|
/// 更新时间
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@@ -53,6 +53,9 @@ namespace ZR.Model.MES.andon.Dto
|
|||||||
|
|
||||||
public DateTime? UpdatedTime { get; set; }
|
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 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 Remarks { get; set; }
|
||||||
|
|
||||||
public string CreatedBy { get; set; }
|
public string CreatedBy { get; set; }
|
||||||
|
|
||||||
|
public string CreatedName { get; set; }
|
||||||
|
|
||||||
public DateTime? CreatedTime { get; set; }
|
public DateTime? CreatedTime { get; set; }
|
||||||
|
|
||||||
public string UpdatedBy { get; set; }
|
public string UpdatedBy { get; set; }
|
||||||
|
public string UpdatedName { get; set; }
|
||||||
|
|
||||||
public DateTime? UpdatedTime { get; set; }
|
public DateTime? UpdatedTime { get; set; }
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,8 @@
|
|||||||
using Infrastructure.Attribute;
|
using Infrastructure.Attribute;
|
||||||
|
using Infrastructure.Model;
|
||||||
|
using JinianNet.JNTemplate.Parsers;
|
||||||
using SqlSugar;
|
using SqlSugar;
|
||||||
|
using SqlSugar.Extensions;
|
||||||
using System;
|
using System;
|
||||||
using ZR.Model;
|
using ZR.Model;
|
||||||
using ZR.Model.MES.andon;
|
using ZR.Model.MES.andon;
|
||||||
@@ -15,6 +18,8 @@ namespace ZR.Service.mes.andon
|
|||||||
[AppService(ServiceType = typeof(IAndonAlarmRecordService), ServiceLifetime = LifeTime.Transient)]
|
[AppService(ServiceType = typeof(IAndonAlarmRecordService), ServiceLifetime = LifeTime.Transient)]
|
||||||
public class AndonAlarmRecordService : BaseService<AndonAlarmRecord>, IAndonAlarmRecordService
|
public class AndonAlarmRecordService : BaseService<AndonAlarmRecord>, IAndonAlarmRecordService
|
||||||
{
|
{
|
||||||
|
private AndonAlarmLevelService andonAlarmLevelService = new AndonAlarmLevelService();
|
||||||
|
private AndonAlarmRecordProcessService andonAlarmRecordProcessService = new AndonAlarmRecordProcessService();
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// 查询报警记录列表
|
/// 查询报警记录列表
|
||||||
/// </summary>
|
/// </summary>
|
||||||
@@ -114,5 +119,157 @@ namespace ZR.Service.mes.andon
|
|||||||
return Update(model, true);
|
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 System.Collections.Generic;
|
||||||
using ZR.Model.MES.andon;
|
using ZR.Model.MES.andon;
|
||||||
using ZR.Model.MES.andon.Dto;
|
using ZR.Model.MES.andon.Dto;
|
||||||
|
using Infrastructure.Model;
|
||||||
|
|
||||||
namespace ZR.Service.mes.andon.Iservice
|
namespace ZR.Service.mes.andon.Iservice
|
||||||
{
|
{
|
||||||
@@ -19,5 +20,10 @@ namespace ZR.Service.mes.andon.Iservice
|
|||||||
AndonAlarmRecord AddAndonAlarmRecord(AndonAlarmRecord parm);
|
AndonAlarmRecord AddAndonAlarmRecord(AndonAlarmRecord parm);
|
||||||
|
|
||||||
int UpdateAndonAlarmRecord(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