123 lines
3.6 KiB
C#
123 lines
3.6 KiB
C#
using WcsMain.ApiServe.Controllers.Dto.WcsDto.Scan;
|
|
using WcsMain.Common;
|
|
using WcsMain.DataBase.TableEntity;
|
|
using WcsMain.WcsAttribute.AutoFacAttribute;
|
|
|
|
namespace WcsMain.DataBase.Dao;
|
|
|
|
[Component]
|
|
public class AppScanRecordDao
|
|
{
|
|
|
|
/// <summary>
|
|
/// 条件查询
|
|
/// </summary>
|
|
/// <param name="queryEntity"></param>
|
|
/// <returns></returns>
|
|
public List<AppScanRecord>? Query(AppScanRecord queryEntity)
|
|
{
|
|
try
|
|
{
|
|
var sqlFuc = CommonTool.DbServe.Queryable<AppScanRecord>()
|
|
.WhereIF(queryEntity.RecordId != default, it => it.RecordId == queryEntity.RecordId)
|
|
.WhereIF(queryEntity.ScanId != default, it => it.ScanId == queryEntity.ScanId)
|
|
.WhereIF(queryEntity.Area != default, it => it.Area == queryEntity.Area)
|
|
.WhereIF(queryEntity.Code != default, it => it.Code == queryEntity.Code)
|
|
.WhereIF(queryEntity.Tag != default, it => it.Tag == queryEntity.Tag)
|
|
.WhereIF(queryEntity.Remark != default, it => it.Remark == queryEntity.Remark);
|
|
return sqlFuc.ToList();
|
|
}
|
|
catch(Exception ex)
|
|
{
|
|
_ = ex;
|
|
return default;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 查询所有
|
|
/// </summary>
|
|
/// <returns></returns>
|
|
public List<AppScanRecord>? Query() => Query(new AppScanRecord());
|
|
|
|
|
|
/// <summary>
|
|
/// 分页查询
|
|
/// </summary>
|
|
/// <param name="request"></param>
|
|
/// <returns></returns>
|
|
public (List<AppScanRecord>? records, int totalCount) Query(QueryScanRecordWithPageRequest request)
|
|
{
|
|
try
|
|
{
|
|
int totalRows = 0;
|
|
var sqlFuc = CommonTool.DbServe.Queryable<AppScanRecord>()
|
|
.WhereIF(!string.IsNullOrEmpty(request.SearchStr),
|
|
w => w.ScanId!.Contains(request.SearchStr!)
|
|
|| w.Code!.Contains(request.SearchStr!)
|
|
|| w.Area!.Contains(request.SearchStr!)
|
|
|| w.Tag!.Contains(request.SearchStr!)
|
|
|| w.Remark!.Contains(request.SearchStr!));
|
|
if (request.TimeRange is { Count: 2 }) // 时间范围
|
|
{
|
|
sqlFuc.Where(w => w.ScanTime > request.TimeRange[0] && w.ScanTime < request.TimeRange[1]);
|
|
}
|
|
sqlFuc = sqlFuc.OrderByDescending(o => new { o.ScanTime });
|
|
var queryResult = sqlFuc.ToPageList(request.Page!.PageIndex, request.Page!.PageSize, ref totalRows);
|
|
return (queryResult, totalRows);
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_ = ex;
|
|
return default;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 插入数据
|
|
/// </summary>
|
|
/// <param name="records"></param>
|
|
/// <returns></returns>
|
|
public int Insert(params AppScanRecord[] records)
|
|
{
|
|
try
|
|
{
|
|
var sqlFuc = CommonTool.DbServe.Insertable(records);
|
|
return sqlFuc.ExecuteCommand();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_ = ex;
|
|
return default;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
/// 清理多少天之前的数据
|
|
/// </summary>
|
|
/// <param name="days"></param>
|
|
/// <returns></returns>
|
|
public int ClrearWithDays(int days)
|
|
{
|
|
try
|
|
{
|
|
var sqlFuc = CommonTool.DbServe.Deleteable<AppScanRecord>()
|
|
.Where(w => w.ScanTime < DateTime.Now.AddDays(-days));
|
|
return sqlFuc.ExecuteCommand();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_ = ex;
|
|
return default;
|
|
}
|
|
}
|
|
|
|
}
|