completata gestioen stampa nuovo cartellino con consumo vecchi...

This commit is contained in:
Samuele Locatelli
2014-01-22 18:02:04 +01:00
parent 327cc2080e
commit 1284302de2
3 changed files with 74 additions and 13 deletions
+2 -1
View File
@@ -66,7 +66,7 @@
<add key="appName" value="GMW" />
<add key="SiteName" value="Tekal" />
<add key="mainRev" value="2.4" />
<add key="minRev" value="578" />
<add key="minRev" value="579" />
<add key="copyRight" value="SteamWare © 2010" />
<add key="_allowForceUser" value="true" />
<add key="_safePages" value="jumper.aspx#unauthorized.aspx#allegati.aspx#forceUser.aspx#login.aspx#test.aspx#istruzioni.aspx#Test.aspx" />
@@ -158,6 +158,7 @@
<add key="IdxPosizioneAnime" value="2" />
<add key="IdxPosizioneAnimeExt" value="2222" />
<add key="IdxPosizioneFusi" value="7" />
<add key="IdxPosizioneSterrati" value="12" />
<add key="IdxPosizioneFiniti" value="24" />
<!--setup celle per LDP-->
<add key="cellaLPA" value="LPA010101" />
+72 -12
View File
@@ -19,7 +19,11 @@ namespace GMW.WebUserControls
/// <summary>
/// stato associato (hard coded) a FUSI
/// </summary>
protected string statoUDC = "Sterrati";
protected string statoUDC = "Sterrato";
/// <summary>
/// tipo di evento associato alla creazione dell'UDC
/// </summary>
protected string eventoUDC = "UDC_STTA";
/// <summary>
/// stringa degli UDC selezionati per consumo COMPLETO (nel formato #UDC1##UDC2#)
/// </summary>
@@ -547,28 +551,45 @@ namespace GMW.WebUserControls
}
if (codSogg != "" && particolare != "")
{
// genero cartellino anima
// genero cartellino
DateTime adesso = DateTime.Now;
try
{
// creo nuovo UDC anime multiple
newUdcChild = MagClass.magazzino.creaUdc(flusso, "", currParticolare, "", "", "", "", "", 0, memLayer.ML.confReadString("CodImballoAnime"), "U", MagClass.magazzino.CodSoggCurrUser, qta, 0, 0, adesso, 0, statoUDC, memLayer.ML.confReadInt("IdxPosizioneAnimeExt"), "IdxPosizioneAnimeExt", "UDC_ANIMA", noteTrim, "", adesso.Year, Request.UserHostName); //!!!Fare, finire porting da anime...
newUdcChild = MagClass.magazzino.creaUdc(flusso, "", currParticolare, "", "", "", "", "", 0, memLayer.ML.confReadString("CodImballoSterr"), "U", MagClass.magazzino.CodSoggCurrUser, qta, 0, 0, adesso, 0, statoUDC, memLayer.ML.confReadInt("IdxPosizioneSterrati"), "IdxPosizioneSterrati", eventoUDC, noteTrim, "", adesso.Year, Request.UserHostName);
// registro creazione nuovo UDC
MagClass.magazzino.taSAO.insertQuery(adesso, codSogg, postazione_name, postazione_IP, newUdcChild, particolare, "creaUDC", string.Format("Creato nuovo UDC Anime EX, qta: {0} {1}", qta, noteTrim));
MagClass.magazzino.taSAO.insertQuery(adesso, codSogg, postazione_name, postazione_IP, newUdcChild, particolare, "creaUDC", string.Format("Creato nuovo UDC Sterrato, qta: {0} {1}", qta, noteTrim));
}
catch (Exception exc)
{
httpLog(string.Format("Errore creazione UDC anime mult: {0}", exc), tipoLog.EXCEPTION);
httpLog(string.Format("Errore creazione UDC Sterrato: {0}", exc), tipoLog.EXCEPTION);
}
// se ho cart liquidi genero (se non ci sono) cart trattamenti
// devo gestire associazione e consumo cartellini FUSI
if (newUdcChild != "")
{
string[] UDC_P;
// ASSOCIO tutti gli UDC consumati sia Parziali che Completi al nuovo UDC
if (udcSelP.Replace("#", "").Length > 1)
{
// associo
UDC_P = SteamWare.StringSplitter.CSplitter.Split(udcSelP, "#", false, 0, SteamWare.StringSplitter.ComparisonMethod.Text);
explAssociaUdc(newUdcChild, UDC_P);
}
if (udcSelC.Replace("#", "").Length > 1)
{
// associo
UDC_P = SteamWare.StringSplitter.CSplitter.Split(udcSelC, "#", false, 0, SteamWare.StringSplitter.ComparisonMethod.Text);
explAssociaUdc(newUdcChild, UDC_P);
// consumo gli UDC indicati come "C"
consumaUdc(UDC_P);
}
// sposto UDC appena creato in posizione default
/***************************************************************************************
* dopo che l'ho creato lo sposto da post anime ext a post anime int (NO UPDATE AS400...)
* IdxPosizioneAnimeExt --> IdxPosizioneAnime
* dopo che l'ho creato lo sposto
* !!! DEVO CALCOLARE LA CELLA !!! parto dal blocco calcolato da tab transizioni
***************************************************************************************/
int idxBloccoTo = StateMachine.SM.getIdxBloccoTo("UDC_ANIMA", memLayer.ML.confReadInt("IdxPosizioneAnimeExt"));
int idxBloccoTo = StateMachine.SM.getIdxBloccoTo(eventoUDC, memLayer.ML.confReadInt("IdxPosizioneSterrati"));
int idxCellaTo = 0;
try
{
@@ -583,8 +604,7 @@ namespace GMW.WebUserControls
adesso = DateTime.Now;
adesso = adesso.AddSeconds(1);
// registro creazione nuovo UDC
MagClass.magazzino.taSAO.insertQuery(adesso, codSogg, postazione_name, postazione_IP, newUdcChild, particolare, "spostaUDC", "Sposta UDC Anime EXT in Int");
MagClass.magazzino.taSAO.insertQuery(adesso, codSogg, postazione_name, postazione_IP, newUdcChild, particolare, "spostaUDC", "Sposta UDC Sterrato");
}
// ora stampo il nuovo cartellino!!!
MagClass.magazzino.stampaUdc(newUdcChild, postazione_printer, tipoCartellino.cartAnime, Request.UserHostName);
@@ -592,7 +612,7 @@ namespace GMW.WebUserControls
adesso = DateTime.Now;
adesso = adesso.AddSeconds(2);
// registro stampa nuovo UDC
MagClass.magazzino.taSAO.insertQuery(adesso, codSogg, postazione_name, postazione_IP, newUdcChild, particolare, "stampaUDC", "Stampato UDC Anime EXT");
MagClass.magazzino.taSAO.insertQuery(adesso, codSogg, postazione_name, postazione_IP, newUdcChild, particolare, "stampaUDC", "Stampato UDC Sterrato");
}
// resetto
doResetData();
@@ -610,6 +630,46 @@ namespace GMW.WebUserControls
}
}
/// <summary>
/// effettua il consumo di tutti gli UDC inviati come array di stringhe
/// </summary>
/// <param name="UDC_P"></param>
private void consumaUdc(string[] UDC_P)
{
if (UDC_P.Length > 0)
{
// ciclo
foreach (string udc_p in UDC_P)
{
// se UDC è NON vuoto ed esiste
if (udc_p != "" && MagClass.magazzino.checkUDC(barcodeIn))
{
// consumo UDC
MagClass.magazzino.scaricaUdcMpWip(udc_p, Request.UserHostName);
}
}
}
}
/// <summary>
/// esplode elenco UDC ed associa al nuovo UDC
/// </summary>
/// <param name="newUdcChild">UDC da associare come child</param>
/// <param name="UDC_P">vettorei di UDC da associare come parent</param>
private void explAssociaUdc(string newUdcChild, string[] UDC_P)
{
if (UDC_P.Length > 0)
{
// ciclo
foreach (string udc_p in UDC_P)
{
// se UDC è NON vuoto ed esiste
if (udc_p != "" && MagClass.magazzino.checkUDC(barcodeIn))
{
MagClass.magazzino.associaUdcParent(newUdcChild, udc_p);
}
}
}
}
/// <summary>
/// wrapper per log con salvataggio dell'IP del chiamante
/// </summary>
/// <param name="_testoPre"></param>
BIN
View File
Binary file not shown.