Ok test trasmissione valori...

This commit is contained in:
Samuele E. Locatelli
2018-06-04 15:29:10 +02:00
parent e6387d4d84
commit e41b203fdc
4 changed files with 91 additions and 113 deletions
+15 -50
View File
@@ -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<visjsDsItem> 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]
@@ -7,27 +7,32 @@
<script type="text/javascript">
// vedere: http://visjs.org/docs/timeline/
$(document).ready(reloadData)
$(document).ready(reloadData);
$('<%=hfIdxMacc.UniqueID %>').change(reloadData);
// (ri)caricamento dati
function reloadData() {
// recupero valori hidden...
var idxMacc = document.getElementById('<%=hfIdxMacc.UniqueID %>');
var dataFrom = document.getElementById('<%=hfDataFrom.UniqueID %>');
var dataTo = document.getElementById('<%=hfDataTo.UniqueID %>');
// load e draw timeline
$.ajax({
type: "GET",
url: "/WS/MPData.asmx/seqStati?idxMacch=" + idxMacc + "&dataFrom=" + dataFrom + "&dataTo=" + dataTo,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: plotSeqStati,
error: plotSeqStati
});
var idxMacc = document.getElementById('<%=hfIdxMacc.UniqueID.Replace("ctl00$","").Replace("$","_") %>').value;
var dataFrom = document.getElementById('<%=hfDataFrom.UniqueID.Replace("ctl00$","").Replace("$","_") %>').value;
var dataTo = document.getElementById('<%=hfDataTo.UniqueID.Replace("ctl00$","").Replace("$","_") %>').value;
if (idxMacc != null) {
// load e draw timeline
$.ajax({
type: "GET",
url: "/WS/MPData.asmx/seqStati?idxMacch=" + idxMacc + "&dataFrom='" + dataFrom + "'&dataTo='" + dataTo+"'",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: plotSeqStati,
error: plotSeqStati
});
}
}
function plotSeqStati(response) {
//console.log(response);
var output = response.responseText.replace("{\"d\":null}", "");
//console.log(output);
// recupero il container grafici
var container = document.getElementById('tlArea');
@@ -50,8 +55,6 @@
};
// Crea la Timeline
var timeline = new vis.Timeline(container, items, groups, options);
// crea lo scatter dei TC
var scatter = new vis.pl
}
</script>
+2 -46
View File
@@ -12,11 +12,7 @@
<script type="text/javascript">
// vedere: http://visjs.org/docs/timeline/
$(document).ready(reloadData)
//function pageLoad() {
// reloadData
//}
//$(document).ready(reloadData)
// (ri)caricamento dati
function reloadData() {
@@ -41,43 +37,6 @@
});
}
//function ChartVis(response) {
// // DOM element where the Timeline will be attached
// var container = document.getElementById('timelineArea');
// //console.log(response);
// var output = response.replace("{\"d\":null}", "");
// console.log(output);
// // Create a DataSet (allows two way data-binding)
// //var items = new vis.DataSet(JSON.parse(response.responseText));
// var items = new vis.DataSet([
// { id: 1, content: 'item 1', start: '2018-04-20 00:00:00', end: '2018-04-24 23:59:59', group: '1', className: 'sv' }
// , { id: 2, content: 'item 2', start: '2018-04-14 00:00:00', end: '2018-04-15 23:59:59', group: '1', className: 'sg' }
// , { id: 3, content: 'item 3', start: '2018-04-18 00:00:00', end: '2018-04-19 23:59:59', group: '1', className: 'sr' }
// , { id: 4, content: 'item 4', start: '2018-04-16 00:00:00', end: '2018-04-17 23:59:59', group: '1', className: 'sv' }
// , { id: 5, content: 'item 5', start: '2018-04-25 00:00:00', end: '2018-04-26 23:59:59', group: '1', className: 'sg' }
// , { id: 6, content: 'item 6', start: '2018-04-27 00:00:00', end: '2018-04-30 23:59:59', group: '1', className: 'sr' }
// ]);
// // gruppi
// var groups = [
// {
// id: 1
// , content: 'Macc 1'
// },
// {
// id: 2,
// content: 'Macc 2'
// // Optional: a field 'className', 'style', 'order', [properties]
// }
// // more groups...
// ];
// // Configuration for the Timeline
// var options = {
// stack: false
// };
// // Create a Timeline
// var timeline = new vis.Timeline(container, items, groups, options);
//}
function plotSeqStati(response) {
var output = response.responseText.replace("{\"d\":null}", "");
@@ -151,9 +110,6 @@
// crea lo scatter dei TC
var scatter = new vis.Graph2d(container, dataset, options);
}
</script>
<uc1:mod_sequencerStatiJS runat="server" ID="mod_sequencerStatiJS" />
<uc1:mod_sequencerStatiJS runat="server" ID="mod_sequencerStatiJS" DataFrom="2018-05-15" DataTo="2018-05-15 10:00" idxMacchina="3001" />
</asp:Content>
+55 -1
View File
@@ -2,6 +2,7 @@ using MapoDb;
using SteamWare;
using System;
using System.Collections.Generic;
using System.Linq;
/// <summary>
/// Summary description for resoconti
@@ -533,10 +534,63 @@ public class resoconti
// salvo intervallo
_sequenza.intervallo = _intervallo;
}
return _sequenza;
}
/// <summary>
/// oggetto sequenza dati x sequencer formato VisJS
/// </summary>
/// <param name="idxMacchina">IdxMacchina</param>
/// <param name="_intervallo"></param>
/// <returns></returns>
public List<visjsDsItem> sequenzaDatiVisJS(string idxMacchina, intervalloDate _intervallo)
{
DateTime start = DateTime.Now;
// leggo i dati e costituisco una collezione...
List<visjsDsItem> sequenza = new List<visjsDsItem>();
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;
}
/// <summary>
/// oggetto sequenza tempi ciclo x visualizzatore
/// </summary>
/// <param name="idxMacchina"></param>