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.Basedata.Application.Contracts;
using Win_in.Sfs.Shared.Domain;
namespace Win_in.Sfs.Wms.Pda.Controllers.BaseDatas;
///
///
///
[ApiController]
[Route($"{PdaHostConst.ROOT_ROUTE}item")]
public class ItemController : AbpController
{
private readonly IItemBasicAppService _itemBasicAppService;
private readonly IItemPackAppService _itemPackAppService;
///
///
///
///
///
public ItemController(IItemBasicAppService itemBasicAppService
, IItemPackAppService itemPackAppService
)
{
_itemBasicAppService = itemBasicAppService;
_itemPackAppService = itemPackAppService;
}
///
/// 根据code获取物品信息
///
///
///
[HttpGet("{code}")]
public virtual async Task GetAsync(string code)
{
var dto = await _itemBasicAppService.GetByCodeAsync(code).ConfigureAwait(false);
return dto;
}
///
/// 根据名称获取物品
///
///
///
[HttpGet("by-name")]
public virtual async Task> GetListByNameAsync(string name)
{
var dtos = await _itemBasicAppService.GetListByNameAsync(name).ConfigureAwait(false);
return dtos;
}
///
/// 按零件号模糊查询
///
///
///
///
///
///
[HttpGet("get-fuzzy")]
public virtual async Task> GetListAsync( string itemCode, int pageSize,int pageIndex,string sortBy)
{
var input = new SfsBaseDataRequestInputBase
{
MaxResultCount = pageSize,
SkipCount = (pageIndex - 1) * pageSize,
Sorting = sortBy,
Condition = new Condition { Filters = new List() }
};
if (!string.IsNullOrWhiteSpace(itemCode))
{
input.Condition.Filters.Add(new Filter("Code", itemCode, EnumFilterAction.Like.ToString()));
}
var itemDTOs = await _itemBasicAppService.GetPagedListByFilterAsync(input, false).ConfigureAwait(false);
return itemDTOs;
}
}