using System; using System.Collections.Generic; using System.Text.Json; using System.Threading.Tasks; using Microsoft.AspNetCore.Mvc; using Volo.Abp.Application.Dtos; using Volo.Abp.AspNetCore.Mvc; using Win_in.Sfs.Shared.Domain; using Win_in.Sfs.Shared.Domain.Shared; using Win_in.Sfs.Wms.Store.Application.Contracts; namespace Win_in.Sfs.Wms.Pda.Controllers.Stores; /// /// /// [ApiController] [Route($"{PdaHostConst.ROOT_ROUTE}store/transferlib-job")] //??store应该改成job public class TransferLibJobController : AbpController { private readonly ITransferLibJobAppService _transferLibJobAppService; /// /// /// /// public TransferLibJobController(ITransferLibJobAppService transferLibJobAppService) { _transferLibJobAppService = transferLibJobAppService; } /// /// /// /// /// [HttpGet("{id}")] public virtual async Task> GetAsync(Guid id) { var result = await _transferLibJobAppService.GetAsync(id).ConfigureAwait(false); return Ok(result); } /// /// 获取列表 筛选 /// /// /// [HttpPost("list")] public virtual async Task> GetListAsync(SfsJobRequestInputBase sfsJobDTO) { var list = await _transferLibJobAppService.GetPagedListByFilterAsync(sfsJobDTO, true).ConfigureAwait(false); return list; } /// /// 获取任务数量 /// /// [HttpPost("count")] public virtual async Task> CountAsync(SfsJobRequestInputBase sfsJobDTO) { var count = await _transferLibJobAppService.GetCountByFilterAsync(sfsJobDTO).ConfigureAwait(false); return Ok(count); } /// /// 完成对应的请求 /// /// /// /// [HttpPost("complete/{id}")] public virtual async Task CompleteAsync(Guid id, TransferLibJobDTO jobDTO) { var entity = await _transferLibJobAppService.CompleteAsync(id, jobDTO).ConfigureAwait(false); return entity; } /// /// 承接任务 /// /// /// [HttpPost("accept/{id}")] public virtual async Task AcceptAsync(Guid id) { await _transferLibJobAppService.AcceptAsync(id).ConfigureAwait(false); } /// /// 取消承接任务 /// /// /// [HttpPost("cancel-accept/{id}")] public virtual async Task CancelAcceptAsync(Guid id) { await _transferLibJobAppService.CancelAcceptAsync(id).ConfigureAwait(false); } /// /// 获取列表 /// /// /// /// [HttpGet("list")] public virtual async Task> GetListAsync(int pageSize, int pageIndex) { //var wlgCodes = await _userWorkGroupAppService.GetCodsOfCurrentUserAsync().ConfigureAwait(false); //var jsonCodes = JsonSerializer.Serialize(wlgCodes); var status = new List() { (int)EnumJobStatus.Open, (int)EnumJobStatus.Doing }; var jsonStatus = JsonSerializer.Serialize(status); var request = new SfsJobRequestInputBase { MaxResultCount = pageSize, SkipCount = (pageIndex - 1) * pageSize, Sorting = $"{nameof(TransferLibJobDTO.Priority)} ASC", Condition = new Condition { Filters = new List { //new(nameof(TransferLibJobDTO.WorkGroupCode),jsonCodes,"In"), new(nameof(TransferLibJobDTO.JobStatus),jsonStatus,"In") } } }; var list = await _transferLibJobAppService.GetPagedListByFilterAsync(request, true).ConfigureAwait(false); return list; } }