using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Volo.Abp.AspNetCore.Mvc;
using Win_in.Sfs.Basedata.Application.Contracts;
using Win_in.Sfs.Wms.Store.Application.Contracts;
namespace Win_in.Sfs.Wms.Pda.Controllers.Stores;
///
///
///
[ApiController]
[Route($"{PdaHostConst.ROOT_ROUTE}store/purchase-receipt")]
public class PurchaseReceiptNoteController : AbpController
{
private readonly IPurchaseReceiptNoteAppService _purchaseReceiptNoteAppService;
private readonly ISplitPackingRecAppService _splitPackingRecAppService;
///
///
///
///
public PurchaseReceiptNoteController(IPurchaseReceiptNoteAppService purchaseReceiptNoteAppService, ISplitPackingRecAppService splitPackingRecAppService)
{
_purchaseReceiptNoteAppService = purchaseReceiptNoteAppService;
_splitPackingRecAppService = splitPackingRecAppService;
}
///
/// 创建采购收货记录
///
///
///
[HttpPost("")]
public virtual async Task CreateAsync(PurchaseReceiptNoteEditInput input)
{
await _purchaseReceiptNoteAppService.CreateAsync(input).ConfigureAwait(false);
}
///
/// 根据 物品 箱 获取收货记录
///
///
///
///
[HttpGet("detail-by-item-and-packing")]
public virtual async Task GetDetailByItemAndPackingAsync(string itemCode,
string packingCode)
{
return await _purchaseReceiptNoteAppService.GetDetailByItemAndPackingAsync(itemCode, packingCode).ConfigureAwait(false);
}
///
/// 获取收货记录下所有箱码
///
///
[HttpPost("get-packing-by-purchase-recepit-note")]
public virtual async Task> GetPackingCodeByPurchaseRecepitNote(string poNumber)
{
var dtos = await _purchaseReceiptNoteAppService.GetListByPoNumberAsync(poNumber).ConfigureAwait(false);
var packingCodes=new List();
foreach (var dto in dtos)
{
packingCodes.AddRange(dto.Details.Select(p=>p.PackingCode));
}
return packingCodes.Distinct().ToList();
}
}