iniziato porting mappa stato seq NUOVO
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
<%@ Page Title="Mappa Sequencer" Language="C#" MasterPageFile="~/WebMasterPages/MAPO_refresh30.master" AutoEventWireup="true" CodeBehind="MappaStatoSeq.aspx.cs" Inherits="MoonPro.MappaStatoSeq" Async="true" %>
|
||||
|
||||
<%@ Register Src="~/WebUserControls/mod_sequencerStati.ascx" TagPrefix="uc1" TagName="mod_sequencerStati" %>
|
||||
<%@ Register Src="~/WebUserControls/mod_sequencerStatiJS.ascx" TagPrefix="uc1" TagName="mod_sequencerStatiJS" %>
|
||||
<%@ Register Src="~/WebUserControls/mod_mainMap.ascx" TagPrefix="uc1" TagName="mod_mainMap" %>
|
||||
|
||||
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="server">
|
||||
@@ -18,7 +19,9 @@
|
||||
</div>
|
||||
<uc1:mod_mainMap runat="server" ID="mod_mainMap" />
|
||||
</div>
|
||||
<asp:Repeater ID="repSeq" runat="server" OnItemDataBound="repSeq_ItemDataBound" DataSourceID="odsMappa">
|
||||
|
||||
<uc1:mod_sequencerStatiJS runat="server" ID="mod_sequencerStatiJS2" periodo='<%# intervalloAnalisi %>' idxMacchina="0" numSplit="1000" />
|
||||
<%--<asp:Repeater ID="repSeq" runat="server" OnItemDataBound="repSeq_ItemDataBound" DataSourceID="odsMappa">
|
||||
<ItemTemplate>
|
||||
<div style="float: left; clear: both; font-size: 0.8em; width: 70px; height: 36px; margin: 2px 0px; padding: 2px 4px; text-align: center;" class='<%# cssStatoMacchina(Eval("idxMacchina").ToString()) %>'>
|
||||
<asp:LinkButton ID="lnkMacchina" runat="server" OnClick="lnkMacchina_Click" CommandArgument='<%# Eval("idxMacchina") %>'>
|
||||
@@ -28,7 +31,7 @@
|
||||
</div>
|
||||
</ItemTemplate>
|
||||
</asp:Repeater>
|
||||
<asp:ObjectDataSource ID="odsMappa" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="MapoDb.DS_applicazioneTableAdapters.StatoMacchineTableAdapter" FilterExpression="NOT idxMacchina LIKE '%#%'"></asp:ObjectDataSource>
|
||||
<asp:ObjectDataSource ID="odsMappa" runat="server" OldValuesParameterFormatString="original_{0}" SelectMethod="GetData" TypeName="MapoDb.DS_applicazioneTableAdapters.StatoMacchineTableAdapter" FilterExpression="NOT idxMacchina LIKE '%#%'"></asp:ObjectDataSource>--%>
|
||||
<div style="text-align: center; margin: auto; padding: 5px; clear: both;">
|
||||
<asp:Button ID="btnReload" runat="server" Text="FORZA CARICAMENTO DATI" OnClick="btnReload_Click" Font-Size="1.3em" Width="20em" />
|
||||
</div>
|
||||
|
||||
+113
-109
@@ -7,119 +7,123 @@ using System.Web.UI.WebControls;
|
||||
|
||||
namespace MoonPro
|
||||
{
|
||||
public partial class MappaStatoSeq : System.Web.UI.Page
|
||||
public partial class MappaStatoSeq : System.Web.UI.Page
|
||||
{
|
||||
public resoconti _resoconti;
|
||||
public int numGg
|
||||
{
|
||||
public resoconti _resoconti;
|
||||
public int numGg
|
||||
get
|
||||
{
|
||||
int answ = 1;
|
||||
try
|
||||
{
|
||||
get
|
||||
{
|
||||
int answ = 1;
|
||||
try
|
||||
{
|
||||
answ = Convert.ToInt32(ddlNumgg.SelectedValue);
|
||||
}
|
||||
catch
|
||||
{
|
||||
answ = 1;
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
answ = Convert.ToInt32(ddlNumgg.SelectedValue);
|
||||
}
|
||||
public intervalloDate intervalloAnalisi
|
||||
catch
|
||||
{
|
||||
get
|
||||
{
|
||||
intervalloDate answ = new intervalloDate();
|
||||
answ.fine = DateTime.Now;
|
||||
answ.inizio = answ.fine.AddDays(-numGg);
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
protected DS_applicazione.MacchineDataTable tabMacchine;
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
_resoconti = new resoconti();
|
||||
tabMacchine = MapoDb.DataLayer.obj.taMacchine.GetData();
|
||||
if (!Page.IsPostBack)
|
||||
{
|
||||
ddlNumgg.DataBind();
|
||||
ddlNumgg.SelectedValue = memLayer.ML.confReadString("seq_gg");
|
||||
}
|
||||
if (memLayer.ML.BoolSessionObj("graphDataRefresh"))
|
||||
{
|
||||
repSeq.DataBind();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
protected void repSeq_ItemDataBound(object sender, RepeaterItemEventArgs e)
|
||||
{
|
||||
mod_sequencerStati sequencer = (mod_sequencerStati)e.Item.FindControl("seqStato");
|
||||
sequencer.larghezza = memLayer.ML.IntSessionObj("WindowWidth") - 100;
|
||||
sequencer.graphHeight = memLayer.ML.confReadInt("seq_height");
|
||||
sequencer.numSplit = memLayer.ML.confReadInt("seq_numSpl");
|
||||
try
|
||||
{
|
||||
sequencer.datiSequencer = _resoconti.sequenzaDati(sequencer.identificativo, intervalloAnalisi);
|
||||
sequencer.doUpdate();
|
||||
sequencer.Visible = true;
|
||||
}
|
||||
catch
|
||||
{
|
||||
sequencer.Visible = false;
|
||||
}
|
||||
}
|
||||
|
||||
protected void lnkCambiaModo_Click(object sender, EventArgs e)
|
||||
{
|
||||
// passa alla pagina richiesta...
|
||||
LinkButton lb = (LinkButton)sender;
|
||||
Response.Redirect(lb.CommandArgument);
|
||||
}
|
||||
|
||||
protected void ddlNumgg_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
repSeq.DataBind();
|
||||
}
|
||||
/// <summary>
|
||||
/// recupera nome macchina da idx
|
||||
/// </summary>
|
||||
/// <param name="idxMacchina"></param>
|
||||
/// <returns></returns>
|
||||
public string nomeMacchina(string idxMacchina)
|
||||
{
|
||||
string answ = "...";
|
||||
answ = tabMacchine.FindByIdxMacchina(idxMacchina).Nome;
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// recupera stato macchina da idx
|
||||
/// </summary>
|
||||
/// <param name="idxMacchina"></param>
|
||||
/// <returns></returns>
|
||||
public string cssStatoMacchina(string idxMacchina)
|
||||
{
|
||||
string answ = "...";
|
||||
string codColore = resoconti.mngr.semaforoDaIdxStato(resoconti.mngr.statoMacchina(idxMacchina));
|
||||
answ = codColore;
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// rimanda alla pagina di dettaglio della macchina scelta
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void lnkMacchina_Click(object sender, EventArgs e)
|
||||
{
|
||||
LinkButton lb = (LinkButton)sender;
|
||||
Session["IdxMacchina"] = lb.CommandArgument;
|
||||
Response.Redirect("~/DettaglioMacchina.aspx");
|
||||
}
|
||||
|
||||
protected void btnReload_Click(object sender, EventArgs e)
|
||||
{
|
||||
repSeq.DataBind();
|
||||
answ = 1;
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
public intervalloDate intervalloAnalisi
|
||||
{
|
||||
get
|
||||
{
|
||||
intervalloDate answ = new intervalloDate();
|
||||
answ.fine = DateTime.Now;
|
||||
answ.inizio = answ.fine.AddDays(-numGg);
|
||||
return answ;
|
||||
}
|
||||
}
|
||||
protected DS_applicazione.MacchineDataTable tabMacchine;
|
||||
protected void Page_Load(object sender, EventArgs e)
|
||||
{
|
||||
//_resoconti = new resoconti();
|
||||
//tabMacchine = MapoDb.DataLayer.obj.taMacchine.GetData();
|
||||
if (!Page.IsPostBack)
|
||||
{
|
||||
ddlNumgg.DataBind();
|
||||
ddlNumgg.SelectedValue = memLayer.ML.confReadString("seq_gg");
|
||||
}
|
||||
//if (memLayer.ML.BoolSessionObj("graphDataRefresh"))
|
||||
//{
|
||||
// repSeq.DataBind();
|
||||
//}
|
||||
}
|
||||
|
||||
|
||||
protected void repSeq_ItemDataBound(object sender, RepeaterItemEventArgs e)
|
||||
{
|
||||
mod_sequencerStati sequencer = (mod_sequencerStati)e.Item.FindControl("seqStato");
|
||||
sequencer.larghezza = memLayer.ML.IntSessionObj("WindowWidth") - 100;
|
||||
sequencer.graphHeight = memLayer.ML.confReadInt("seq_height");
|
||||
sequencer.numSplit = memLayer.ML.confReadInt("seq_numSpl");
|
||||
try
|
||||
{
|
||||
sequencer.datiSequencer = _resoconti.sequenzaDati(sequencer.identificativo, intervalloAnalisi);
|
||||
sequencer.doUpdate();
|
||||
sequencer.Visible = true;
|
||||
}
|
||||
catch
|
||||
{
|
||||
sequencer.Visible = false;
|
||||
}
|
||||
}
|
||||
|
||||
protected void lnkCambiaModo_Click(object sender, EventArgs e)
|
||||
{
|
||||
// passa alla pagina richiesta...
|
||||
LinkButton lb = (LinkButton)sender;
|
||||
Response.Redirect(lb.CommandArgument);
|
||||
}
|
||||
|
||||
protected void ddlNumgg_SelectedIndexChanged(object sender, EventArgs e)
|
||||
{
|
||||
#if false
|
||||
repSeq.DataBind();
|
||||
#endif
|
||||
}
|
||||
/// <summary>
|
||||
/// recupera nome macchina da idx
|
||||
/// </summary>
|
||||
/// <param name="idxMacchina"></param>
|
||||
/// <returns></returns>
|
||||
public string nomeMacchina(string idxMacchina)
|
||||
{
|
||||
string answ = "...";
|
||||
answ = tabMacchine.FindByIdxMacchina(idxMacchina).Nome;
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// recupera stato macchina da idx
|
||||
/// </summary>
|
||||
/// <param name="idxMacchina"></param>
|
||||
/// <returns></returns>
|
||||
public string cssStatoMacchina(string idxMacchina)
|
||||
{
|
||||
string answ = "...";
|
||||
string codColore = resoconti.mngr.semaforoDaIdxStato(resoconti.mngr.statoMacchina(idxMacchina));
|
||||
answ = codColore;
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// rimanda alla pagina di dettaglio della macchina scelta
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void lnkMacchina_Click(object sender, EventArgs e)
|
||||
{
|
||||
LinkButton lb = (LinkButton)sender;
|
||||
Session["IdxMacchina"] = lb.CommandArgument;
|
||||
Response.Redirect("~/DettaglioMacchina.aspx");
|
||||
}
|
||||
|
||||
protected void btnReload_Click(object sender, EventArgs e)
|
||||
{
|
||||
#if false
|
||||
repSeq.DataBind();
|
||||
#endif
|
||||
}
|
||||
}
|
||||
}
|
||||
Generated
+2
-11
@@ -49,22 +49,13 @@ namespace MoonPro {
|
||||
protected global::MoonPro.WebUserControls.mod_mainMap mod_mainMap;
|
||||
|
||||
/// <summary>
|
||||
/// Controllo repSeq.
|
||||
/// Controllo mod_sequencerStatiJS2.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.Repeater repSeq;
|
||||
|
||||
/// <summary>
|
||||
/// Controllo odsMappa.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// Campo generato automaticamente.
|
||||
/// Per la modifica, spostare la dichiarazione di campo dal file di progettazione al file code-behind.
|
||||
/// </remarks>
|
||||
protected global::System.Web.UI.WebControls.ObjectDataSource odsMappa;
|
||||
protected global::MoonPro.WebUserControls.mod_sequencerStatiJS mod_sequencerStatiJS2;
|
||||
|
||||
/// <summary>
|
||||
/// Controllo btnReload.
|
||||
|
||||
@@ -119,17 +119,28 @@ namespace MoonPro.WS
|
||||
// recupero ITEMS
|
||||
List<visjsDsItem> tlSerie;
|
||||
{
|
||||
resoconti _resoconti = new resoconti();
|
||||
resoconti _resoconti = new resoconti();
|
||||
intervalloDate intervallo = new intervalloDate();
|
||||
intervallo.fine = Convert.ToDateTime(dataTo);
|
||||
intervallo.inizio = Convert.ToDateTime(dataFrom);
|
||||
intervallo.inizio = Convert.ToDateTime(dataFrom);
|
||||
tlSerie = _resoconti.sequenzaDatiVisJS(idxMacch, intervallo, numSplit);
|
||||
}
|
||||
// opzioni!
|
||||
visjsDsOptions opzioni = new visjsDsOptions
|
||||
{
|
||||
stack = false,
|
||||
horizontalScroll = true,
|
||||
moveable = true,
|
||||
zoomable = true,
|
||||
start = dataFrom,
|
||||
end = dataTo
|
||||
};
|
||||
// unisco oggetti
|
||||
timelineVisJs fullData = new timelineVisJs
|
||||
{
|
||||
Groups = tlGroups,
|
||||
Items = tlSerie
|
||||
Items = tlSerie,
|
||||
Options = opzioni
|
||||
};
|
||||
answ = js.Serialize(fullData);
|
||||
// salvo in sessione l'oggetto... secondo durata impostata in web.config..
|
||||
|
||||
@@ -52,7 +52,7 @@
|
||||
, end: '2018-05-30'
|
||||
};
|
||||
// Crea la Timeline
|
||||
var timeline = new vis.Timeline(container, tlData.Items, tlData.Groups, options);
|
||||
var timeline = new vis.Timeline(container, tlData.Items, tlData.Groups, tlData.Options);
|
||||
}
|
||||
|
||||
</script>
|
||||
|
||||
@@ -30,6 +30,26 @@ namespace MoonPro.WebUserControls
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Idx macchina da plottare
|
||||
/// </summary>
|
||||
public intervalloDate periodo
|
||||
{
|
||||
get
|
||||
{
|
||||
intervalloDate answ = new intervalloDate
|
||||
{
|
||||
inizio = Convert.ToDateTime(DataFrom),
|
||||
fine = Convert.ToDateTime(DataTo)
|
||||
};
|
||||
return answ;
|
||||
}
|
||||
set
|
||||
{
|
||||
DataFrom = value.inizio.ToString("yyyy-MM-dd");
|
||||
DataTo = value.fine.ToString("yyyy-MM-dd");
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// Num split massimo di segmenti da plottare
|
||||
/// </summary>
|
||||
public string numSplit
|
||||
|
||||
+3
-7
@@ -9,7 +9,7 @@
|
||||
<uc1:mod_realtimeClock ID="mod_realtimeClock1" runat="server" />
|
||||
|
||||
<%--<div id="timelineArea"></div>--%>
|
||||
<div id="tcArea"></div>
|
||||
<%--<div id="tcArea"></div>
|
||||
|
||||
<script type="text/javascript">
|
||||
// vedere: http://visjs.org/docs/timeline/
|
||||
@@ -112,10 +112,6 @@
|
||||
// crea lo scatter dei TC
|
||||
var scatter = new vis.Graph2d(container, dataset, options);
|
||||
}
|
||||
</script>
|
||||
<uc1:mod_sequencerStatiJS runat="server" ID="mod_sequencerStatiJS2" DataFrom="2018-05-01" DataTo="2018-05-30" idxMacchina="0" numSplit="2000" />
|
||||
<%--<uc1:mod_sequencerStatiJS runat="server" ID="mod_sequencerStatiJS0" DataFrom="2018-05-01" DataTo="2018-05-30" idxMacchina="3001" numSplit="2000" />
|
||||
<uc1:mod_sequencerStatiJS runat="server" ID="mod_sequencerStatiJS1" DataFrom="2018-05-01" DataTo="2018-05-30" idxMacchina="3002" numSplit="2000" />
|
||||
<uc1:mod_sequencerStatiJS runat="server" ID="mod_sequencerStatiJS2" DataFrom="2018-05-01" DataTo="2018-05-30" idxMacchina="3003" numSplit="2000" />
|
||||
<uc1:mod_sequencerStatiJS runat="server" ID="mod_sequencerStatiJS3" DataFrom="2018-05-01" DataTo="2018-05-30" idxMacchina="3004" NumSplit="2000" />--%>
|
||||
</script>--%>
|
||||
<uc1:mod_sequencerStatiJS runat="server" ID="mod_sequencerStatiJS2" DataFrom="2018-05-01" DataTo="2018-06-06" idxMacchina="0" numSplit="1000" />
|
||||
</asp:Content>
|
||||
|
||||
+35
-2
@@ -909,7 +909,36 @@ public class visjsDsGroups
|
||||
/// </summary>
|
||||
public string className;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Groups Dataset di vis.js
|
||||
/// </summary>
|
||||
public class visjsDsOptions
|
||||
{
|
||||
/// <summary>
|
||||
/// Indica se debba salvare come stacked i valori (false = in linea x gruppo)
|
||||
/// </summary>
|
||||
public bool stack;
|
||||
/// <summary>
|
||||
/// Abilita scroll orizzontale
|
||||
/// </summary>
|
||||
public bool horizontalScroll;
|
||||
/// <summary>
|
||||
/// Abilita spostamento
|
||||
/// </summary>
|
||||
public bool moveable;
|
||||
/// <summary>
|
||||
/// Abilita zoom
|
||||
/// </summary>
|
||||
public bool zoomable;
|
||||
/// <summary>
|
||||
/// Data Start
|
||||
/// </summary>
|
||||
public string start;
|
||||
/// <summary>
|
||||
/// Data End
|
||||
/// </summary>
|
||||
public string end;
|
||||
}
|
||||
/// <summary>
|
||||
/// Oggetto timeline vis.js con gruppi + items
|
||||
/// </summary>
|
||||
@@ -920,7 +949,11 @@ public class timelineVisJs
|
||||
/// </summary>
|
||||
public List<visjsDsGroups> Groups;
|
||||
/// <summary>
|
||||
/// Items
|
||||
/// Valori
|
||||
/// </summary>
|
||||
public List<visjsDsItem> Items;
|
||||
/// <summary>
|
||||
/// Opzioni
|
||||
/// </summary>
|
||||
public visjsDsOptions Options;
|
||||
}
|
||||
Reference in New Issue
Block a user