//
// This is here so CodeMaid doesn't reorganize this document
//
namespace EgwCoreLib.Lux.Data.DbModel.Production
{
///
/// Item da produrre
///
[Table("production_item")]
public class ProductionItemModel
{
///
/// ID dell'articolo
///
[Key]
public int ProdItemID { get; set; }
///
/// Riga Ordine da cui scaturisce
///
public int OrderRowID { get; set; } = 0;
///
/// CodArticolo (opzionale) numerico
///
public int ItemCode { get; set; } = 0;
///
/// CodArticolo (opzionale) string
///
public string ExtItemCode { get; set; } = "";
///
/// Riferimento al record di ProductionGrou impiegato per effettuare le assegnazioni di produzione
///
public int? ProdGroupID { get; set; }
///
/// Batch di produzione (ODL) cui è correlato (può essere nullo inizialmente e poi variato)
///
public int? ProdBatchID { get; set; }
#if false
///
/// Etichetta dell'item, nel formato vecchio da eliminare
/// PI.000000x8
///
[Obsolete("Sostituita da ProdItemTag")]
public string ProdLabel { get; set; } = "";
#endif
///
/// Etichetta dell'item, nel formato con contatore annuale
/// PI.2025.000000x8
///
public string? ProdItemTag { get; set; } = null;
///
/// Tempo stimato di esecuzione pezzo
///
public double EstimTime { get; set; } = 0;
///
/// Codice calcolato da chiave ProdItemID, cambiare con generazione da count4er tipo
/// PI.2025.000000x8
///
[NotMapped]
public string ProdItemUID
{
get => $"PT.{ProdItemID:X16}";
}
///
/// Navigazione OrderRow
///
[ForeignKey("OrderRowID")]
public virtual OrderRowModel OrderRowNav { get; set; } = null!;
///
/// Navigazione ProdGroup (definizione carico macchine)
///
[ForeignKey("ProdGroupID")]
public virtual ProductionGroupModel? ProductionGroupNav { get; set; }
///
/// Navigazione Batch Produzione (gruppo avanzamento logistico)
///
[ForeignKey("ProdBatchID")]
public virtual ProductionBatchModel? ProductionBatchNav { get; set; }
///
/// Navigazione verso tabella Item2Odl
///
public ICollection Item2OdlNav { get; set; } = new List();
}
}