using WcsMain.Common;
using WcsMain.DataBase.JoinTableEntity;
using WcsMain.DataBase.TableEntity;
using WcsMain.WcsAttribute.AutoFacAttribute;
namespace WcsMain.DataBase.Dao;
[Component]
public class AppErrRecorDao
{
///
/// 插入数据
///
///
///
public int Insert(params AppErrRecord[] records)
{
try
{
var sqlFuc = CommonTool.DbServe.Insertable(records);
return sqlFuc.ExecuteCommand();
}
catch (Exception ex)
{
_ = ex;
return 0;
}
}
///
/// 查询所有数据
///
///
public List? Query()
{
try
{
var sqlFuc = CommonTool.DbServe.Queryable();
return sqlFuc.ToList();
}
catch (Exception ex)
{
_ = ex;
return null;
}
}
///
/// 查询指定条数的数据
///
///
///
public List? Query(int count)
{
if(count < 1) return null;
try
{
var sqlFuc = CommonTool.DbServe.Queryable().Take(count);
return sqlFuc.ToList();
}
catch (Exception ex)
{
_ = ex;
return null;
}
}
///
/// 查询最近一个月的故障列表
///
///
public List? SelectErrorRecordWithJoin()
{
try
{
var sqlFuc = CommonTool.DbServe.Queryable()
.LeftJoin((r, b) => r.ErrNo == b.ErrNo)
.Where(r => r.CreateTime > DateTime.Now.AddMonths(-1))
.OrderByDescending(r => r.CreateTime)
.Select((r, b) =>
new AppErrorRecordJoin
{
Area = r.Area,
ErrNo = r.ErrNo,
EquipmentId = r.EquipmentId,
CreateTime = r.CreateTime,
ErrType = b.ErrType,
ErrMsg = b.ErrMsg
});
return sqlFuc.ToList();
}
catch (Exception ex)
{
_ = ex;
return null;
}
}
}