|
using WCS.Application.Service.WcsTaskMonitor.Dto;
|
|
namespace WCS.Application;
|
|
/// <summary>
|
/// 任务明细监控表服务
|
/// </summary>
|
[ApiDescriptionSettings(ApplicationConst.GroupName, Order = 100)]
|
public class WcsTaskMonitorService : IDynamicApiController, ITransient
|
{
|
private readonly SqlSugarRepository<WcsTaskMonitor> _wcsTaskMonitorRep;
|
public WcsTaskMonitorService(SqlSugarRepository<WcsTaskMonitor> wcsTaskMonitorRep)
|
{
|
_wcsTaskMonitorRep = wcsTaskMonitorRep;
|
}
|
|
/// <summary>
|
/// 分页查询任务明细监控表
|
/// </summary>
|
/// <param name="input"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[ApiDescriptionSettings(Name = "Page")]
|
[DisplayName("分页查询任务明细监控表")]
|
public async Task<SqlSugarPagedList<WcsTaskMonitorOutput2>> Page(PageWcsTaskMonitorInput input)
|
{
|
input.SearchKey = input.SearchKey?.Trim();
|
var query = _wcsTaskMonitorRep.AsQueryable()
|
.WhereIF(!string.IsNullOrEmpty(input.SearchKey), u =>
|
u.TaskNo.Contains(input.SearchKey)
|
)
|
.WhereIF(!string.IsNullOrWhiteSpace(input.TaskNo), u => u.TaskNo.Contains(input.TaskNo.Trim()))
|
.LeftJoin<WcsDevice>((u, plcid) => u.PlcId == plcid.Id)
|
.Select((u, plcid) => new WcsTaskMonitorOutput2
|
{
|
Id = u.Id,
|
TaskNo = u.TaskNo,
|
PlcName = plcid.StationNum + "工位," + plcid.Text,
|
InteractiveMsg = u.InteractiveMsg,
|
CreateTime = u.CreateTime
|
})
|
.OrderByDescending(u=>u.CreateTime);
|
return await query.OrderBuilder(input,"","").ToPagedListAsync(input.Page, input.PageSize);
|
}
|
|
/// <summary>
|
/// 增加任务明细监控表
|
/// </summary>
|
/// <param name="input"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[ApiDescriptionSettings(Name = "Add")]
|
[DisplayName("增加任务明细监控表")]
|
public async Task<long> Add(AddWcsTaskMonitorInput input)
|
{
|
var entity = input.Adapt<WcsTaskMonitor>();
|
await _wcsTaskMonitorRep.InsertAsync(entity);
|
return entity.Id;
|
}
|
|
/// <summary>
|
/// 删除任务明细监控表
|
/// </summary>
|
/// <param name="input"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[ApiDescriptionSettings(Name = "Delete")]
|
[DisplayName("删除任务明细监控表")]
|
public async Task Delete(DeleteWcsTaskMonitorInput input)
|
{
|
var entity = await _wcsTaskMonitorRep.GetFirstAsync(u => u.Id == input.Id) ?? throw Oops.Oh(ErrorCodeEnum.D1002);
|
await _wcsTaskMonitorRep.FakeDeleteAsync(entity); //假删除
|
//await _wcsTaskMonitorRep.DeleteAsync(entity); //真删除
|
}
|
|
/// <summary>
|
/// 更新任务明细监控表
|
/// </summary>
|
/// <param name="input"></param>
|
/// <returns></returns>
|
[HttpPost]
|
[ApiDescriptionSettings(Name = "Update")]
|
[DisplayName("更新任务明细监控表")]
|
public async Task Update(UpdateWcsTaskMonitorInput input)
|
{
|
var entity = input.Adapt<WcsTaskMonitor>();
|
await _wcsTaskMonitorRep.AsUpdateable(entity).IgnoreColumns(ignoreAllNullColumns: true).ExecuteCommandAsync();
|
}
|
|
/// <summary>
|
/// 获取任务明细监控表
|
/// </summary>
|
/// <param name="input"></param>
|
/// <returns></returns>
|
[HttpGet]
|
[ApiDescriptionSettings(Name = "Detail")]
|
[DisplayName("获取任务明细监控表")]
|
public async Task<WcsTaskMonitor> Detail([FromQuery] QueryByIdWcsTaskMonitorInput input)
|
{
|
return await _wcsTaskMonitorRep.GetFirstAsync(u => u.Id == input.Id);
|
}
|
|
/// <summary>
|
/// 获取任务明细监控表列表
|
/// </summary>
|
/// <param name="input"></param>
|
/// <returns></returns>
|
[HttpGet]
|
[ApiDescriptionSettings(Name = "List")]
|
[DisplayName("获取任务明细监控表列表")]
|
public async Task<List<WcsTaskMonitorOutput>> List([FromQuery] PageWcsTaskMonitorInput input)
|
{
|
return await _wcsTaskMonitorRep.AsQueryable().Select<WcsTaskMonitorOutput>().ToListAsync();
|
}
|
|
|
|
|
|
}
|