212 lines
6.6 KiB
C#
212 lines
6.6 KiB
C#
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)
|
|
.OrderBy(o => o.CreateTime);
|
|
|
|
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="appConveyTask"></param>
|
|
/// <returns></returns>
|
|
public int Delete(AppConveyTask appConveyTask)
|
|
{
|
|
try
|
|
{
|
|
var sqlFuc = CommonTool.DbServe.Deleteable(appConveyTask);
|
|
return sqlFuc.ExecuteCommand();
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
_ = ex;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// 根据箱号和点位删除任务
|
|
/// </summary>
|
|
/// <param name="appConveyTask"></param>
|
|
/// <returns></returns>
|
|
public int VehicledDelete(AppConveyTask appConveyTask)
|
|
{
|
|
try
|
|
{
|
|
var deleteResult = CommonTool.DbServe.Deleteable<AppConveyTask>().Where(it => it.VehicleNo == appConveyTask.VehicleNo && it.Location == appConveyTask.Location).ExecuteCommand();
|
|
return deleteResult;
|
|
}
|
|
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;
|
|
}
|
|
}
|
|
|
|
|
|
}
|