|
|
@ -1,6 +1,14 @@ |
|
|
|
using System; |
|
|
|
using System.Collections.Generic; |
|
|
|
using System.Text.Json; |
|
|
|
using System.Threading.Tasks; |
|
|
|
using Microsoft.AspNetCore.Mvc; |
|
|
|
using Volo.Abp; |
|
|
|
using Volo.Abp.Application.Dtos; |
|
|
|
using Volo.Abp.AspNetCore.Mvc; |
|
|
|
using Win_in.Sfs.Auth.Application.Contracts; |
|
|
|
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; |
|
|
@ -14,12 +22,16 @@ public class KittingRequestController : AbpController |
|
|
|
{ |
|
|
|
private readonly IKittingIssueRequestAppService _kittingIssueRequestAppService; |
|
|
|
|
|
|
|
private readonly IUserWorkGroupAppService _userWorkGroupAppService; |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="kittingIssueRequestAppService"></param>
|
|
|
|
public KittingRequestController(IKittingIssueRequestAppService kittingIssueRequestAppService) |
|
|
|
public KittingRequestController(IKittingIssueRequestAppService kittingIssueRequestAppService, |
|
|
|
IUserWorkGroupAppService userWorkGroupAppService) |
|
|
|
{ |
|
|
|
_kittingIssueRequestAppService = kittingIssueRequestAppService; |
|
|
|
_userWorkGroupAppService = userWorkGroupAppService; |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
@ -32,4 +44,82 @@ public class KittingRequestController : AbpController |
|
|
|
{ |
|
|
|
await _kittingIssueRequestAppService.CreateAndHandleAsync(input).ConfigureAwait(false); |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="pageSize"></param>
|
|
|
|
/// <param name="pageIndex"></param>
|
|
|
|
/// <param name="isFinished"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
[HttpPost("list")] |
|
|
|
public virtual async Task<PagedResultDto<KittingIssueRequestDTO>> GetListAsync(int pageSize, int pageIndex, |
|
|
|
bool isFinished) |
|
|
|
{ |
|
|
|
var status = new List<int>(); |
|
|
|
if (isFinished) |
|
|
|
{ |
|
|
|
status.Add((int)EnumRequestStatus.Completed); |
|
|
|
} |
|
|
|
else |
|
|
|
{ |
|
|
|
status.Add((int)EnumRequestStatus.Partial); |
|
|
|
status.Add((int)EnumRequestStatus.Handling); |
|
|
|
status.Add((int)EnumRequestStatus.New); |
|
|
|
} |
|
|
|
|
|
|
|
var jsonStatus = JsonSerializer.Serialize(status); |
|
|
|
|
|
|
|
var request = new SfsStoreRequestInputBase |
|
|
|
{ |
|
|
|
MaxResultCount = pageSize, |
|
|
|
SkipCount = (pageIndex - 1) * pageSize, |
|
|
|
Sorting = $"{nameof(ContainerJobDTO.CreationTime)} ASC", |
|
|
|
Condition = new Condition |
|
|
|
{ |
|
|
|
Filters = new List<Filter> { new(nameof(ContainerJobDTO.JobStatus), jsonStatus, "In") } |
|
|
|
} |
|
|
|
}; |
|
|
|
|
|
|
|
var list = await _kittingIssueRequestAppService.GetPagedListByFilterAsync(request, true).ConfigureAwait(false); |
|
|
|
|
|
|
|
return list; |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="id"></param>
|
|
|
|
[HttpPost("handle/{id}")] |
|
|
|
public virtual async Task HandleAsync(Guid id) |
|
|
|
{ |
|
|
|
await _kittingIssueRequestAppService.HandleAsync(id).ConfigureAwait(false); |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 根据Job Number 获取盘点任务列表
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="jobNumber"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
[HttpGet("by-number/{requestNumber}")] |
|
|
|
public virtual async Task<ActionResult<KittingIssueRequestDTO>> GetByNumberAsync(string requestNumber) |
|
|
|
{ |
|
|
|
var jobDto = await _kittingIssueRequestAppService.GetByNumberAsync(requestNumber).ConfigureAwait(false); |
|
|
|
if (jobDto == null) |
|
|
|
{ |
|
|
|
throw new UserFriendlyException($"未找到编号为 {requestNumber} 的请求"); |
|
|
|
} |
|
|
|
|
|
|
|
return jobDto; |
|
|
|
} |
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// 获取任务详情
|
|
|
|
/// </summary>
|
|
|
|
/// <param name="id"></param>
|
|
|
|
/// <returns></returns>
|
|
|
|
[HttpGet("{id}")] |
|
|
|
public virtual async Task<ActionResult<KittingIssueRequestDTO>> GetAsync(Guid id) |
|
|
|
{ |
|
|
|
var result = await _kittingIssueRequestAppService.GetAsync(id).ConfigureAwait(false); |
|
|
|
return Ok(result); |
|
|
|
} |
|
|
|
} |
|
|
|