Ok test trasmissione valori...
This commit is contained in:
+15
-50
@@ -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
@@ -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
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user