diff --git a/MP-Site/WS/MPData.asmx.cs b/MP-Site/WS/MPData.asmx.cs index 89d3c252..da298bcd 100644 --- a/MP-Site/WS/MPData.asmx.cs +++ b/MP-Site/WS/MPData.asmx.cs @@ -1,5 +1,6 @@ using SteamWare; using System; +using System.Collections.Generic; using System.Web.Script.Serialization; using System.Web.Script.Services; using System.Web.Services; @@ -77,61 +78,25 @@ namespace MoonPro.WS Context.Response.Clear(); Context.Response.ContentType = "application/json"; - resoconti _resoconti = new resoconti(); - - intervalloDate intervallo = new intervalloDate(); - intervallo.fine = Convert.ToDateTime(dataTo); - intervallo.inizio = Convert.ToDateTime(dataFrom); - -#if false - objSequencer datiSequencer = _resoconti.sequenzaDati(idxMacch, intervallo); - foreach (DataLayer_generic.serieDatiRow item in datiSequencer.serieDati.Rows) + visjsDsItem[] items = new visjsDsItem[10]; + List tlSerie; { - item. - } -#endif + resoconti _resoconti = new resoconti(); - int numVal = 1000; - // genero numVal valori random inizio/fine... - int maxMinutes = 5; - Random random = new Random(); - visjsDsItem[] items = new visjsDsItem[numVal]; - DateTime lastDate = DateTime.Now.AddDays(-7); - DateTime endDate; - int lancio = 0; - string currCSS = "sv"; - for (int i = 0; i < numVal; i++) - { - lancio = random.Next(10); - if (lancio <= 7) + intervalloDate intervallo = new intervalloDate(); + intervallo.fine = Convert.ToDateTime(dataTo); + intervallo.inizio = Convert.ToDateTime(dataFrom); + + tlSerie = _resoconti.sequenzaDatiVisJS(idxMacch, intervallo); + int i = 0; + items = new visjsDsItem[tlSerie.Count]; + foreach (var recSeq in tlSerie) { - currCSS = "sv"; + // creo item + items[i] = recSeq; + i++; } - else if (lancio <= 8) - { - currCSS = "sg"; - } - else - { - currCSS = "sr"; - } - endDate = lastDate.AddSeconds(random.Next(maxMinutes * 60)); - items[i] = new visjsDsItem() - { - id = i, - content = string.Format("Random data {0}", i), - start = lastDate.ToString("yyyy-MM-dd HH:mm"), - end = endDate.ToString("yyyy-MM-dd HH:mm"), - group = "1", // per mostrare multi macchine - type = "background", // importante x non vedere bordi... - className = currCSS - }; - lastDate = endDate; } - - - - Context.Response.Write(js.Serialize(items)); } [WebMethod] diff --git a/MP-Site/WebUserControls/mod_sequencerStatiJS.ascx b/MP-Site/WebUserControls/mod_sequencerStatiJS.ascx index b2f510a4..97e8e3e8 100644 --- a/MP-Site/WebUserControls/mod_sequencerStatiJS.ascx +++ b/MP-Site/WebUserControls/mod_sequencerStatiJS.ascx @@ -7,27 +7,32 @@ diff --git a/MP-Site/test.aspx b/MP-Site/test.aspx index 86562186..599170d3 100644 --- a/MP-Site/test.aspx +++ b/MP-Site/test.aspx @@ -12,11 +12,7 @@ - - + diff --git a/MapoDb/resoconti.cs b/MapoDb/resoconti.cs index 25a4dff0..2ccf2a4f 100644 --- a/MapoDb/resoconti.cs +++ b/MapoDb/resoconti.cs @@ -2,6 +2,7 @@ using MapoDb; using SteamWare; using System; using System.Collections.Generic; +using System.Linq; /// /// Summary description for resoconti @@ -533,10 +534,63 @@ public class resoconti // salvo intervallo _sequenza.intervallo = _intervallo; } - return _sequenza; } /// + /// oggetto sequenza dati x sequencer formato VisJS + /// + /// IdxMacchina + /// + /// + public List sequenzaDatiVisJS(string idxMacchina, intervalloDate _intervallo) + { + DateTime start = DateTime.Now; + // leggo i dati e costituisco una collezione... + List sequenza = new List(); + int i = 0; + if (idxMacchina != null && idxMacchina != "") + { + // seleziono i dati... + MapoDb.DS_applicazione.DiarioDiBordoDataTable tabSeq = taDiarioDiBordo.GetSequenza(idxMacchina, _intervallo.inizio, _intervallo.fine); + + // faccio la riduzione dei dati, MAX 1000... + + sequenza = tabSeq.AsEnumerable().Select(riga => new visjsDsItem + { + //id = i, + //content = riga.CodArticolo, + start = riga.InizioStato.ToString("yyyy-MM-dd HH:mm:ss"), + end = riga.FineStato.ToString("yyyy-MM-dd HH:mm:ss"), + group = "1", // per mostrare multi macchine + type = "background", // importante x non vedere bordi... + className = semaforoDaIdxStato(riga.IdxStato).Substring(0,2).ToLower() + }).ToList(); + + foreach (var item in sequenza) + { + item.content = i.ToString(); + item.id = i; + i++; + } + +#if false + // faccio trim x primo evento... + if (_sequenza[0].start < _intervallo.inizio) + { + _sequenza.serieDati[0].valore -= _intervallo.inizio.Subtract(_sequenza.serieDati[0].timeData).TotalMinutes; + _sequenza.serieDati[0].timeData = _intervallo.inizio; + } + //...e ultimo evento... + int numValori = _sequenza.serieDati.Count - 1; + _sequenza.serieDati[numValori].valore = _intervallo.fine.Subtract(_sequenza.serieDati[numValori].timeData).TotalMinutes; +#endif + + } + + return sequenza; + //return _sequenza; + } + /// /// oggetto sequenza tempi ciclo x visualizzatore /// ///