Files
lux/EgwCoreLib.Lux.Data/Services/Production/IProductionOdlService.cs
T
Samuele E. Locatelli (W11-AI) d144d94a25 Inizio fix production serices
2026-03-25 13:51:16 +01:00

69 lines
2.8 KiB
C#

namespace EgwCoreLib.Lux.Data.Services.Production
{
public interface IProductionOdlService
{
#region Public Methods
/// <summary>
/// Assegnazione in blocco degli item agli ODL corrispondenti
/// </summary>
/// <param name="dbList">Lista record DB</param>
/// <param name="dictParts">Dizionario parti assegnate</param>
/// <returns></returns>
Task<int> AssignProdItem2OdlAsync(List<ProductionODLModel> dbList, Dictionary<(int phaseId, int resId, string machine, int index), List<string>> dictParts);
/// <summary>
/// Insert sul DB di un elenco ODL con calcolo della relativa KEY a cui poter, successivamente, collegare i record child (items)
/// </summary>
/// <param name="listOdl2ins">Lista ODL da inserire</param>
/// <returns></returns>
/// <exception cref="Exception"></exception>
Task<List<ProductionODLModel>> CreateAsync(List<ProductionODLModel> listOdl2ins);
/// <summary>
/// Recupero record ProdOdl dato Tag/uID
/// </summary>
/// <param name="uID">UID del record</param>
/// <returns></returns>
Task<ProductionODLModel?> GetByUidAsync(string uID);
/// <summary>
/// Elenco PODL non assegnati con struttura DTO appiattita
/// </summary>
/// <returns></returns>
Task<List<OdlAssignDto>> GetUnassignOdlDtoAsync();
/// <summary>
/// Aggiorna record ProdOdl (se trovato) con BOM (raw) ricevuta
/// </summary>
/// <param name="uID">UID del record</param>
/// <param name="bomRaw">BOM serializzata</param>
/// <returns></returns>
Task<bool> UpdateBomAsync(string uID, string bomRaw);
/// <summary>
/// Aggiorna record ProdOdl (se trovato) con ItemListRaw (raw) inviata x calcolo PROD
/// </summary>
/// <param name="uID">UID del record</param>
/// <param name="itemListRaw">ItemList serializzata</param>
/// <returns></returns>
Task<bool> UpdateItemRawAsync(string uID, string itemListRaw);
/// <summary>
/// Aggiorna record ProdOdl (se trovato) con RawMaterialList (raw) ricevuta da calcolo PROD
/// </summary>
/// <param name="uID">UID del record</param>
/// <param name="materialListRaw">Lista materiali serializzata</param>
/// <returns></returns>
Task<bool> UpdateRawMaterialAsync(string uID, string materialListRaw);
/// <summary>
/// Aggiorna record ProdOdl (se trovato) con BOM (raw) ricevuta
/// </summary>
/// <param name="upsRec">Record da aggiornare/inserire</param>
/// <returns></returns>
Task<bool> UpsertAsync(ProductionODLModel upsRec);
#endregion Public Methods
}
}