140 lines
4.2 KiB
C#
140 lines
4.2 KiB
C#
using AppData;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Globalization;
|
|
using System.Linq;
|
|
using System.Web;
|
|
using System.Web.Http;
|
|
|
|
namespace NKC_WF.Controllers
|
|
{
|
|
public class BatchStatsController : ApiController
|
|
{
|
|
#region Protected Fields
|
|
|
|
protected string dateFormat = "yyyyMMdd";
|
|
|
|
/// <summary>
|
|
/// oggetto static/singleton per fare chiamate sul datalayer
|
|
/// </summary>
|
|
protected DataLayer DLMan = new DataLayer();
|
|
|
|
#endregion Protected Fields
|
|
|
|
#region Private Methods
|
|
|
|
/// <summary>
|
|
/// Metodo effettivo recupero dati
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <returns></returns>
|
|
private List<chartJsTVal> getDataFilt(int id)
|
|
{
|
|
List<chartJsTVal> answ = new List<chartJsTVal>();
|
|
var tabDati = DLMan.taBStats.getLast(id);
|
|
// ciclo
|
|
foreach (var item in tabDati.OrderBy(x => x.Takt))
|
|
{
|
|
// prendo valore default = NumParts
|
|
answ.Add(new chartJsTVal() { x = item.Takt, y = item.NumParts });
|
|
}
|
|
// restituisco
|
|
return answ;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Metodo effettivo recupero dati
|
|
/// </summary>
|
|
/// <param name="id"></param>
|
|
/// <param name="maxHour"></param>
|
|
/// <returns></returns>
|
|
private List<chartJsTVal> getDataFilt(int id, string PlotType)
|
|
{
|
|
List<chartJsTVal> answ = new List<chartJsTVal>();
|
|
var tabDati = DLMan.taBStats.getLast(id);
|
|
DateTime startTime = DateTime.Now.AddYears(1);
|
|
// ciclo
|
|
foreach (var item in tabDati.OrderBy(x => x.Takt))
|
|
{
|
|
//// converto in data il valore takt... primi 8 char
|
|
//DateTime dataRif = DateTime.Today;
|
|
//DateTime.TryParseExact(item.Takt.Substring(0, 8), dateFormat, CultureInfo.InvariantCulture, DateTimeStyles.None, out dataRif);
|
|
decimal value = 0;
|
|
switch (PlotType)
|
|
{
|
|
case "Yeld":
|
|
value = item.AvgYeld * 100;
|
|
break;
|
|
|
|
case "NumMat":
|
|
value = item.NumMat;
|
|
break;
|
|
|
|
case "NumSheets":
|
|
value = item.NumSheets;
|
|
break;
|
|
|
|
case "NumModel":
|
|
value = item.NumModel;
|
|
break;
|
|
|
|
case "NumKit":
|
|
value = item.NumKit;
|
|
break;
|
|
|
|
case "NumPainted":
|
|
value = item.NumPainted;
|
|
break;
|
|
|
|
case "NumParts":
|
|
default:
|
|
value = item.NumParts;
|
|
break;
|
|
}
|
|
answ.Add(new chartJsTVal() { x = item.Takt, y = value });
|
|
}
|
|
// restituisco
|
|
return answ;
|
|
}
|
|
|
|
#endregion Private Methods
|
|
|
|
#region Public Methods
|
|
|
|
// GET api/TempRil
|
|
public string Get()
|
|
{
|
|
return "NA";
|
|
}
|
|
|
|
/// <summary>
|
|
/// Recupero dati x ultimi batch stats
|
|
/// GET api/BatchStats/5
|
|
/// </summary>
|
|
/// <param name="id">NUmLast</param>
|
|
/// <returns></returns>
|
|
public List<chartJsTVal> Get(int id)
|
|
{
|
|
DateTime dtRif = DateTime.Today;
|
|
// restituisco oggetto!
|
|
return getDataFilt(id);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Recupero dati x statistiche ultimi batch
|
|
/// GET api/BatchStats/50
|
|
/// </summary>
|
|
/// <param name="id">Num record da recuperare DESC</param>
|
|
/// <param name="PlotType">Tipo di grafico</param>
|
|
/// <returns></returns>
|
|
public List<chartJsTVal> Get(int id, string PlotType)
|
|
{
|
|
List<chartJsTVal> answ = new List<chartJsTVal>();
|
|
answ = getDataFilt(id, PlotType);
|
|
// restituisco oggetto!
|
|
return answ;
|
|
}
|
|
|
|
#endregion Public Methods
|
|
}
|
|
} |