<add>[important]添加箱式线任务的查询功能

This commit is contained in:
葛林强 2024-06-15 14:59:07 +08:00
parent 520004b056
commit ed386af29e
6 changed files with 165 additions and 14 deletions

View File

@ -0,0 +1,54 @@
using System.Text.Json.Serialization;
using WcsMain.ApiServe.Controllers.Dto.WcsDto.ElTag;
namespace WcsMain.ApiServe.Controllers.Dto.WcsDto.Convey;
public class QueryConveyTaskWithPageRequest
{
/// <summary>
/// 查询的字符串
/// </summary>
[JsonPropertyName("searchStr")]
public string? SearchStr { get; set; }
/// <summary>
/// 任务类型
/// </summary>
[JsonPropertyName("conveyTaskType")]
public List<int>? TaskType { get; set; }
/// <summary>
/// 任务状态
/// </summary>
[JsonPropertyName("conveyTaskStatus")]
public List<int>? TaskStatus { get; set; }
/// <summary>
/// 查询时间范围
/// </summary>
[JsonPropertyName("timeRange")]
public List<DateTime>? TimeRange { get; set; }
/// <summary>
/// 分页信息
/// </summary>
[JsonPropertyName("page")]
public ConveyTaskPage? Page { get; set; }
}
public class ConveyTaskPage
{
/// <summary>
/// 每页大小
/// </summary>
[JsonPropertyName("pageSize")]
public int PageSize { get; set; }
/// <summary>
/// 当前页数
/// </summary>
[JsonPropertyName("pageIndex")]
public int PageIndex { get; set; }
}

View File

@ -2,7 +2,9 @@
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
using WcsMain.ApiServe.ControllerFilter.ExceptionFilter; using WcsMain.ApiServe.ControllerFilter.ExceptionFilter;
using WcsMain.ApiServe.Controllers.Dto; using WcsMain.ApiServe.Controllers.Dto;
using WcsMain.ApiServe.Controllers.Dto.WcsDto.Convey;
using WcsMain.ApiServe.Factory; using WcsMain.ApiServe.Factory;
using WcsMain.ApiServe.Service.WcsService;
using WcsMain.DataBase.TableEntity; using WcsMain.DataBase.TableEntity;
namespace WcsMain.ApiServe.Controllers.WcsController; namespace WcsMain.ApiServe.Controllers.WcsController;
@ -12,21 +14,16 @@ namespace WcsMain.ApiServe.Controllers.WcsController;
[Route("api/wcs/conveyTask")] [Route("api/wcs/conveyTask")]
[ApiController] [ApiController]
[WcsExceptionFilter] [WcsExceptionFilter]
public class ConveyTaskController : ControllerBase public class ConveyTaskController(ConveyService conveyService) : ControllerBase
{ {
private readonly ConveyService _conveyService = conveyService;
/// <summary> /// <summary>
/// 分页查询箱式线任务 /// 分页查询箱式线任务
/// </summary> /// </summary>
/// <returns></returns> /// <returns></returns>
[HttpPost("queryConveyTaskWithPage")] [HttpPost("queryConveyTaskWithPage")]
public WcsApiResponse<int, List<AppConveyTask>> QueryConveyTaskWithPage() public WcsApiResponse<int, List<AppConveyTask>> QueryConveyTaskWithPage([FromBody] QueryConveyTaskWithPageRequest request) => _conveyService.QueryConveyTaskWithPage(request);
{
// TODO
return WcsApiResponseFactory.Fail<int, List<AppConveyTask>>();
}

View File

@ -0,0 +1,32 @@
using WcsMain.ApiServe.Controllers.Dto;
using WcsMain.ApiServe.Controllers.Dto.WcsDto.Convey;
using WcsMain.ApiServe.Factory;
using WcsMain.DataBase.Dao;
using WcsMain.DataBase.TableEntity;
using WcsMain.WcsAttribute.AutoFacAttribute;
namespace WcsMain.ApiServe.Service.WcsService;
[Service]
public class ConveyService(AppConveyTaskDao conveyTaskDao)
{
private readonly AppConveyTaskDao _conveyTaskDao = conveyTaskDao;
/// <summary>
/// 分页查询箱式线任务
/// </summary>
/// <param name="request"></param>
/// <returns></returns>
public WcsApiResponse<int, List<AppConveyTask>> QueryConveyTaskWithPage(QueryConveyTaskWithPageRequest request)
{
(List<AppConveyTask>? conveyTasks, int totalRows) = _conveyTaskDao.QueryConveyTaskWithPage(request);
if (conveyTasks == default)
{
return WcsApiResponseFactory.DataBaseErr<int, List<AppConveyTask>>();
}
return WcsApiResponseFactory.Success(totalRows, conveyTasks);
}
}

View File

@ -1,4 +1,6 @@
using System.Threading.Tasks; using System.Threading.Tasks;
using WcsMain.ApiServe.Controllers.Dto.WcsDto.Convey;
using WcsMain.ApiServe.Controllers.Dto.WcsDto.ElTag;
using WcsMain.Common; using WcsMain.Common;
using WcsMain.DataBase.TableEntity; using WcsMain.DataBase.TableEntity;
using WcsMain.WcsAttribute.AutoFacAttribute; using WcsMain.WcsAttribute.AutoFacAttribute;
@ -87,15 +89,54 @@ public class AppConveyTaskDao
_ = ex; _ = ex;
return 0; 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;
}
}

