Files
NKC/AppData/Utils.cs
T
2019-09-30 18:28:53 +02:00

221 lines
5.0 KiB
C#

using SteamWare;
using System;
using System.Collections.Generic;
using System.Web;
namespace AppData
{
public class utils
{
/// <summary>
///
/// </summary>
/// <param name="filePath"></param>
/// <returns></returns>
public static string getPath(string filePath)
{
string answ = "";
try
{
answ = HttpContext.Current.Server.MapPath(filePath);
}
catch (Exception exc)
{
logger.lg.scriviLog($"Eccezione in decodifica path in persorso relativo all'app:{Environment.NewLine}{exc}", tipoLog.EXCEPTION);
}
return answ;
}
}
/// <summary>
/// Classe che rappresenta la richiesta di AZIONI al NESTING
/// </summary>
public struct commandRequest
{
/// <summary>
/// ID del processo richiesto (generato in fase di import)
/// </summary>
public int BatchID { get; set; }
/// <summary>
/// Richiesta per il nesting: DoNesting / HaltNesting
/// </summary>
public string ActionRequested { get; set; }
}
/// <summary>
/// Classe che rappresenta la richiesta di processing di NESTING da inserire in REDIS
/// </summary>
public struct batchRequest
{
/// <summary>
/// ID del processo richiesto (generato in fase di import)
/// </summary>
public int BatchID { get; set; }
/// <summary>
/// Elenco ordini richeisti da processare / nestare
/// </summary>
public List<Order> Orders { get; set; }
}
/// <summary>
/// Struttura Ordine passata a NESTING
/// </summary>
public struct Order
{
/// <summary>
/// Cod ordine di NKC
/// </summary>
public string OrderCod { get; set; }
/// <summary>
/// Codice ordine esterno da cliente (HFA)
/// </summary>
public string OrderExtCode { get; set; }
/// <summary>
/// Plant di destinazione
/// </summary>
public string DestPlant { get; set; }
/// <summary>
/// Quantità di oggetti da produrre x singola riga di ordine
/// </summary>
public int OrderQty { get; set; }
/// <summary>
/// Elenco Items da produrre x ordine
/// </summary>
public List<Item> Items { get; set; }
}
/// <summary>
/// Struttura Item passata a NESTING
/// </summary>
public struct Item
{
/// <summary>
/// Cod ITEM di NKC
/// </summary>
public int ItemId { get; set; }
/// <summary>
/// Codice ITEM esterno da cliente (HFA)
/// </summary>
public string ItemExtCode { get; set; }
/// <summary>
/// Quantità di Item per SINGOLO ordine
/// </summary>
public int ItemrQty { get; set; }
/// <summary>
/// ID del materiale dell'item
/// </summary>
public int MatID { get; set; }
/// <summary>
/// Path del disegno CAD dell'item da produrre x NESTING
/// </summary>
public string CadFilePath { get; set; }
}
/// <summary>
/// Classe che rappresenta stato ordine ricevutovia REDIS da NESTING
/// </summary>
public class orderStatus
{
/// <summary>
/// ID del processo di Nesting in corso (generato in fase di import)
/// </summary>
public string BatchID { get; set; }
/// <summary>
/// Status del procesos di nesting
/// </summary>
public procStatus ProcessStatus { get; set; }
/// <summary>
/// Note libere del nesting
/// </summary>
public string ProcessNotes { get; set; }
/// <summary>
/// Tempo di processing del Nesting espresso in Secondi
/// </summary>
public double ProcessingRuntime { get; set; }
/// <summary>
/// Tempo STIMATO di taglio calcolato dal Nesting espresso in Secondi
/// </summary>
public double EstimatedWorktime { get; set; }
}
/// <summary>
/// Enum degli stati ammessi epr il Nesting
/// </summary>
public enum procStatus
{
waiting = 0,
running,
error,
completed,
aborted,
accepted,
refused
}
}
/// <summary>
/// Valori decodificati
/// </summary>
public class decodedData
{
/// <summary>
/// Tipo codice decodificato
/// </summary>
public codeType codeType { get; set; } = codeType.UNK;
/// <summary>
/// Codice decodificato
/// </summary>
public string code { get; set; } = "";
/// <summary>
/// Codice decodificato in formato INT
/// </summary>
public int codeInt { get; set; } = 0;
/// <summary>
/// Descrizione associata
/// </summary>
public string description { get; set; } = "";
/// <summary>
/// Dato letto RAW
/// </summary>
public string rawData { get; set; } = "";
}
/// <summary>
/// Tipi di barcode gestiti
/// </summary>
public enum codeType
{
UNK = 0,
Item,
ItemGeneric,
Material,
Sheet,
Stack,
Batch,
Cart,
Bin,
BinProcessed,
SecScreen
}
/// <summary>
/// tipologia di report (FILE rdlc) gestito in stampa...
/// </summary>
public enum reportRichiesto
{
paintLabel,
partLabel,
stackLabel
}
/// <summary>
/// tipologia di DOCUMENTO gestito in stampa...
/// </summary>
public enum tipoDocumento
{
docPaint,
docPart,
docStack,
docND
}
//public enum tipoSelettore
//{
// cdc,
// cellaMagazzino,
// magazzino,
// UDC_byPart
//}