update installer a 385 con fix db & gestione odette varie
git-svn-id: https://keyhammer.ath.cx/svn/GMW/trunk@365 365432ac-a1b5-4ffd-bb28-6d3099d32164
This commit is contained in:
@@ -1396,6 +1396,12 @@ A:hover
|
||||
font-size: 10pt;
|
||||
color: Red;
|
||||
}
|
||||
.erroreMidYellow
|
||||
{
|
||||
font-weight: normal;
|
||||
font-size: 10pt;
|
||||
color: Yellow;
|
||||
}
|
||||
.erroreBig
|
||||
{
|
||||
font-weight: normal;
|
||||
|
||||
+1
-1
@@ -63,7 +63,7 @@
|
||||
<add key="appName" value="GMW" />
|
||||
<add key="SiteName" value="Ambivere"/>
|
||||
<add key="mainRev" value="1.0" />
|
||||
<add key="minRev" value="380"/>
|
||||
<add key="minRev" value="385"/>
|
||||
<add key="copyRight" value="SteamWare © 2010-2011" />
|
||||
<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" />
|
||||
|
||||
@@ -36,6 +36,6 @@
|
||||
<asp:Button runat="server" ID="btnDoCreate" OnClick="btnDoCreate_Click" ValidationGroup="genOdette" />
|
||||
</div>
|
||||
<div style="float: right;">
|
||||
<asp:Label ID="lblWarning" runat="server" Visible="false" CssClass="erroreMid" />
|
||||
<asp:Label ID="lblWarning" runat="server" Visible="false" CssClass="erroreMidYellow" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -37,6 +37,7 @@ namespace GMW.WebUserControls
|
||||
string RaggMag = txtRaggMag.Text.Trim();
|
||||
string GrpBolla = txtGrBolle.Text.Trim();
|
||||
string particolare = "";
|
||||
bool tuttoOk = false;
|
||||
try
|
||||
{
|
||||
particolare = MagClass.magazzino.taElencoListePrelievo.getByCodLista(CodLista)[0].Particolare;
|
||||
@@ -48,13 +49,21 @@ namespace GMW.WebUserControls
|
||||
if (Odette.mgr.checkCodBolla(RaggMag, GrpBolla, NumBolla, DatBolla, particolare))
|
||||
{
|
||||
// chiamo creazione etichette!
|
||||
Odette.mgr.creaOdetteByBollaPackList(CodLista, RaggMag, GrpBolla, NumBolla, DatBolla, particolare, ddlLingua.SelectedValue);
|
||||
lblWarning.Visible = false;
|
||||
lblWarning.Text = "";
|
||||
// sollevo evento new!
|
||||
if (eh_nuovoValore != null)
|
||||
tuttoOk = Odette.mgr.creaOdetteByBollaPackList(CodLista, RaggMag, GrpBolla, NumBolla, DatBolla, particolare, ddlLingua.SelectedValue);
|
||||
if (!tuttoOk)
|
||||
{
|
||||
eh_nuovoValore(this, new EventArgs());
|
||||
lblWarning.Visible = true;
|
||||
lblWarning.Text = memLayer.ML.StringSessionObj("errCreazOdette");
|
||||
}
|
||||
else
|
||||
{
|
||||
lblWarning.Visible = false;
|
||||
lblWarning.Text = "";
|
||||
// sollevo evento new!
|
||||
if (eh_nuovoValore != null)
|
||||
{
|
||||
eh_nuovoValore(this, new EventArgs());
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.4952
|
||||
// Runtime Version:2.0.50727.4959
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
|
||||
@@ -374,25 +374,7 @@ namespace GMW.WebUserControls
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// determina se ci siano odette x la lista di prelievo
|
||||
/// </summary>
|
||||
/// <param name="codLista"></param>
|
||||
/// <returns></returns>
|
||||
public bool hasOdette(string codLista)
|
||||
{
|
||||
bool answ = false;
|
||||
try
|
||||
{
|
||||
DS_magazzino.ElencoListePrelievoRow riga = MagClass.magazzino.taElencoListePrelievo.getByCodLista(codLista)[0];
|
||||
DS_Odette.stp_OdetteStatoCreateRow rigaCreate = Odette.mgr.taOdCreate.GetData(codLista)[0];
|
||||
answ = rigaCreate.OdetteCreate > 0;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// gestione cambio selezione valore
|
||||
/// </summary>
|
||||
@@ -405,11 +387,7 @@ namespace GMW.WebUserControls
|
||||
mod_bolle4odette1.Visible = CreaOdetteEnabled(codLista);
|
||||
// salvo in session il valore selezionato...
|
||||
memLayer.ML.setSessionVal(string.Format("{0}_sel", _idxGridView), grView.SelectedValue, true);
|
||||
// aggiorno righe SE c'è almeno 1 odette...
|
||||
if (hasOdette(codLista))
|
||||
{
|
||||
aggiornaElencoRighe();
|
||||
}
|
||||
aggiornaElencoRighe();
|
||||
}
|
||||
/// <summary>
|
||||
/// aggiorna visualizzazione
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
Inherits="GMW.WebUserControls.mod_viewOdette" %>
|
||||
<%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
|
||||
<%@ Register Src="mod_selettore_ajax.ascx" TagName="mod_selettore_ajax" TagPrefix="uc1" %>
|
||||
<asp:Button runat="server" ID="btnRistampaOdette" Text="PrintAll" OnClick="btnRistampaOdette_Click" />
|
||||
<asp:Button runat="server" ID="btnRistampaOdette" OnClick="btnRistampaOdette_Click" />
|
||||
<asp:GridView ID="grView" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False"
|
||||
OnSelectedIndexChanged="grView_SelectedIndexChanged" OnDataBound="grView_DataBound"
|
||||
DataKeyNames="CampoUDC" DataSourceID="ods" OnPageIndexChanged="grView_PageIndexChanged"
|
||||
@@ -16,6 +16,9 @@
|
||||
<PagerStyle CssClass="ctrHeaderPagerRed" ForeColor="White" HorizontalAlign="Center" />
|
||||
<HeaderStyle CssClass="ctrHeaderPagerRed" ForeColor="White" Font-Bold="True" />
|
||||
<EmptyDataRowStyle CssClass="ctrRowStyleRed" />
|
||||
<EmptyDataTemplate>
|
||||
<asp:Label runat="server" ID="lblNoRecord" Text='<%# traduci("noRecord") %>' />
|
||||
</EmptyDataTemplate>
|
||||
<Columns>
|
||||
<asp:TemplateField ShowHeader="False">
|
||||
<HeaderTemplate>
|
||||
@@ -30,11 +33,9 @@
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField DataField="Campo15_2" HeaderText="#" SortExpression="Campo15_2" ReadOnly="true" />
|
||||
<asp:TemplateField HeaderText="UDC" SortExpression="CampoUDC">
|
||||
<ItemTemplate>
|
||||
<asp:Label ID="Label1" runat="server" Text='<%# Eval("CampoUDC") %>' />
|
||||
</ItemTemplate>
|
||||
</asp:TemplateField>
|
||||
<asp:BoundField DataField="CampoUDC" HeaderText="UDC" SortExpression="CampoUDC" ReadOnly="True" />
|
||||
<asp:BoundField DataField="Campo3_2" HeaderText="NumBolla" SortExpression="Campo3_2"
|
||||
ReadOnly="True" />
|
||||
<asp:BoundField DataField="Campo16_2" HeaderText="Batch" SortExpression="Campo16_2"
|
||||
ReadOnly="True" />
|
||||
<asp:BoundField DataField="Campo9_2" HeaderText="Qta" SortExpression="Campo9_2" ReadOnly="true" />
|
||||
|
||||
@@ -87,7 +87,9 @@ namespace GMW.WebUserControls
|
||||
|
||||
#endregion
|
||||
|
||||
#region public
|
||||
#endregion
|
||||
|
||||
#region area codice variabile
|
||||
|
||||
/// <summary>
|
||||
/// effettua update del modulo
|
||||
@@ -97,13 +99,6 @@ namespace GMW.WebUserControls
|
||||
resetSelezione();
|
||||
}
|
||||
|
||||
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
#region area codice variabile
|
||||
|
||||
/// <summary>
|
||||
/// carico le tabelle
|
||||
/// </summary>
|
||||
@@ -235,20 +230,6 @@ namespace GMW.WebUserControls
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// gestione evento richeista nuovo valore (mostra footer, ...)
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
/// <param name="e"></param>
|
||||
protected void btnNew_Click(object sender, EventArgs e)
|
||||
{
|
||||
GMW_data.MagClass.magazzino.addUdcPerLista(memLayer.ML.StringSessionObj("CodLista_sel"));
|
||||
// sollevo evento nuovo valore...
|
||||
if (eh_nuovoValore != null)
|
||||
{
|
||||
eh_nuovoValore(this, new EventArgs());
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
/// post update...
|
||||
/// </summary>
|
||||
/// <param name="sender"></param>
|
||||
@@ -329,7 +310,7 @@ namespace GMW.WebUserControls
|
||||
{
|
||||
get
|
||||
{
|
||||
return (intStatoLista == ((int)statoLista.scaricata) && codTipoLista == "04-OdetSP"); // !!! HARD-CODED tipo lista;
|
||||
return Odette.mgr.listaHasOdette(memLayer.ML.StringSessionObj("CodListaOd_sel"));
|
||||
}
|
||||
}
|
||||
/// <summary>
|
||||
@@ -357,7 +338,7 @@ namespace GMW.WebUserControls
|
||||
/// <param name="e"></param>
|
||||
protected void btnRistampaOdette_Click(object sender, EventArgs e)
|
||||
{
|
||||
Odette.mgr.stampaOdettePackingList(memLayer.ML.StringSessionObj("CodLista_sel"));
|
||||
Odette.mgr.stampaOdettePackingList(memLayer.ML.StringSessionObj("CodListaOd_sel"));
|
||||
}
|
||||
|
||||
|
||||
|
||||
+1
-1
@@ -1,7 +1,7 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:2.0.50727.4952
|
||||
// Runtime Version:2.0.50727.4959
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
|
||||
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
@@ -7,7 +7,7 @@
|
||||
<add key="appName" value="GMW"/>
|
||||
<add key="SiteName" value="Ambivere"/>
|
||||
<add key="mainRev" value="1.0"/>
|
||||
<add key="minRev" value="380"/>
|
||||
<add key="minRev" value="385"/>
|
||||
<add key="copyRight" value="SteamWare © 2010-2011"/>
|
||||
<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"/>
|
||||
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -195,6 +195,7 @@
|
||||
<Generator>SettingsSingleFileGenerator</Generator>
|
||||
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
|
||||
</None>
|
||||
<None Include="SqlScripts\GMW_00385.sql" />
|
||||
<None Include="SqlScripts\GMW_00370.sql" />
|
||||
<None Include="SqlScripts\GMW_00365.sql" />
|
||||
<None Include="SqlScripts\GMW_00361.sql" />
|
||||
|
||||
+26
-4
@@ -302,10 +302,11 @@ namespace GMW_data
|
||||
/// <param name="dataBolla">data bolla formato numerico YYYYMMDD</param>
|
||||
/// <param name="particolare">codice particolare</param>
|
||||
/// <param name="Lingua">IT/EN/...</param>
|
||||
/// <returns></returns>
|
||||
/// <returns>in caso di errore e ritorno false, salva in sessione il messaggio di errore relativo in errCreazOdette</returns>
|
||||
public bool creaOdetteByBollaPackList(string CodLista, string RaggMag, string GrpBolla, decimal numBolla, decimal dataBolla, string particolare, string lingua)
|
||||
{
|
||||
bool answ = false;
|
||||
string errCreazOdette = "";
|
||||
int totUdc = 0;
|
||||
int udcOk = 0;
|
||||
DS_magazzino.RigheListePrelievoDataTable ElencoUdc = new DS_magazzino.RigheListePrelievoDataTable();
|
||||
@@ -317,7 +318,8 @@ namespace GMW_data
|
||||
}
|
||||
catch
|
||||
{
|
||||
logger.lg.scriviLog(string.Format("Errore: non ci sono UDC da creare per la PackList {0}", CodLista), tipoLog.ERROR);
|
||||
errCreazOdette = string.Format("Errore: non ci sono UDC da creare per la PackList {0}", CodLista);
|
||||
logger.lg.scriviLog(errCreazOdette, tipoLog.ERROR);
|
||||
}
|
||||
// in primis comunque verifico che la bolla ci sia altrimenti non procedo (anche se avrebbe già dovuto controllare...)
|
||||
if (checkCodBolla(RaggMag, GrpBolla, numBolla, dataBolla, particolare) && totUdc > 0)
|
||||
@@ -340,18 +342,21 @@ namespace GMW_data
|
||||
}
|
||||
else
|
||||
{
|
||||
logger.lg.scriviLog(string.Format("Errore assegnazioen bolle/odette, il num di colli non corrisponde: num bolla {0} del {1}, lista prelievo {2}", numBolla, dataBolla, CodLista), tipoLog.ERROR);
|
||||
errCreazOdette = string.Format("Errore assegnazione bolle/odette, il num di colli non corrisponde: num bolla {0} del {1}, lista prelievo {2}", numBolla, dataBolla, CodLista);
|
||||
logger.lg.scriviLog(errCreazOdette, tipoLog.ERROR);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
logger.lg.scriviLog(string.Format("Tentativo di generazione etichette odette da bolla inesistente: codice {0} del {1}", numBolla, dataBolla), tipoLog.ERROR);
|
||||
errCreazOdette = string.Format("Tentativo di generazione etichette odette da bolla inesistente: codice {0} del {1}", numBolla, dataBolla);
|
||||
logger.lg.scriviLog(errCreazOdette, tipoLog.ERROR);
|
||||
}
|
||||
// controllo se tutte le etichette sono sstate create
|
||||
if (totUdc == udcOk)
|
||||
{
|
||||
answ = true;
|
||||
}
|
||||
memLayer.ML.setSessionVal("errCreazOdette", errCreazOdette);
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
@@ -408,6 +413,23 @@ namespace GMW_data
|
||||
}
|
||||
return answ;
|
||||
}
|
||||
/// <summary>
|
||||
/// determina se ci siano odette x la lista di prelievo
|
||||
/// </summary>
|
||||
/// <param name="codLista"></param>
|
||||
/// <returns></returns>
|
||||
public bool listaHasOdette(string codLista)
|
||||
{
|
||||
bool answ = false;
|
||||
try
|
||||
{
|
||||
DS_Odette.stp_OdetteStatoCreateRow rigaCreate = taOdCreate.GetData(codLista)[0];
|
||||
answ = rigaCreate.OdetteCreate > 0;
|
||||
}
|
||||
catch
|
||||
{ }
|
||||
return answ;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
|
||||
@@ -0,0 +1,292 @@
|
||||
|
||||
|
||||
set xact_abort on
|
||||
go
|
||||
|
||||
begin transaction
|
||||
go
|
||||
|
||||
set ANSI_NULLS on
|
||||
go
|
||||
|
||||
/*****************************************
|
||||
* STORED stp_DtMtrx_import
|
||||
*
|
||||
* Recupera dati Gitterbox/DataMatrix partendo leggendo dati successivi all'ultimo import e importanto in tab GMW
|
||||
*
|
||||
* Steamware, S.E.L.
|
||||
* mod: 2011.04.29
|
||||
*
|
||||
****************************************/
|
||||
ALTER PROCEDURE dbo.stp_DtMtrx_import
|
||||
(
|
||||
@CodCS VARCHAR(2),
|
||||
@IdxPosizione INT
|
||||
)
|
||||
AS
|
||||
|
||||
------------------------------------------------------------------------------------------------------
|
||||
-- leggo data ultimo import (o creo record...)
|
||||
------------------------------------------------------------------------------------------------------
|
||||
DECLARE @nomeFlusso AS NVARCHAR(50)
|
||||
DECLARE @lastImport AS DATETIME
|
||||
DECLARE @trovati AS INT
|
||||
|
||||
-- imposto valori
|
||||
SET @nomeFlusso = 'DataMatrix'
|
||||
SET @lastImport = DATEADD(yy,-10,GETDATE()) -- inizializzo a -10 anni ...
|
||||
-- sistemo tab registrazione import...
|
||||
BEGIN TRAN
|
||||
-- cerco nella tab log ultima data caricamento
|
||||
SET @trovati = (
|
||||
SELECT COUNT(*)
|
||||
FROM logImportFlussi
|
||||
WHERE NomeFlusso = @nomeFlusso
|
||||
)
|
||||
-- controllo se record c'è...
|
||||
IF(@trovati > 0)
|
||||
BEGIN
|
||||
SET @lastImport = ( SELECT LastImport FROM LogImportFlussi WHERE NomeFlusso = @nomeFlusso )
|
||||
END
|
||||
ELSE
|
||||
BEGIN
|
||||
-- lo creo!
|
||||
INSERT INTO LogImportFlussi(NomeFlusso, LastImport)
|
||||
VALUES (@nomeFlusso, @lastImport)
|
||||
END
|
||||
COMMIT TRAN
|
||||
------------------------------------------------------------------------------------------------------
|
||||
|
||||
|
||||
------------------------------------------------------------------------------------------------------
|
||||
-- ora gestisco il vero caricamento...
|
||||
------------------------------------------------------------------------------------------------------
|
||||
-- filtro e salvo in tabella... gitterbox validi SOLO se iniziano per "U"
|
||||
DECLARE @newData TABLE
|
||||
(
|
||||
CodDataMatrix numeric(23, 0) ,
|
||||
CodGitterbox char(10) ,
|
||||
NumConchiglia int ,
|
||||
NumDisegno numeric(7, 0) ,
|
||||
EsponenteDisegno tinyint ,
|
||||
CodDifettoScarto varchar(5) ,
|
||||
InizioPreparazione smalldatetime ,
|
||||
FinePreparazione smalldatetime ,
|
||||
InizioIniezione smalldatetime ,
|
||||
FineIniezione smalldatetime ,
|
||||
MagDestinazione varchar(2) ,
|
||||
DataImport smalldatetime
|
||||
)
|
||||
INSERT INTO @newData
|
||||
SELECT CodDataMatrix, LTRIM(RTRIM(CodGitterbox)), NumConchiglia, NumDisegno, EsponenteDisegno, CodDifettoScarto, InizioPreparazione, FinePreparazione, InizioIniezione, FineIniezione, MagDestinazione, DataImport
|
||||
|
||||
FROM v_trasfDataMatrix
|
||||
WHERE DataImport > @lastImport AND LEFT(CodGitterbox, 1) = 'U'
|
||||
|
||||
|
||||
|
||||
-- creo UDC da gitterbox nuovi
|
||||
INSERT INTO ElencoCartellini(UDC, Particolare, DataFus)
|
||||
SELECT DISTINCT nd.CodGitterbox, null, MIN( InizioIniezione)
|
||||
FROM @newData nd LEFT OUTER JOIN ElencoCartellini ec ON nd.CodGitterbox COLLATE SQL_Latin1_General_CP1_CI_AS = ec.UDC
|
||||
WHERE ec.UDC IS NULL
|
||||
GROUP BY nd.CodGitterbox
|
||||
|
||||
DECLARE @udc NVARCHAR(50)
|
||||
DECLARE @Particolare NVARCHAR(50)
|
||||
DECLARE @NumDisegno NVARCHAR(50)
|
||||
DECLARE @EsponenteDisegno NVARCHAR(50)
|
||||
DECLARE @Qta INT
|
||||
DECLARE @IdxCellaTo INT
|
||||
DECLARE @adesso DATETIME
|
||||
DECLARE @posTrovate INT
|
||||
|
||||
SET @adesso = GETDATE()
|
||||
SET @posTrovate = 0
|
||||
|
||||
DECLARE cursoreImport CURSOR FOR
|
||||
SELECT nd.CodGitterbox, tp.Particolare, tp.NumDisegno, tp.EsponenteDisegno, dbo.getNumDatamatrix(nd.CodGitterbox) FROM @newData nd
|
||||
INNER JOIN v_transcParticolari tp ON nd.NumDisegno = tp.NumDisegno AND nd.EsponenteDisegno = tp.EsponenteDisegno
|
||||
|
||||
OPEN cursoreImport
|
||||
FETCH NEXT FROM cursoreImport INTO @udc, @Particolare, @NumDisegno, @EsponenteDisegno, @Qta
|
||||
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
|
||||
-- aggiorno gli UDC gitterbox esistenti per quantità tra quelli dei dati da importare...
|
||||
UPDATE ElencoCartellini
|
||||
SET CodCS = @CodCS,
|
||||
IdxPosizione = @IdxPosizione,
|
||||
CreateDate = @adesso,
|
||||
Particolare = @Particolare,
|
||||
DisegnoGrezzo = @NumDisegno,
|
||||
Esponente = @EsponenteDisegno,
|
||||
Qta = @Qta,
|
||||
Figura = '',
|
||||
CodImballo ='',
|
||||
Tara = 0,
|
||||
PesoTot = 0,
|
||||
PesoCad = 0,
|
||||
CodStato = 'Fin',
|
||||
NumCont = 1,
|
||||
TurnoFus = 0,
|
||||
ModDate = @adesso
|
||||
WHERE UDC = @udc
|
||||
|
||||
-- indico cella UDC corrente... calcolo la prima cella della nuova posizione...
|
||||
SET @IdxCellaTo = (
|
||||
SELECT TOP 1 IdxCella FROM Celle
|
||||
WHERE IdxBlocco = (
|
||||
SELECT IdxBlocco FROM Blocchi
|
||||
WHERE CodMag=CAST(@IdxPosizione AS NVARCHAR(50)))
|
||||
)
|
||||
-- controllo se posizione non ancora creata...
|
||||
SET @posTrovate = ( SELECT COUNT(*) FROM PosizioneUdcCorrente WHERE UDC = @udc )
|
||||
IF( @posTrovate =0)
|
||||
BEGIN
|
||||
INSERT INTO PosizioneUdcCorrente
|
||||
VALUES (@udc, @IdxCellaTo, @CodCS, @adesso)
|
||||
END
|
||||
|
||||
FETCH NEXT FROM cursoreImport INTO @udc, @Particolare, @NumDisegno, @EsponenteDisegno, @Qta
|
||||
|
||||
|
||||
END
|
||||
|
||||
CLOSE cursoreImport
|
||||
DEALLOCATE cursoreImport
|
||||
|
||||
-- inserisco datamatrix da ultimo import
|
||||
INSERT INTO ElencoDataMatrix
|
||||
SELECT * FROM @newData
|
||||
|
||||
-- aggiorno dati ultimo caricamento
|
||||
SET @lastImport = ( SELECT ISNULL(MAX(DataImport),@lastImport) FROM @newData )
|
||||
UPDATE LogImportFlussi
|
||||
SET LastImport = @lastImport
|
||||
WHERE NomeFlusso = @nomeFlusso
|
||||
|
||||
|
||||
RETURN
|
||||
go
|
||||
|
||||
commit
|
||||
go
|
||||
|
||||
-- =============================================
|
||||
-- Author: Samuele E. Locatelli
|
||||
-- Create date: 2009-09-20
|
||||
-- Description: trigger x inserimento movimenti
|
||||
-- nella coda di trasferimento batch
|
||||
-- verso AS400 x UPDATE UDC
|
||||
-- =============================================
|
||||
ALTER TRIGGER trg_updMovAS
|
||||
ON ElencoCartellini
|
||||
AFTER UPDATE
|
||||
AS
|
||||
BEGIN
|
||||
|
||||
-- setup variabili e verbosità
|
||||
SET NOCOUNT ON;
|
||||
DECLARE @partOk AS BIT
|
||||
DECLARE @currUdc AS NVARCHAR(50)
|
||||
DECLARE @IdxPosFrom AS INT
|
||||
DECLARE @IdxPosTo AS INT
|
||||
DECLARE @magFrom AS NVARCHAR(50)
|
||||
DECLARE @magTo AS NVARCHAR(50)
|
||||
DECLARE @qta AS DECIMAL(10,2)
|
||||
DECLARE @qtaOld AS DECIMAL(10,2)
|
||||
DECLARE @IdxPosizioneComp INT
|
||||
DECLARE @toAs400 BIT
|
||||
|
||||
DECLARE cursore CURSOR FOR
|
||||
SELECT CASE WHEN ISNULL(Particolare,'n.d.') = 'n.d.' THEN 0 ELSE 1 END, UDC FROM inserted
|
||||
|
||||
OPEN cursore
|
||||
FETCH NEXT FROM cursore INTO @partOk, @currUdc
|
||||
|
||||
WHILE @@FETCH_STATUS = 0
|
||||
BEGIN
|
||||
-- controllo che CI SIA il particolare (altrimenti non eseguo)
|
||||
IF(@partOk = 1)
|
||||
SET @qta = (SELECT Qta FROM inserted WHERE UDC = @currUdc)
|
||||
SET @qtaOld = (SELECT Qta FROM deleted WHERE UDC = @currUdc)
|
||||
-- se c'è stata modifica di quantità inizio a rettificare quella
|
||||
IF ((UPDATE(Qta)) AND(@qta <> @qtaOld))
|
||||
BEGIN
|
||||
-- registro il VERO movimento
|
||||
INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, UDC, CodMagAS, Quantita)
|
||||
(
|
||||
SELECT GETDATE(), 'UDC_MOD', Particolare, UDC, CAST(IdxPosizione AS NVARCHAR(50)), @qta - Qta
|
||||
FROM deleted
|
||||
WHERE UDC = @currUdc AND CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1)
|
||||
)
|
||||
-- controllo: se il magazzino di destinazione richiede una compensazione registro il 2° movimento di compensazione
|
||||
SET @IdxPosFrom = (SELECT IdxPosizione FROM deleted)
|
||||
SET @IdxPosTo = (SELECT IdxPosizione FROM inserted)
|
||||
-- calcolo il mag di compensazione
|
||||
SET @IdxPosizioneComp = (SELECT CAST(ISNULL(CodMagAS_compensaz,0) AS INT) FROM AS400_MagCont WHERE (Attivo = 1) AND (CodMagAS = CAST(@IdxPosFrom AS NVARCHAR(50))))
|
||||
IF (@IdxPosizioneComp > 0)
|
||||
BEGIN
|
||||
INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, UDC, CodMagAS, Quantita)
|
||||
(
|
||||
SELECT GETDATE(), 'UDC_COMP', Particolare, UDC, CAST(@IdxPosizioneComp AS NVARCHAR(50)), Qta - @qta
|
||||
FROM deleted
|
||||
WHERE UDC = @currUdc AND CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1)
|
||||
)
|
||||
END
|
||||
END
|
||||
|
||||
-- Prendo le posizioni di magazzino precedente e nuova
|
||||
SET @IdxPosFrom = (SELECT IdxPosizione FROM deleted WHERE UDC = @currUdc)
|
||||
SET @IdxPosTo = (SELECT IdxPosizione FROM inserted WHERE UDC = @currUdc)
|
||||
|
||||
-- controllo se devo fare rettifiche quantità...
|
||||
SET @toAs400 = (
|
||||
SELECT TOP 1 ISNULL(toAs400, 0) as valore
|
||||
FROM TabTranPosizEventi
|
||||
WHERE IdxPosizione = @IdxPosFrom AND IdxPosizioneTo = @IdxPosTo
|
||||
)
|
||||
|
||||
-- controllo poi se sia cambiato il magazzino logico (IdxPosizione) e si richieda update verso AS400, altrimenti non lo inserisco
|
||||
IF ((UPDATE(IdxPosizione)) AND @toAs400 = 1)
|
||||
BEGIN
|
||||
-- Le trasformo nelle equivalenti stringhe del codMag SE attive
|
||||
SET @magFrom = (SELECT ISNULL(CodMagAS,'---') FROM AS400_MagCont WHERE Attivo = 1 AND CodMagAs = CAST(@IdxPosFrom AS NVARCHAR(50)))
|
||||
SET @magTo = (SELECT ISNULL(CodMagAS,'---') FROM AS400_MagCont WHERE Attivo = 1 AND CodMagAs = CAST(@IdxPosTo AS NVARCHAR(50)))
|
||||
|
||||
-- inserisco un movimento di deposito verso mag nuovo (SE attivo)
|
||||
IF (@magFrom <> '---')
|
||||
BEGIN
|
||||
INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, UDC, CodMagAS, Quantita)
|
||||
(
|
||||
SELECT GETDATE(), 'UDC_MOV', Particolare, UDC, CAST(IdxPosizione AS NVARCHAR(50)), -@qta
|
||||
FROM deleted
|
||||
WHERE UDC = @currUdc AND CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1)
|
||||
)
|
||||
END
|
||||
-- inserisco un movimento di prelievo verso mag vecchio (SE attivo)
|
||||
IF (@magTo <> '---')
|
||||
BEGIN
|
||||
INSERT INTO AS400_BatchMovimenti(DataIns, CodEvento, Particolare, UDC, CodMagAS, Quantita)
|
||||
(
|
||||
SELECT GETDATE(), 'UDC_MOV', Particolare, UDC, CAST(IdxPosizione AS NVARCHAR(50)), @qta
|
||||
FROM inserted
|
||||
WHERE UDC = @currUdc AND CAST(IdxPosizione AS NVARCHAR(50)) IN (SELECT CodMagAS FROM AS400_MagCont WHERE Attivo = 1)
|
||||
)
|
||||
END
|
||||
END
|
||||
FETCH NEXT FROM cursore INTO @partOk, @currUdc
|
||||
END
|
||||
|
||||
CLOSE cursore
|
||||
DEALLOCATE cursore
|
||||
|
||||
END
|
||||
|
||||
|
||||
|
||||
-- registro versione...
|
||||
INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(385, GETDATE())
|
||||
GO
|
||||
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -349,14 +349,14 @@
|
||||
{
|
||||
"Name" = "8:Microsoft Visual Studio"
|
||||
"ProductName" = "8:GMW"
|
||||
"ProductCode" = "8:{5949A25E-AD68-482E-A526-91D2F43F4C17}"
|
||||
"PackageCode" = "8:{29ACCCA4-E39B-431C-9E86-19A003F9212C}"
|
||||
"ProductCode" = "8:{9D42A66B-BE4D-45F0-92EF-247DA3C93CC9}"
|
||||
"PackageCode" = "8:{E0D60204-B8B0-420C-8574-0A60F68BF041}"
|
||||
"UpgradeCode" = "8:{C9BC0732-DC92-4336-BAC9-A05A5D2A97C0}"
|
||||
"RestartWWWService" = "11:TRUE"
|
||||
"RemovePreviousVersions" = "11:FALSE"
|
||||
"DetectNewerInstalledVersion" = "11:TRUE"
|
||||
"InstallAllUsers" = "11:FALSE"
|
||||
"ProductVersion" = "8:1.0.380"
|
||||
"ProductVersion" = "8:1.0.385"
|
||||
"Manufacturer" = "8:SteamWare s.r.l."
|
||||
"ARPHELPTELEPHONE" = "8:+39-035460560"
|
||||
"ARPHELPLINK" = "8:http://www.steamware.net"
|
||||
|
||||
Binary file not shown.
@@ -62,6 +62,19 @@
|
||||
"PrerequisitesLocation" = "2:1"
|
||||
"Url" = "8:GMW_Test"
|
||||
"ComponentsUrl" = "8:"
|
||||
"Items"
|
||||
{
|
||||
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.3.5.SP1"
|
||||
{
|
||||
"Name" = "8:.NET Framework 3.5 SP1"
|
||||
"ProductCode" = "8:Microsoft.Net.Framework.3.5.SP1"
|
||||
}
|
||||
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.3.1"
|
||||
{
|
||||
"Name" = "8:Windows Installer 3.1"
|
||||
"ProductCode" = "8:Microsoft.Windows.Installer.3.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"Release"
|
||||
@@ -79,6 +92,27 @@
|
||||
"PrivateKeyFile" = "8:"
|
||||
"TimeStampServer" = "8:"
|
||||
"InstallerBootstrapper" = "3:2"
|
||||
"BootstrapperCfg:{63ACBE69-63AA-4F98-B2B6-99F9E24495F2}"
|
||||
{
|
||||
"Enabled" = "11:TRUE"
|
||||
"PromptEnabled" = "11:TRUE"
|
||||
"PrerequisitesLocation" = "2:1"
|
||||
"Url" = "8:"
|
||||
"ComponentsUrl" = "8:"
|
||||
"Items"
|
||||
{
|
||||
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Net.Framework.3.5.SP1"
|
||||
{
|
||||
"Name" = "8:.NET Framework 3.5 SP1"
|
||||
"ProductCode" = "8:Microsoft.Net.Framework.3.5.SP1"
|
||||
}
|
||||
"{EDC2488A-8267-493A-A98E-7D9C3B36CDF3}:Microsoft.Windows.Installer.3.1"
|
||||
{
|
||||
"Name" = "8:Windows Installer 3.1"
|
||||
"ProductCode" = "8:Microsoft.Windows.Installer.3.1"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
"Deployable"
|
||||
@@ -267,14 +301,14 @@
|
||||
{
|
||||
"Name" = "8:Microsoft Visual Studio"
|
||||
"ProductName" = "8:GMW_test"
|
||||
"ProductCode" = "8:{CC221957-50EF-47DB-B366-A2964A918C71}"
|
||||
"PackageCode" = "8:{DB7B7C03-68A5-404D-8608-F02E4F015A13}"
|
||||
"ProductCode" = "8:{A388E000-1250-44C2-89C0-D53D68D6C423}"
|
||||
"PackageCode" = "8:{383F90BA-A3D7-4CF8-9458-FC77FFFB98A1}"
|
||||
"UpgradeCode" = "8:{6FD64E39-D93B-4ADA-ADF3-303A1BCA49C2}"
|
||||
"RestartWWWService" = "11:TRUE"
|
||||
"RemovePreviousVersions" = "11:TRUE"
|
||||
"DetectNewerInstalledVersion" = "11:TRUE"
|
||||
"InstallAllUsers" = "11:FALSE"
|
||||
"ProductVersion" = "8:1.0.380"
|
||||
"ProductVersion" = "8:1.0.385"
|
||||
"Manufacturer" = "8:SteamWare s.r.l."
|
||||
"ARPHELPTELEPHONE" = "8:+39-035460560"
|
||||
"ARPHELPLINK" = "8:http://www.steamware.net"
|
||||
|
||||
Binary file not shown.
Reference in New Issue
Block a user