Aggiunta preliminare classe ProdLib in Appdata x gestioen dati PROD
This commit is contained in:
@@ -77,6 +77,7 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="DataLayer.cs" />
|
||||
<Compile Include="ProdLib.cs" />
|
||||
<Compile Include="Utils.cs" />
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
</ItemGroup>
|
||||
|
||||
@@ -0,0 +1,256 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace AppData
|
||||
{
|
||||
/// <summary>
|
||||
/// Classe con metodi di supporto per PROD
|
||||
/// </summary>
|
||||
public class ProdLib
|
||||
{
|
||||
|
||||
#region definizione classi impiegate
|
||||
|
||||
/// <summary>
|
||||
/// Stati degli oggetti TAKT e Stack
|
||||
/// </summary>
|
||||
public enum CStatus
|
||||
{
|
||||
/// <summary>
|
||||
/// Programmato
|
||||
/// </summary>
|
||||
Programmed = 0,
|
||||
/// <summary>
|
||||
/// In corso
|
||||
/// </summary>
|
||||
Running,
|
||||
/// <summary>
|
||||
/// Completato
|
||||
/// </summary>
|
||||
Done
|
||||
}
|
||||
/// <summary>
|
||||
/// Stati degli oggetti PANEL/SHEET
|
||||
/// </summary>
|
||||
public enum PStatus
|
||||
{
|
||||
/// <summary>
|
||||
/// Programmato
|
||||
/// </summary>
|
||||
Programmed = 0,
|
||||
/// <summary>
|
||||
/// Presente / letto su PROD e pronto su scissor lift
|
||||
/// </summary>
|
||||
Present,
|
||||
/// <summary>
|
||||
/// Stampa in corso
|
||||
/// </summary>
|
||||
Printing,
|
||||
/// <summary>
|
||||
/// Stampa completata
|
||||
/// </summary>
|
||||
Printed,
|
||||
/// <summary>
|
||||
/// Lavorazione in corso
|
||||
/// </summary>
|
||||
Machining,
|
||||
/// <summary>
|
||||
/// Lavorazione completata
|
||||
/// </summary>
|
||||
Machined,
|
||||
/// <summary>
|
||||
/// Completato / scaricato da macchina (anche su tavola di scarico)
|
||||
/// </summary>
|
||||
Out
|
||||
}
|
||||
/// <summary>
|
||||
/// dati del materiale
|
||||
/// </summary>
|
||||
public class MaterialData
|
||||
{
|
||||
/// <summary>
|
||||
/// Identificativo univoco del materiale (DA ANAGRAFICA db)
|
||||
/// </summary>
|
||||
public int MaterialId { get; set; }
|
||||
/// <summary>
|
||||
/// Codice P/N del materiale (cliente)
|
||||
/// </summary>
|
||||
public string MaterialPN { get; set; }
|
||||
/// <summary>
|
||||
/// Codice P/N del materiale (cliente)
|
||||
/// </summary>
|
||||
public string MaterialDescription { get; set; }
|
||||
}
|
||||
/// <summary>
|
||||
/// Dati delal lavorazione
|
||||
/// </summary>
|
||||
public class WorkData
|
||||
{
|
||||
/// <summary>
|
||||
/// Percorso del programma da eseguire
|
||||
/// </summary>
|
||||
public string ProgramPath { get; set; }
|
||||
/// <summary>
|
||||
/// Data inizio processing
|
||||
/// </summary>
|
||||
public DateTime DtStart { get; set; }
|
||||
/// <summary>
|
||||
/// Data fine processing
|
||||
/// </summary>
|
||||
public DateTime DtEnd { get; set; }
|
||||
/// <summary>
|
||||
/// Tempo di lavorazione in minuti decimali
|
||||
/// </summary>
|
||||
public double WorkTimeMin
|
||||
{
|
||||
get
|
||||
{
|
||||
double answ = 0;
|
||||
if (DtStart != null && DtEnd != null)
|
||||
{
|
||||
try
|
||||
{
|
||||
answ = DtEnd.Subtract(DtStart).TotalMinutes;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Singolo Pannello da lavorare
|
||||
/// </summary>
|
||||
public class Panel
|
||||
{
|
||||
/// <summary>
|
||||
/// Identificativo univoco pannello
|
||||
/// </summary>
|
||||
public int PanelId { get; set; }
|
||||
/// <summary>
|
||||
/// Materiale
|
||||
/// </summary>
|
||||
public MaterialData Material { get; set; }
|
||||
/// <summary>
|
||||
/// Stato del pannello
|
||||
/// </summary>
|
||||
public PStatus Status { get; set; }
|
||||
/// <summary>
|
||||
/// Tempi processo x fase printing
|
||||
/// </summary>
|
||||
public WorkData Printing { get; set; }
|
||||
/// <summary>
|
||||
/// Tempi processo x fase CNC
|
||||
/// </summary>
|
||||
public WorkData Machining { get; set; }
|
||||
/// <summary>
|
||||
/// Tempi processo x scarico
|
||||
/// </summary>
|
||||
public WorkData Unloading { get; set; }
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Classe che rappresenta gli stack da lavorare
|
||||
/// </summary>
|
||||
public class WStack
|
||||
{
|
||||
/// <summary>
|
||||
/// Identificativo univoco stack
|
||||
/// </summary>
|
||||
public int StackId { get; set; }
|
||||
/// <summary>
|
||||
/// Stato dello Stack di pannelli
|
||||
/// </summary>
|
||||
public CStatus Status { get; set; }
|
||||
/// <summary>
|
||||
/// Codice dataMAtrix dello stack
|
||||
/// </summary>
|
||||
public string DataMatrix { get; set; }
|
||||
/// <summary>
|
||||
/// Data inizio processing dello Stack
|
||||
/// </summary>
|
||||
public DateTime DtStart { get; set; }
|
||||
/// <summary>
|
||||
/// Data inizio processing dello Stack
|
||||
/// </summary>
|
||||
public DateTime DtEnd { get; set; }
|
||||
/// <summary>
|
||||
/// Elenco dei pannelli(sheets) dello Stack
|
||||
/// </summary>
|
||||
public List<Panel> PanelsList { get; set; }
|
||||
/// <summary>
|
||||
/// Numero di Panels da lavorare
|
||||
/// </summary>
|
||||
public int NumPanels
|
||||
{
|
||||
get
|
||||
{
|
||||
int answ = 0;
|
||||
try
|
||||
{
|
||||
answ = PanelsList.Count;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Oggetto globale TAKT
|
||||
/// </summary>
|
||||
public class Takt
|
||||
{
|
||||
/// <summary>
|
||||
/// Codice univoco oggetto TAKT (data.num)
|
||||
/// </summary>
|
||||
public string TaktId { get; set; }
|
||||
/// <summary>
|
||||
/// Stato del TAKT
|
||||
/// </summary>
|
||||
public CStatus Status { get; set; }
|
||||
/// <summary>
|
||||
/// Elenco degli Stack da lavorare
|
||||
/// </summary>
|
||||
public List<WStack> StackList { get; set; }
|
||||
/// <summary>
|
||||
/// Numero di Stack da lavorare
|
||||
/// </summary>
|
||||
public int NumStack
|
||||
{
|
||||
get
|
||||
{
|
||||
int answ = 0;
|
||||
try
|
||||
{
|
||||
answ = StackList.Count;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// Fornisce il prossimo TAKT da elaborare oppure null se non ce ne fossero altri da elaborare per la data CORRENTE
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public int getNextTakt()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user