wcs_server_kate_suzhou/WcsMain/DataBase/Dao/AppConveyTaskDao.cs

172 lines
5.3 KiB
C#
Raw Normal View History

using System.Threading.Tasks;
using WcsMain.ApiServe.Controllers.Dto.WcsDto.Convey;
using WcsMain.ApiServe.Controllers.Dto.WcsDto.ElTag;
using WcsMain.Common;
using WcsMain.DataBase.TableEntity;
using WcsMain.WcsAttribute.AutoFacAttribute;
namespace WcsMain.DataBase.Dao;
[Component]
public class AppConveyTaskDao
{
/// <summary>
/// 插入数据
/// </summary>
/// <param name="conveyTasks"></param>
/// <returns></returns>
public int Insert(List<AppConveyTask> conveyTasks) => Insert(conveyTasks.ToArray());
/// <summary>
/// 插入数据
/// </summary>
/// <param name="conveyTasks"></param>
/// <returns></returns>
public int Insert(params AppConveyTask[] conveyTasks)
{
try
{
var sqlFuc = CommonTool.DbServe.Insertable(conveyTasks);
return sqlFuc.ExecuteCommand();
}
catch (Exception ex)
{
_ = ex;
return 0;
}
}
/// <summary>
/// 条件查询
/// </summary>
/// <param name="conveyTask"></param>
/// <returns></returns>
public List<AppConveyTask>? Query(AppConveyTask conveyTask)
{
try
{
var sqlFuc = CommonTool.DbServe.Queryable<AppConveyTask>()
.WhereIF(conveyTask.TaskId != default, w => w.TaskId == conveyTask.TaskId)
.WhereIF(conveyTask.TaskGroup != default, w => w.TaskGroup == conveyTask.TaskGroup)
.WhereIF(conveyTask.VehicleNo != default, w => w.VehicleNo == conveyTask.VehicleNo)
.WhereIF(conveyTask.TaskType != default, w => w.TaskType == conveyTask.TaskType)
.WhereIF(conveyTask.TaskStatus != default, w => w.TaskStatus == conveyTask.TaskStatus)
.WhereIF(conveyTask.Location != default, w => w.Location == conveyTask.Location)
.WhereIF(conveyTask.ArriveLocation != default, w => w.ArriveLocation == conveyTask.ArriveLocation)
.WhereIF(conveyTask.CreatePerson != default, w => w.CreatePerson == conveyTask.CreatePerson)
.WhereIF(conveyTask.Remark != default, w => w.Remark == conveyTask.Remark);
return sqlFuc.ToList();
}
catch(Exception ex)
{
_ = ex;
return default;
}
}
/// <summary>
/// 查询所有
/// </summary>
/// <returns></returns>
public List<AppConveyTask>? Query() => Query(new AppConveyTask());
/// <summary>
/// 根据主键更新数据
/// </summary>
/// <param name="conveyTask"></param>
/// <returns></returns>
public int Update(params AppConveyTask[] conveyTask)
{
try
{
var sqlFuc = CommonTool.DbServe.Updateable(conveyTask).IgnoreColumns(ignoreAllNullColumns: true);
return sqlFuc.ExecuteCommand();
}
catch(Exception ex)
{
_ = ex;
return 0;
}
}
/// <summary>
/// 分页查询箱式线任务表
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public (List<AppConveyTask>? conveyTasks, int totalRows) QueryConveyTaskWithPage(QueryConveyTaskWithPageRequest request)
{
try
{
int totalRows = 0;
var sqlFuc = CommonTool.DbServe.Queryable<AppConveyTask>()
.WhereIF(!string.IsNullOrEmpty(request.SearchStr),
w => w.TaskId!.Contains(request.SearchStr!)
|| w.TaskGroup!.Contains(request.SearchStr!)
|| w.Location!.Contains(request.SearchStr!)
|| w.ArriveLocation!.Contains(request.SearchStr!)
|| w.VehicleNo!.Contains(request.SearchStr!)
|| w.Remark!.Contains(request.SearchStr!));
if (request.TaskType != default)
{
List<int?> taskTaskType = [];
request.TaskType.ForEach(item => taskTaskType.Add(item));
sqlFuc.Where(w => taskTaskType.Contains(w.TaskType));
}
if (request.TaskStatus != default)
{
List<int?> taskStatus = [];
request.TaskStatus.ForEach(item => taskStatus.Add(item));
sqlFuc.Where(w => taskStatus.Contains(w.TaskStatus));
}
if (request.TimeRange is { Count: 2 }) // 时间范围
{
sqlFuc.Where(w => w.CreateTime > request.TimeRange[0] && w.CreateTime < request.TimeRange[1]);
}
sqlFuc.OrderByDescending(o => new { o.CreateTime });
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="days"></param>
/// <returns></returns>
public int ClearData(int days)
{
try
{
var sqlFuc = CommonTool.DbServe.Deleteable<AppConveyTask>()
.Where(w => w.CreateTime < DateTime.Now.AddDays(-days));
return sqlFuc.ExecuteCommand();
}
catch(Exception ex)
{
_ = ex;
return 0;
}
}
}