View File

@ -1,4 +1,5 @@
using SqlSugar; using SqlSugar;
using System.Text.Json.Serialization;
namespace WcsMain.DataBase.TableEntity; namespace WcsMain.DataBase.TableEntity;
@ -12,36 +13,42 @@ public class AppConveyTask
/// 任务号 /// 任务号
/// </summary> /// </summary>
[SugarColumn(ColumnName = "task_id", IsPrimaryKey = true)] [SugarColumn(ColumnName = "task_id", IsPrimaryKey = true)]
[JsonPropertyName("taskId")]
public string? TaskId { get; set; } public string? TaskId { get; set; }
/// <summary> /// <summary>
/// 任务组 /// 任务组
/// </summary> /// </summary>
[SugarColumn(ColumnName = "task_group")] [SugarColumn(ColumnName = "task_group")]
[JsonPropertyName("taskGroup")]
public string? TaskGroup { get; set; } public string? TaskGroup { get; set; }
/// <summary> /// <summary>
/// 载具号 /// 载具号
/// </summary> /// </summary>
[SugarColumn(ColumnName = "vehicle_no")] [SugarColumn(ColumnName = "vehicle_no")]
[JsonPropertyName("vehicleNo")]
public string? VehicleNo { get; set; } public string? VehicleNo { get; set; }
/// <summary> /// <summary>
/// 任务类型 /// 任务类型
/// </summary> /// </summary>
[SugarColumn(ColumnName = "task_type")] [SugarColumn(ColumnName = "task_type")]
[JsonPropertyName("taskType")]
public int? TaskType { get; set; } public int? TaskType { get; set; }
/// <summary> /// <summary>
/// 任务状态 /// 任务状态
/// </summary> /// </summary>
[SugarColumn(ColumnName = "task_status")] [SugarColumn(ColumnName = "task_status")]
[JsonPropertyName("taskStatus")]
public int? TaskStatus { get; set; } public int? TaskStatus { get; set; }
/// <summary> /// <summary>
/// 点位 /// 点位
/// </summary> /// </summary>
[SugarColumn(ColumnName = "location")] [SugarColumn(ColumnName = "location")]
[JsonPropertyName("location")]
public string? Location { get; set; } public string? Location { get; set; }
@ -49,36 +56,42 @@ public class AppConveyTask
/// 实际到达的点位 /// 实际到达的点位
/// </summary> /// </summary>
[SugarColumn(ColumnName = "arrive_location")] [SugarColumn(ColumnName = "arrive_location")]
[JsonPropertyName("arriveLocation")]
public string? ArriveLocation { get; set; } public string? ArriveLocation { get; set; }
/// <summary> /// <summary>
/// 创建人 /// 创建人
/// </summary> /// </summary>
[SugarColumn(ColumnName = "create_person")] [SugarColumn(ColumnName = "create_person")]
[JsonPropertyName("createPerson")]
public string? CreatePerson { get; set; } public string? CreatePerson { get; set; }
/// <summary> /// <summary>
/// 创建时间 /// 创建时间
/// </summary> /// </summary>
[SugarColumn(ColumnName = "create_time")] [SugarColumn(ColumnName = "create_time")]
[JsonPropertyName("createTime")]
public DateTime? CreateTime { get; set; } public DateTime? CreateTime { get; set; }
/// <summary> /// <summary>
/// 移栽时间 /// 移栽时间
/// </summary> /// </summary>
[SugarColumn(ColumnName = "move_time")] [SugarColumn(ColumnName = "move_time")]
[JsonPropertyName("moveTime")]
public DateTime? MoveTime { get; set; } public DateTime? MoveTime { get; set; }
/// <summary> /// <summary>
/// 完成时间 /// 完成时间
/// </summary> /// </summary>
[SugarColumn(ColumnName = "complete_time")] [SugarColumn(ColumnName = "complete_time")]
[JsonPropertyName("completeTime")]
public DateTime? CompleteTime { get; set; } public DateTime? CompleteTime { get; set; }
/// <summary> /// <summary>
/// 备注信息 /// 备注信息
/// </summary> /// </summary>
[SugarColumn(ColumnName = "remark")] [SugarColumn(ColumnName = "remark")]
[JsonPropertyName("remark")]
public string? Remark { get; set; } public string? Remark { get; set; }

View File

@ -0,0 +1,14 @@
namespace WcsMain.Enum.Convey;
/// <summary>
/// 箱式线任务类型
/// </summary>
public enum ConveyTaskTypeEnum
{
pick = 1, // 拣选
replenish = 2, // 补货
deliver = 3, // 发货
check = 4, // 复核
}