IInboundMaterialService.cs
1.6 KB
using IndustrialControl.ViewModels;
namespace IndustrialControl.Services;
public interface IInboundMaterialService
{
// NEW: 查询列表(图1)
Task<IEnumerable<InboundOrderSummary>> ListInboundOrdersAsync(
string? orderNoOrBarcode,
DateTime startDate,
DateTime endDate,
string orderType,
string[] orderTypeList,
CancellationToken ct = default);
Task<IReadOnlyList<InboundPendingRow>> GetInStockDetailAsync(string instockId, CancellationToken ct = default);
Task<IReadOnlyList<InboundScannedRow>> GetInStockScanDetailAsync(string instockId, CancellationToken ct = default);
/// <summary>扫描条码入库</summary>
Task<SimpleOk> InStockByBarcodeAsync(string instockId, string barcode, CancellationToken ct = default);
/// <summary>PDA 扫描通过(确认当前入库单已扫描项)</summary>
Task<SimpleOk> ScanConfirmAsync(string instockId, CancellationToken ct = default);
Task<SimpleOk> CancelScanAsync(string instockId, CancellationToken ct = default);
Task<SimpleOk> ConfirmInstockAsync(string instockId, CancellationToken ct = default);
/// <summary>判断入库单明细是否全部扫码确认</summary>
Task<bool> JudgeInstockDetailScanAllAsync(string instockId, CancellationToken ct = default);
}
public record InboundOrder(string OrderNo, string Supplier, string LinkedNo, int ExpectedQty);
public record OutboundOrder(string OrderNo, string Supplier, string LinkedNo, int ExpectedQty);
public record ScanItem(int Index, string Barcode, string? Bin, int Qty);
public record SimpleOk(bool Succeeded, string? Message = null);