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(); } }