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
{
///
/// 错误状态表
///
public class ErrorStateDB : BaseDB
{
///
/// 登录错误状态
///
///
///
public static int AddErrorState(ErrorStateModel model)
{
using (var db = GetInstance())
{
return db.Insertable(model).ExecuteCommand();
}
}
#region 跳过
///
/// 跳过
///
///
///
///
public static void Continue(string expId, ExpStatusEnum statusEnum, NodeOperationTypeEnum expOperationTypeEnum)
{
UpStatus(expId, statusEnum, expOperationTypeEnum);
UpdateErrorState();
}
#endregion
#region 更新实验状态完成
///
/// 更新实验状态完成
///
///
///
///
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 修改错误状态
///
/// 修改错误状态
///
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
}
///
/// 更新错误状态
///
///
///
public static int Update(ErrorStateModel model)
{
using (var db = GetInstance())
{
return db.Updateable(model).ExecuteCommand();
}
}
///
/// 获取前几条数据
///
///
///
public static List GetInfoListTopNum(int topNum)
{
var operationStateEnum = EnumManagement.GetEnumValue(OperationStateEnum.OperationStateAEnum);
var parameter = LinqExtensions.True();
parameter = parameter.And(t => t.OperationState == operationStateEnum);
var result = GetList(topNum, parameter, b => b.CreateTime, OrderByType.Asc);
if (result != null && result.Count > 0)
{
return result.ToList();
}
return null;
}
#endregion
}
}