using System; using System.Collections.Generic; 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-note")] public class TransferLibNoteController : AbpController { private readonly ITransferLibNoteAppService _transferLibNoteAppService; /// /// /// /// public TransferLibNoteController(ITransferLibNoteAppService transferLibNoteAppService) { _transferLibNoteAppService = transferLibNoteAppService; } /// /// 获取盘点任务详情 /// /// /// [HttpGet("{id}")] public virtual async Task> GetAsync(Guid id) { var result = await _transferLibNoteAppService.GetAsync(id).ConfigureAwait(false); return Ok(result); } /// /// 获取列表 筛选 /// /// /// [HttpPost("list")] public virtual async Task> GetListAsync(SfsStoreRequestInputBase sfsRequestDTO) { var list = await _transferLibNoteAppService.GetPagedListByFilterAsync(sfsRequestDTO, true).ConfigureAwait(false); return list; } /// /// 获取列表 /// /// /// /// [HttpGet("list")] public virtual async Task> GetListAsync(int pageSize, int pageIndex) { var request = new SfsStoreRequestInputBase { MaxResultCount = pageSize, SkipCount = (pageIndex - 1) * pageSize, Sorting = $"{nameof(TransferLibNoteDTO.Number)} ASC", Condition = new Condition { Filters = new List { new(nameof(TransferLibNoteDTO.Type),EnumTransSubType.Transfer_Area.ToString(),"=="), new(nameof(TransferLibNoteDTO.Confirmed),"false","==") } } }; var list = await _transferLibNoteAppService.GetPagedListByFilterAsync(request, true).ConfigureAwait(false); return list; } /// /// 获取任务数量 /// /// [HttpGet("count")] public virtual async Task> CountAsync() { var request = new SfsStoreRequestInputBase { Sorting = $"{nameof(TransferLibNoteDTO.Number)} ASC", Condition = new Condition { Filters = new List { new(nameof(TransferLibNoteDTO.Type),EnumTransSubType.Transfer_Area.ToString(),"=="), new(nameof(TransferLibNoteDTO.Confirmed),"false","==") } } }; var count = await _transferLibNoteAppService.GetCountByFilterAsync(request).ConfigureAwait(false); return Ok(count); } /// /// 根据number获取要料详情 /// /// /// [HttpGet("{number}")] public virtual async Task> GetAsync(string number) { var result = await _transferLibNoteAppService.GetByNumberAsync(number).ConfigureAwait(false); return Ok(result); } /// /// 完成对应的请求 /// /// /// [HttpPost("complete/{id}")] public virtual async Task CompleteAsync(Guid id) { var entity = await _transferLibNoteAppService.ConfirmAsync(id).ConfigureAwait(false); return entity; } /// /// 库存转移 /// /// /// [HttpPost("")] public virtual async Task Create(TransferLibNoteEditInput input) { return await _transferLibNoteAppService.CreateAsync(input).ConfigureAwait(false); } /// /// 拆箱 /// /// /// [HttpPost("split-packing")] public async Task SplitPackingAsync(TransferLibNoteEditInput transferLibNoteEditInput) { return await _transferLibNoteAppService.SplitPackingAsync(transferLibNoteEditInput).ConfigureAwait(false); } /// /// 采购收货拆箱,同时更新、插入PurchaseReceipt任务表、申请表 /// /// /// /// [HttpPost("split-packing-purchase-receipt")] public async Task SplitPacking_PurchaseReceiptAsync(TransferLibNoteEditInput transferLibNoteEditInput, [FromQuery] SplitPacking_UpdateJobDetailInput updateJobDetailInput) { var ret = await _transferLibNoteAppService.SplitPacking_PurchaseReceiptAsync(transferLibNoteEditInput, updateJobDetailInput).ConfigureAwait(false); return ret; } /// /// 发料拆箱,同时更新、插入Inspect任务表(没有找到申请表//??) /// /// /// /// [HttpPost("split-packing-issue")] public async Task SplitPacking_IssueAsync(TransferLibNoteEditInput transferLibNoteEditInput, [FromQuery] SplitPacking_UpdateJobDetailInput updateJobDetailInput) { var ret = await _transferLibNoteAppService.SplitPacking_IssueAsync(transferLibNoteEditInput, updateJobDetailInput).ConfigureAwait(false); return ret; } }