diff --git a/WebSites/WebGIM/App_Code/DS_applicazione.xsd b/WebSites/WebGIM/App_Code/DS_applicazione.xsd index 2d53775..9887439 100644 --- a/WebSites/WebGIM/App_Code/DS_applicazione.xsd +++ b/WebSites/WebGIM/App_Code/DS_applicazione.xsd @@ -482,6 +482,17 @@ WHERE (idxFamMacchine = @idxFamMacchine) + + + + INSERT INTO [dbo].[Macchine2FamMacchine] ([idxMacchina], [idxFamMacchine]) VALUES (@idxMacchina, @idxFamMacchine) + + + + + + + @@ -589,6 +600,18 @@ WHERE (numIntMtz = @numIntMtz) + + + + SELECT * +FROM v_intervExp +WHERE (idxCausale = @idxCausale) + + + + + + @@ -1418,6 +1441,69 @@ WHERE (data BETWEEN @inizio AND @fine) + + + + + + DELETE FROM [dbo].[AnagCausali] WHERE (([idxCausale] = @Original_idxCausale)) + + + + + + + + INSERT INTO [dbo].[AnagCausali] ([idxFamMacchine], [descrCausale], [attiva]) VALUES (@idxFamMacchine, @descrCausale, @attiva) + + + + + + + + + + SELECT * FROM dbo.AnagCausali + + + + + + UPDATE [dbo].[AnagCausali] SET [idxFamMacchine] = @idxFamMacchine, [descrCausale] = @descrCausale, [attiva] = @attiva WHERE (([idxCausale] = @Original_idxCausale)) + + + + + + + + + + + + + + + + + + + + + UPDATE AnagCausali +SET descrCausale = @descrCausale, attiva = @attiva +WHERE (idxCausale = @Original_idxCausale) + + + + + + + + + + @@ -1429,16 +1515,16 @@ WHERE (data BETWEEN @inizio AND @fine) - - + + - - + + @@ -1451,186 +1537,7 @@ WHERE (data BETWEEN @inizio AND @fine) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + @@ -1638,83 +1545,6 @@ WHERE (data BETWEEN @inizio AND @fine) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1725,45 +1555,41 @@ WHERE (data BETWEEN @inizio AND @fine) - + - - + + - + - + + + + + + + + + + + + + + + + - + - - - - - - - - - - - - - - - - - - - - - + + @@ -1778,20 +1604,182 @@ WHERE (data BETWEEN @inizio AND @fine) - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1802,27 +1790,43 @@ WHERE (data BETWEEN @inizio AND @fine) - + - - - - - + + - + + + + + + + + - - - - + + + + + + + + + + + + + + + + @@ -1846,14 +1850,96 @@ WHERE (data BETWEEN @inizio AND @fine) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - + + @@ -1866,47 +1952,19 @@ WHERE (data BETWEEN @inizio AND @fine) - - + + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - @@ -1916,7 +1974,51 @@ WHERE (data BETWEEN @inizio AND @fine) - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -2003,6 +2105,10 @@ WHERE (data BETWEEN @inizio AND @fine) + + + + @@ -2018,6 +2124,7 @@ WHERE (data BETWEEN @inizio AND @fine) + \ No newline at end of file diff --git a/WebSites/WebGIM/App_Code/DS_applicazione.xss b/WebSites/WebGIM/App_Code/DS_applicazione.xss index 3a4e421..fe2b904 100644 --- a/WebSites/WebGIM/App_Code/DS_applicazione.xss +++ b/WebSites/WebGIM/App_Code/DS_applicazione.xss @@ -4,30 +4,31 @@ Changes to this file may cause incorrect behavior and will be lost if the code is regenerated. --> - + - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + - + 1029 @@ -39,31 +40,31 @@ - + - 1216 - 273 + 1251 + 278 - 1216 + 1251 309 - + - 1197 - 70 + 1239 + 61 - 1197 - 100 + 1239 + 88 - + 511 @@ -75,19 +76,19 @@ - + 810 429 - 784 + 732 429 - + 453 @@ -99,7 +100,7 @@ - + 353 @@ -111,14 +112,14 @@ - + - 767 + 631 560 - 767 + 631 599 @@ -127,7 +128,7 @@ - + 1141 @@ -139,7 +140,7 @@ - + 1017 @@ -155,7 +156,7 @@ - + 1362 @@ -171,7 +172,7 @@ - + 922 @@ -183,5 +184,17 @@ + + + + 1328 + -9 + + + 1433 + -9 + + + \ No newline at end of file diff --git a/WebSites/WebGIM/App_Code/DS_utility.xsd b/WebSites/WebGIM/App_Code/DS_utility.xsd index a568b33..a011916 100644 --- a/WebSites/WebGIM/App_Code/DS_utility.xsd +++ b/WebSites/WebGIM/App_Code/DS_utility.xsd @@ -337,6 +337,23 @@ WHERE (conditio = @conditio) + + + + + + SELECT value, label FROM dbo.v_selFam + + + + + + + + + + + @@ -348,8 +365,8 @@ WHERE (conditio = @conditio) - - + + @@ -362,23 +379,23 @@ WHERE (conditio = @conditio) - - + + - + - - + + @@ -391,8 +408,8 @@ WHERE (conditio = @conditio) - - + + @@ -405,23 +422,23 @@ WHERE (conditio = @conditio) - - + + - + - - + + @@ -432,32 +449,12 @@ WHERE (conditio = @conditio) - - - - - - - - - - - - - - - - - - - - - + @@ -471,11 +468,31 @@ WHERE (conditio = @conditio) + + + + + + + + + + + + + + + + + + + + - - + + @@ -488,21 +505,21 @@ WHERE (conditio = @conditio) - + - + - + @@ -515,6 +532,66 @@ WHERE (conditio = @conditio) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -529,13 +606,6 @@ WHERE (conditio = @conditio) - - - - - - - @@ -550,120 +620,81 @@ WHERE (conditio = @conditio) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - + + + - + - - - - - - - + + + + + + + - - - - + + + + - + - + - + + + + + + + + + + + + + + + @@ -716,5 +747,9 @@ WHERE (conditio = @conditio) + + + + \ No newline at end of file diff --git a/WebSites/WebGIM/App_Code/DS_utility.xss b/WebSites/WebGIM/App_Code/DS_utility.xss index 597dc38..211ffa8 100644 --- a/WebSites/WebGIM/App_Code/DS_utility.xss +++ b/WebSites/WebGIM/App_Code/DS_utility.xss @@ -4,21 +4,22 @@ Changes to this file may cause incorrect behavior and will be lost if the code is regenerated. --> - + - - - - - - - - - - - - - + + + + + + + + + + + + + + \ No newline at end of file diff --git a/WebSites/WebGIM/App_Code/TA_app.cs b/WebSites/WebGIM/App_Code/TA_app.cs index 45a5972..239f436 100644 --- a/WebSites/WebGIM/App_Code/TA_app.cs +++ b/WebSites/WebGIM/App_Code/TA_app.cs @@ -29,6 +29,7 @@ public class TA_app public DS_applicazioneTableAdapters.FiltroImpiantiTableAdapter taFiltImp; public DS_applicazioneTableAdapters.FiltroMacchineTableAdapter taFiltMac; public DS_applicazioneTableAdapters.FiltroStatiTableAdapter taFiltSta; + public DS_applicazioneTableAdapters.AnagCausaliTableAdapter taAnagCau; #endregion @@ -54,6 +55,7 @@ public class TA_app taFiltImp = new DS_applicazioneTableAdapters.FiltroImpiantiTableAdapter(); taFiltMac = new DS_applicazioneTableAdapters.FiltroMacchineTableAdapter(); taFiltSta = new DS_applicazioneTableAdapters.FiltroStatiTableAdapter(); + taAnagCau = new DS_applicazioneTableAdapters.AnagCausaliTableAdapter(); } /// /// Singleton diff --git a/WebSites/WebGIM/Bin/SteamWare.dll b/WebSites/WebGIM/Bin/SteamWare.dll index 1c940dd..c53304c 100644 Binary files a/WebSites/WebGIM/Bin/SteamWare.dll and b/WebSites/WebGIM/Bin/SteamWare.dll differ diff --git a/WebSites/WebGIM/famiglieMacchine.aspx b/WebSites/WebGIM/famiglieMacchine.aspx index 642de79..3bf6cb7 100644 --- a/WebSites/WebGIM/famiglieMacchine.aspx +++ b/WebSites/WebGIM/famiglieMacchine.aspx @@ -1,4 +1,4 @@ -<%@ Page Title="" Language="C#" MasterPageFile="~/AjaxSearch.master" AutoEventWireup="true" CodeFile="famiglieMacchine.aspx.cs" Inherits="famiglieMacchine" %> +<%@ Page Title="" Language="C#" MasterPageFile="~/AjaxTitle.master" AutoEventWireup="true" CodeFile="famiglieMacchine.aspx.cs" Inherits="famiglieMacchine" %> <%@ Register src="mod_famiglieMacchine.ascx" tagname="mod_famiglieMacchine" tagprefix="uc1" %> diff --git a/WebSites/WebGIM/gestioneCausali.aspx b/WebSites/WebGIM/gestioneCausali.aspx new file mode 100644 index 0000000..c47a947 --- /dev/null +++ b/WebSites/WebGIM/gestioneCausali.aspx @@ -0,0 +1,8 @@ +<%@ Page Title="" Language="C#" MasterPageFile="~/AjaxTitle.master" AutoEventWireup="true" CodeFile="gestioneCausali.aspx.cs" Inherits="gestioneCausali" %> + +<%@ Register src="mod_gestCausali.ascx" tagname="mod_gestCausali" tagprefix="uc1" %> + + + + + diff --git a/WebSites/WebGIM/gestioneCausali.aspx.cs b/WebSites/WebGIM/gestioneCausali.aspx.cs new file mode 100644 index 0000000..1c1eae8 --- /dev/null +++ b/WebSites/WebGIM/gestioneCausali.aspx.cs @@ -0,0 +1,13 @@ +using System; +using System.Collections.Generic; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; + +public partial class gestioneCausali : System.Web.UI.Page +{ + protected void Page_Load(object sender, EventArgs e) + { + + } +} diff --git a/WebSites/WebGIM/mod_elFamMacch.ascx.cs b/WebSites/WebGIM/mod_elFamMacch.ascx.cs index 0c34c9f..1653ac1 100644 --- a/WebSites/WebGIM/mod_elFamMacch.ascx.cs +++ b/WebSites/WebGIM/mod_elFamMacch.ascx.cs @@ -91,13 +91,18 @@ public partial class mod_elFamMacch : ApplicationUserControl } } /// - /// restituisce il valore selezionato... + /// restituisce il valore selezionato... se non selezionato restituisce -1 /// public int idxFamMacc_sel { get { - return Convert.ToInt32(grView.SelectedValue); + int answ = -1; + if (grView.SelectedIndex != -1) + { + answ = Convert.ToInt32(grView.SelectedValue); + } + return answ; } } protected void ods_Updated(object sender, ObjectDataSourceStatusEventArgs e) diff --git a/WebSites/WebGIM/mod_elMacch2Fam.ascx.cs b/WebSites/WebGIM/mod_elMacch2Fam.ascx.cs index 37f40d2..c9e0491 100644 --- a/WebSites/WebGIM/mod_elMacch2Fam.ascx.cs +++ b/WebSites/WebGIM/mod_elMacch2Fam.ascx.cs @@ -63,4 +63,11 @@ public partial class mod_elMacch2Fam : ApplicationUserControl eh_delValore(this, new EventArgs()); } } + /// + /// esegue update + /// + public void doUpdate() + { + grView.DataBind(); + } } diff --git a/WebSites/WebGIM/mod_famiglieMacchine.ascx b/WebSites/WebGIM/mod_famiglieMacchine.ascx index 7083513..4bbbe6a 100644 --- a/WebSites/WebGIM/mod_famiglieMacchine.ascx +++ b/WebSites/WebGIM/mod_famiglieMacchine.ascx @@ -4,16 +4,47 @@ <%@ Register Src="mod_elMacch2Fam.ascx" TagName="mod_elMacch2Fam" TagPrefix="uc2" %> <%@ Register Src="mod_selettore.ascx" TagName="mod_selettore" TagPrefix="uc3" %>
-
- -
- - - - aaa - -
-
- -
+ + + + + + + + +
+ +
+ +
+ +
+
+ +
+
+ +
+
+ + + + + + +
+ +
+ +
+
+
+ +
+
diff --git a/WebSites/WebGIM/mod_famiglieMacchine.ascx.cs b/WebSites/WebGIM/mod_famiglieMacchine.ascx.cs index 8680967..7acad57 100644 --- a/WebSites/WebGIM/mod_famiglieMacchine.ascx.cs +++ b/WebSites/WebGIM/mod_famiglieMacchine.ascx.cs @@ -12,15 +12,34 @@ public partial class mod_famiglieMacchine : System.Web.UI.UserControl mod_elFamMacch1.eh_selezioneValore += new EventHandler(mod_elFamMacch1_eh_selezioneValore); mod_elFamMacch1.eh_resetSelezione += new EventHandler(mod_elFamMacch1_eh_resetSelezione); mod_elMacch2Fam1.eh_delValore += new EventHandler(mod_elMacch2Fam1_eh_delValore); - traduci(); + traduciObj(); + // assicura che la label del pulsante venga sempre aggiornata + if (pnlSceltaMacchine.Visible) + { + btnShowAdd.Text = user_std.UtSn.Traduci("hideAddMacchine"); + } + else + { + btnShowAdd.Text = user_std.UtSn.Traduci("showAddMacchine"); + } + } - private void traduci() + private void traduciObj() { - btnShowAdd.Text = user_std.UtSn.Traduci("showAddMacchine"); - btnAddMacchine.Text = user_std.UtSn.Traduci("AddMacchine2Fam"); + btnShowAdd.Text = traduci("showAddMacchine"); + btnAddMacchine.Text = traduci("AddMacchine2Fam"); + lblMacchineInteressate.Text = traduci("lblMacchineInteressate"); + } + /// + /// wrapper traduzione + /// + /// + /// + public string traduci(object lemma) + { + return user_std.UtSn.Traduci(lemma.ToString()); } - void mod_elMacch2Fam1_eh_delValore(object sender, EventArgs e) { mod_elFamMacch1.doUpdate(); @@ -38,7 +57,43 @@ public partial class mod_famiglieMacchine : System.Web.UI.UserControl } protected void btnAddMacchine_Click(object sender, EventArgs e) { - // salvo... + // controllo se si possa salvare + if ((mod_elFamMacch1.idxFamMacc_sel != -1) && (listMacchine.SelectedIndex != -1)) + { + lblWarning.Visible = false; + // ciclo ed inserisco le macchine selezionate + foreach (ListItem riga in listMacchine.Items) + { + // se è selezionata creo riga anche x lei... + if (riga.Selected) + { + associaMacchinaFamiglia(Convert.ToInt32(riga.Value), mod_elFamMacch1.idxFamMacc_sel); + } + } + mod_elMacch2Fam1.doUpdate(); + } + else + { + lblWarning.Visible = true; + lblWarning.Text = traduci("pregoSelMacchFamMacch"); + } + } + /// + /// associa la macchina indicata alla famiglia + /// + /// + /// + private bool associaMacchinaFamiglia(int idxMacchina, int idxFamMacc) + { + bool answ = false; + try + { + TA_app.obj.taMacc2Fam.InsertQuery(idxMacchina, idxFamMacc); + answ = true; + } + catch + { } + return answ; } protected void btnShowAdd_Click(object sender, EventArgs e) { diff --git a/WebSites/WebGIM/mod_famiglieMacchine.ascx.cs.bak b/WebSites/WebGIM/mod_famiglieMacchine.ascx.cs.bak new file mode 100644 index 0000000..37d5625 --- /dev/null +++ b/WebSites/WebGIM/mod_famiglieMacchine.ascx.cs.bak @@ -0,0 +1,101 @@ +using System; +using System.Collections.Generic; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; +using SteamWare; + +public partial class mod_famiglieMacchine : System.Web.UI.UserControl +{ + protected void Page_Load(object sender, EventArgs e) + { + mod_elFamMacch1.eh_selezioneValore += new EventHandler(mod_elFamMacch1_eh_selezioneValore); + mod_elFamMacch1.eh_resetSelezione += new EventHandler(mod_elFamMacch1_eh_resetSelezione); + mod_elMacch2Fam1.eh_delValore += new EventHandler(mod_elMacch2Fam1_eh_delValore); + traduciObj(); + } + + private void traduciObj() + { + btnShowAdd.Text = traduci("showAddMacchine"); + btnAddMacchine.Text = traduci("AddMacchine2Fam"); + lblMacchineInteressate.Text = traduci("lblMacchineInteressate"); + } + /// + /// wrapper traduzione + /// + /// + /// + public string traduci(object lemma) + { + return user_std.UtSn.Traduci(lemma.ToString()); + } + void mod_elMacch2Fam1_eh_delValore(object sender, EventArgs e) + { + mod_elFamMacch1.doUpdate(); + } + + void mod_elFamMacch1_eh_resetSelezione(object sender, EventArgs e) + { + mod_elMacch2Fam1.Visible = false; + } + + void mod_elFamMacch1_eh_selezioneValore(object sender, EventArgs e) + { + mod_elMacch2Fam1.idxFamMacchSel = mod_elFamMacch1.idxFamMacc_sel; + mod_elMacch2Fam1.Visible = true; + } + protected void btnAddMacchine_Click(object sender, EventArgs e) + { + // controllo se si possa salvare + if ((mod_elFamMacch1.idxFamMacc_sel != -1) && (listMacchine.SelectedIndex != -1)) + { + lblWarning.Visible = false; + // ciclo ed inserisco le macchine selezionate + foreach (ListItem riga in listMacchine.Items) + { + // se è selezionata creo riga anche x lei... + if (riga.Selected) + { + associaMacchinaFamiglia(Convert.ToInt32(riga.Value), mod_elFamMacch1.idxFamMacc_sel); + } + } + mod_elMacch2Fam1.doUpdate(); + } + else + { + lblWarning.Visible = true; + lblWarning.Text = traduci("pregoSelMacchFamMacch"); + } + } + /// + /// associa la macchina indicata alla famiglia + /// + /// + /// + private bool associaMacchinaFamiglia(int idxMacchina, int idxFamMacc) + { + bool answ = false; + try + { + TA_app.obj.taMacc2Fam.InsertQuery(idxMacchina, idxFamMacc); + answ = true; + } + catch + { } + return answ; + } + protected void btnShowAdd_Click(object sender, EventArgs e) + { + pnlSceltaMacchine.Visible = !pnlSceltaMacchine.Visible; + if (pnlSceltaMacchine.Visible) + { + btnShowAdd.Text = user_std.UtSn.Traduci("hideAddMacchine"); + } + else + { + btnShowAdd.Text = user_std.UtSn.Traduci("showAddMacchine"); + } + + } +} diff --git a/WebSites/WebGIM/mod_gestCausali.ascx b/WebSites/WebGIM/mod_gestCausali.ascx new file mode 100644 index 0000000..afbe1b7 --- /dev/null +++ b/WebSites/WebGIM/mod_gestCausali.ascx @@ -0,0 +1,102 @@ +<%@ Control Language="C#" AutoEventWireup="true" CodeFile="mod_gestCausali.ascx.cs" + Inherits="mod_gestCausali" %> +<%@ Register Src="mod_filtro.ascx" TagName="mod_filtro" TagPrefix="uc1" %> + + + +<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/WebSites/WebGIM/mod_gestCausali.ascx.cs b/WebSites/WebGIM/mod_gestCausali.ascx.cs new file mode 100644 index 0000000..a43ad2d --- /dev/null +++ b/WebSites/WebGIM/mod_gestCausali.ascx.cs @@ -0,0 +1,112 @@ +using System; +using System.Collections.Generic; +using System.Web; +using System.Web.UI; +using System.Web.UI.WebControls; +using SteamWare; + +public partial class mod_gestCausali : ApplicationUserControl +{ + public event EventHandler eh_delValore; + + protected override void OnInit(EventArgs e) + { + base.OnInit(e); + if (!Page.IsPostBack) + { + mod_filtroFam.ods = odsFam; + } + } + /// + /// evento dati associati a controllo + /// + /// + /// + protected void grView_DataBound(object sender, EventArgs e) + { + if (grView.Rows.Count > 0) + { + LinkButton lb; + // aggiorno gli headers + foreach (TableCell cella in grView.HeaderRow.Cells) + { + try + { + lb = (LinkButton)cella.Controls[0]; + lb.Text = traduci(lb.Text); + } + catch + { } + } + int totRecord = grView.Rows.Count + grView.PageSize * (grView.PageCount - 1); + lblNumRec.Text = string.Format("{0} records of ~ {1}", grView.Rows.Count, totRecord); + } + else + { + lblNumRec.Text = ""; + } + } + /// + /// eliminato il valore genera l'evento + /// + /// + /// + protected void ods_Deleted(object sender, ObjectDataSourceStatusEventArgs e) + { + if (eh_delValore != null) + { + eh_delValore(this, new EventArgs()); + } + } + /// + /// esegue update + /// + public void doUpdate() + { + grView.DataBind(); + } + /// + /// determina se la causale sia cancellabile (ovvero non sia impiegata in alcuna registrazione di intervento... + /// + public bool isDeletable(object idxCausale) + { + bool answ = false; + try + { + if (TA_app.obj.taInterventiMtz.getByIdxCausale(Convert.ToInt32(idxCausale)).Rows.Count == 0) answ = true; + } + catch + { } + return answ; + } + /// + /// gestione evento inserimento nuovo record standard (se ZERO presenti) + /// + /// + /// + protected void btnNewFromEmpty_Click(object sender, EventArgs e) + { + // reset selezione... + resetSelezione(); + // i primi valori ("0") di default sono "ND"... li inserisco come standard... + TA_app.obj.taAnagCau.Insert(mod_filtroFam.valoreInt, "-- [NUOVA] non definita --", true); + grView.DataBind(); + } + /// + /// resetta la selezione dei valori in caso di modifiche su altri controlli + /// + public void resetSelezione() + { + grView.SelectedIndex = -1; + grView.DataBind(); + } + /// + /// reset delle selezioni + /// + /// + /// + protected void btnReset_Click(object sender, EventArgs e) + { + resetSelezione(); + } +} diff --git a/WebSites/WebGIM/mod_gestUtentiGIM.ascx b/WebSites/WebGIM/mod_gestUtentiGIM.ascx index 86ef4ef..447e83e 100644 --- a/WebSites/WebGIM/mod_gestUtentiGIM.ascx +++ b/WebSites/WebGIM/mod_gestUtentiGIM.ascx @@ -99,7 +99,7 @@ - +