Aggiunta in sessione valori temp redis...

This commit is contained in:
Samuele E. Locatelli
2018-10-24 18:30:47 +02:00
parent b8a9f60933
commit 862ea99deb
4 changed files with 162 additions and 8 deletions
+4 -2
View File
@@ -30,8 +30,10 @@ namespace MoonProAdmin
mod_gestKIT.kitCode = mod_barcode.kitCode;
mod_gestKIT.qta = mod_barcode.qta;
mod_gestKIT.descArt = mod_barcode.descArt;
string tempData = string.Format("OPR: {0}, ART: {1}, KIT: {2}, QTA: {3}, Descr: {4}", mod_barcode.codOrd, mod_barcode.codArt, mod_barcode.kitCode, mod_barcode.qta, mod_barcode.descArt);
mod_gestKIT.lastInput = tempData;
// aggiungo ordine...
mod_gestKIT.addOrdArt(mod_barcode.codOrd, mod_barcode.codArt, mod_barcode.descArt, mod_barcode.qta);
//string tempData = string.Format("OPR: {0}, ART: {1}, KIT: {2}, QTA: {3}, Descr: {4}", mod_barcode.codOrd, mod_barcode.codArt, mod_barcode.kitCode, mod_barcode.qta, mod_barcode.descArt);
//mod_gestKIT.lastInput = tempData;
}
else
{
+2 -2
View File
@@ -12,7 +12,7 @@
</div>
</div>
<div class="row">
<div class="col">
<div class="col-12">
<ol>
<li><s>cmd x reset e ripartire a fare NUOVO kit</s></li>
<li><s>lettura del barcode</s></li>
@@ -25,7 +25,7 @@
<li>controllo kit completo</li>
<li>comando conferma e crea KIT</li>
<li>lascio filtro OPR/articolo x mostrare ordine (nei 2 modi rosso/verde)</li>
<li>cmd x reset e ripartire a fare NUOVO kit</li>
<li><s>cmd x reset e ripartire a fare NUOVO kit</s></li>
</ol>
<asp:HiddenField ID="hlLastInput" runat="server" />
<asp:Label runat="server" ID="lblOut" CssClass="text-danger" />
+100 -4
View File
@@ -1,5 +1,8 @@
using SteamWare;
using Newtonsoft.Json;
using SteamWare;
using System;
using System.Collections.Generic;
using System.Text;
namespace MoonProAdmin.WebUserControls
{
@@ -26,7 +29,6 @@ namespace MoonProAdmin.WebUserControls
#endregion
#region variabili in sessione
/// <summary>
@@ -128,7 +130,6 @@ namespace MoonProAdmin.WebUserControls
memLayer.ML.setSessionVal(string.Format("codGruppo_{0}", uid), value);
}
}
/// <summary>
/// titolo pagina
/// </summary>
@@ -139,6 +140,90 @@ namespace MoonProAdmin.WebUserControls
return devicesAuthProxy.getPage(Request.Url).Replace(".aspx", "");
}
}
/// <summary>
/// Oggetto KIT in composizione gestito in sessione
/// </summary>
public OrdineProdKit OrdineKit
{
get
{
OrdineProdKit answ;
string serVal = memLayer.ML.StringSessionObj(string.Format("OrdineKit_{0}", uid));
// deserializzo SE C'E'...
if (serVal != "")
{
//var objDeser = memLayer.ML.deserializeVal(serVal);
//answ = (OrdineProdKit)objDeser;
answ = JsonConvert.DeserializeObject<OrdineProdKit>(serVal);
}
else
{
answ = new OrdineProdKit();
}
return answ;
}
set
{
// serializzo...
//string serVal = memLayer.ML.serializeVal(value);
string serVal = JsonConvert.SerializeObject(value);
// salvo
memLayer.ML.setSessionVal(string.Format("OrdineKit_{0}", uid), serVal);
}
}
/// <summary>
/// Aggiunge (in obj OrdineKit) l'ordine coi parametri indicati
/// </summary>
/// <param name="codOrd"></param>
/// <param name="codArt"></param>
/// <param name="descArt"></param>
/// <param name="qta"></param>
/// <returns></returns>
public bool addOrdArt(string codOrd, string codArt, string descArt, int qta)
{
bool answ = false;
var currOrd = OrdineKit;
// creo oggetto articolo
Articolo newArt = new Articolo
{
Codice = codArt,
Descrizione = descArt
};
// creo un nuovo oggetto OrdineArticolo
OrdineProdArt newOrdArt = new OrdineProdArt
{
OrdNum = codOrd,
ArtOrd = newArt,
Qta = qta
};
var orderList = new List<OrdineProdArt>();
// se nullo inizializzo...
if (currOrd == null || currOrd.Codice == null)
{
orderList.Add(newOrdArt);
currOrd = new OrdineProdKit
{
OrdNum = "000000",
Codice = "KIT_UNKNOWN",
Qta = 1,
OrdiniArt = orderList
};
}
else
{
#if true
// se ci fosse riga la cancello...
currOrd.OrdiniArt.Remove(newOrdArt);
#endif
// aggiungo SOLO la riga articolo
currOrd.OrdiniArt.Add(newOrdArt);
}
// salvo ordine...
OrdineKit = currOrd;
answ = true;
return answ;
}
#endregion
/// <summary>
@@ -170,7 +255,7 @@ namespace MoonProAdmin.WebUserControls
public void doUpdate()
{
// aggiorno label...
messOut = lastInput;
messOut = "";
// controllo input (reset/inizio o salva...)
if (lastInput == regExp_KO)
{
@@ -192,6 +277,17 @@ namespace MoonProAdmin.WebUserControls
{
}
//riporto gli ordini caricati...
StringBuilder sb = new StringBuilder();
var currOrd = OrdineKit;
sb.AppendLine(string.Format("OrdNum:{0}, TemplateKIT: {1}, Qta: {2}<br/>", currOrd.OrdNum, currOrd.Codice, currOrd.Qta));
foreach (var item in OrdineKit.OrdiniArt)
{
sb.AppendLine(string.Format("OrdNum:{0}, CodArt: {1}, Descr: {2}, Qta: {3}<br/>", item.OrdNum, item.ArtOrd.Codice, item.ArtOrd.Descrizione, item.Qta));
}
// accodo...
messOut += sb.ToString();
}
private void doReset()
+56
View File
@@ -1,6 +1,7 @@
using MapoDb;
using SteamWare;
using System;
using System.Collections.Generic;
/// <summary>
/// Summary description for utility
@@ -312,3 +313,58 @@ public class IOB_data
public string typeCss;
public bool CNC_Counter;
}
/// <summary>
/// Classe definizione parametri singolo ordine produzione
/// </summary>
public class OrdineProdArt
{
/// <summary>
/// Codice univoco ordine
/// </summary>
public string OrdNum;
/// <summary>
/// Articolo associato ad ordine
/// </summary>
public Articolo ArtOrd;
/// <summary>
/// Quantità Articolo
/// </summary>
public int Qta;
}
/// <summary>
/// Oggetto generico articolo
/// </summary>
public class Articolo
{
/// <summary>
/// Codice articolo
/// </summary>
public string Codice;
/// <summary>
/// Descrizione Articolo
/// </summary>
public string Descrizione;
}
/// <summary>
/// Classe definizione parametri ordine x KIT di articoli
/// </summary>
public class OrdineProdKit
{
/// <summary>
/// Codice univoco ordine
/// </summary>
public string OrdNum;
/// <summary>
/// Codice KIT
/// </summary>
public string Codice;
/// <summary>
/// Vettore ordini articolo associati a KIT
/// </summary>
public List<OrdineProdArt> OrdiniArt;
/// <summary>
/// Quantità KIT
/// </summary>
public int Qta;
}