using DataEntity;
|
using DataRWDAL.Base;
|
using HxEnum;
|
using SqlSugar;
|
using System.Collections.Generic;
|
using System.Linq;
|
using XCommon.SqlSugar;
|
using static HxEnum.OperationTypeEnum;
|
|
namespace XImagingXhandler.XDAL
|
{
|
/// <summary>
|
/// 错误状态表
|
/// </summary>
|
public class ErrorStateDB : BaseDB
|
{
|
/// <summary>
|
/// 登录错误状态
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
public static int AddErrorState(ErrorStateModel model)
|
{
|
using (var db = GetInstance())
|
{
|
return db.Insertable<ErrorStateModel>(model).ExecuteCommand();
|
}
|
}
|
|
#region 跳过
|
/// <summary>
|
/// 跳过
|
/// </summary>
|
/// <param name="expId"></param>
|
/// <param name="statusEnum"></param>
|
/// <param name="expOperationTypeEnum"></param>
|
public static void Continue(string expId, ExpStatusEnum statusEnum, NodeOperationTypeEnum expOperationTypeEnum)
|
{
|
UpStatus(expId, statusEnum, expOperationTypeEnum);
|
|
UpdateErrorState();
|
}
|
#endregion
|
|
#region 更新实验状态完成
|
/// <summary>
|
/// 更新实验状态完成
|
/// </summary>
|
/// <param name="id"></param>
|
/// <param name="statusEnum"></param>
|
/// <param name="expOperationTypeEnum"></param>
|
private static void UpStatus(string id, ExpStatusEnum statusEnum, NodeOperationTypeEnum expOperationTypeEnum)
|
{
|
//var model = experimentBLL.GetExperimentById(id);
|
|
//if (model != null)
|
//{
|
// string executionLogId = Guid.NewGuid().ToString();
|
|
// #region 插入设备执行日志
|
// //string msg = $"实验:【{model.Name}】已{EnumManagement.GetFieldText(expOperationTypeEnum)}";
|
// //LogUtil.ClientLog(msg + "_插入设备执行日志");
|
// //new ExecutionLogBLL().AddExecutionLog(new ExecutionLogModel
|
// //{
|
// // Id = executionLogId,
|
// // ExperimentId = model.Id,
|
// // Progress = 100,
|
// // ExperimentStep = "中控软件",
|
// // EquipmentAction = msg,
|
// // StartTime = DateTime.Now,
|
// // Equipment = "中控软件",
|
// // Remark = msg,
|
// // CreateTime = DateTime.Now
|
// //});
|
// #endregion
|
|
// #region 更新结束时间
|
// //var experimentModel = new ExperimentBLL().GetExperimentById(model.Id);
|
// //experimentModel.Status = EnumManagement.GetEnumValue(statusEnum);
|
// //if (expOperationTypeEnum == ExpOperationTypeEnum.ExpOperationTypeCEnum)
|
// //{
|
// // experimentModel.ExpEndTime = DateTime.Now;
|
// //}
|
// //var expTime = new ExperimentBLL().Update(experimentModel);
|
// //if (expTime != null)
|
// //{
|
// // new ExecutionLogBLL().UpdateExecutionLogEndTime(executionLogId); //修改结束时间
|
// //}
|
// #endregion
|
//}
|
}
|
#endregion
|
|
#region 修改错误状态
|
/// <summary>
|
/// 修改错误状态
|
/// </summary>
|
private static void UpdateErrorState()
|
{
|
#region 修改错误信息为已处理
|
var getInfoList = GetInfoListTopNum(1);
|
if (getInfoList != null && getInfoList.Count > 0)
|
{
|
var errorStateModel = GetInfoListTopNum(1).FirstOrDefault();
|
errorStateModel.OperationState = EnumManagement.GetEnumValue(OperationStateEnum.OperationStateBEnum);
|
Update(errorStateModel); //修改状态
|
}
|
#endregion
|
}
|
|
/// <summary>
|
/// 更新错误状态
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
public static int Update(ErrorStateModel model)
|
{
|
using (var db = GetInstance())
|
{
|
return db.Updateable<ErrorStateModel>(model).ExecuteCommand();
|
}
|
}
|
|
/// <summary>
|
/// 获取前几条数据
|
/// </summary>
|
/// <param name="topNum"></param>
|
/// <returns></returns>
|
public static List<ErrorStateModel> GetInfoListTopNum(int topNum)
|
{
|
var operationStateEnum = EnumManagement.GetEnumValue(OperationStateEnum.OperationStateAEnum);
|
var parameter = LinqExtensions.True<ErrorStateModel>();
|
parameter = parameter.And(t => t.OperationState == operationStateEnum);
|
|
var result = GetList<ErrorStateModel>(topNum, parameter, b => b.CreateTime, OrderByType.Asc);
|
if (result != null && result.Count > 0)
|
{
|
return result.ToList();
|
}
|
return null;
|
}
|
|
#endregion
|
}
|
}
|