306 lines
8.7 KiB
Transact-SQL
306 lines
8.7 KiB
Transact-SQL
set xact_abort on
|
|
go
|
|
|
|
begin transaction
|
|
go
|
|
|
|
alter table ElencoListePrelievo add
|
|
DestinatarioDescrizione nvarchar(50)
|
|
go
|
|
|
|
set ANSI_NULLS on
|
|
go
|
|
|
|
/***************************************
|
|
* STORED stp_creaListaPrelievo
|
|
*
|
|
* crea un nuovo record nella ElencoListePrelievo e restituisce il codice ID appena creato
|
|
*
|
|
* Steamware, S.E.L. 8 (FROM Stintino)
|
|
* mod: 2010.07.30
|
|
*
|
|
************************************/
|
|
alter PROCEDURE stp_creaListaPrelievo
|
|
(
|
|
@Anno NVARCHAR(2),
|
|
@Mese NVARCHAR(2),
|
|
@CodTipoLista NVARCHAR(10),
|
|
@CodCS NCHAR(2),
|
|
@CodCliente NVARCHAR(6),
|
|
@RagSociale NVARCHAR(35),
|
|
@CodSoggetto NCHAR(17),
|
|
@Particolare NVARCHAR(15),
|
|
@DescParticolare NVARCHAR(30),
|
|
@DisegnoGrezzo NVARCHAR(30),
|
|
@Esponente NVARCHAR(6),
|
|
@Figura NVARCHAR(4),
|
|
@CodImballo NVARCHAR(15),
|
|
@QtaTot DECIMAL(10,2),
|
|
@Destinatario NVARCHAR(50),
|
|
@DestinatarioDescrizione NVARCHAR(50)
|
|
)
|
|
AS
|
|
|
|
-- Dichiarazioni iniziali
|
|
DECLARE @CodLista AS NVARCHAR(12)
|
|
DECLARE @numLista AS INT
|
|
DECLARE @temp AS INT
|
|
DECLARE @ora AS DATETIME
|
|
|
|
------------------------------------------------------------------------------------------------------
|
|
-- codice lista di prelievo KAAMM00000 - K = start char, AA = anno, MM = mese, 00000 = progressivo
|
|
------------------------------------------------------------------------------------------------------
|
|
-- controllo se ci sia già una lista di prelievo per company / flusso anno
|
|
BEGIN TRAN
|
|
-- cerco nella tab contatori liste prelievo l'ultimo valido
|
|
SET @numLista = (
|
|
SELECT COUNT(*)
|
|
FROM ContatoriListePrelievo
|
|
WHERE CodCS = @CodCS
|
|
AND Anno = @Anno
|
|
AND Mese = @Mese
|
|
)
|
|
-- controllo se record c'è...
|
|
IF(@numLista > 0)
|
|
BEGIN
|
|
-- se c'è incremento di 1 in tab
|
|
UPDATE ContatoriListePrelievo
|
|
SET LastIdx = LastIdx + 1
|
|
WHERE CodCS = @CodCS
|
|
AND Anno = @Anno
|
|
AND Mese = @Mese
|
|
|
|
END
|
|
ELSE
|
|
BEGIN
|
|
-- lo creo!
|
|
INSERT INTO ContatoriListePrelievo(CodCS, Anno, Mese, LastIdx)
|
|
VALUES (@CodCS, @Anno, @Mese, 1)
|
|
END
|
|
-- aggiorno numero lista prelievo
|
|
SET @numLista = (
|
|
SELECT LastIdx
|
|
FROM ContatoriListePrelievo
|
|
WHERE CodCS = @CodCS
|
|
AND Anno = @Anno
|
|
AND Mese = @Mese
|
|
|
|
)
|
|
COMMIT TRAN
|
|
------------------------------------------------------------------------------------------------------
|
|
|
|
BEGIN TRAN
|
|
|
|
------------------------------------------------------------------------------------------------------
|
|
-- Ciclo principale x inserimento nuovo record
|
|
------------------------------------------------------------------------------------------------------
|
|
-- ottengo il nuovo codice lista di prelievo completo
|
|
SET @CodLista = 'K' + @CodCS + @Anno + dbo.f_padLeft(CAST(@Mese AS NVARCHAR(2)), 2, '0') + + dbo.f_padLeft(CAST(@numLista AS NVARCHAR(5)), 5, '0')
|
|
|
|
INSERT INTO ElencoListePrelievo
|
|
(CodLista, CodTipoLista, CodCS, DataCreaz, CodCliente, RagSociale, CodSoggetto, Particolare, DescParticolare, DisegnoGrezzo, Esponente, Figura, CodImballo, QtaTot, CodStatoLista, Destinatario, DestinatarioDescrizione)
|
|
VALUES (@CodLista, @CodTipoLista, @CodCS, GETDATE(), @CodCliente, @RagSociale, @CodSoggetto, @Particolare, @DescParticolare, @DisegnoGrezzo, @Esponente,@Figura, @CodImballo, @QtaTot, 0, @Destinatario, @DestinatarioDescrizione)
|
|
|
|
COMMIT TRAN
|
|
|
|
SELECT * FROM V_elencoListePrelievo WHERE CodLista = @CodLista;
|
|
|
|
RETURN
|
|
go
|
|
|
|
alter VIEW V_elencoListePrelievo
|
|
AS
|
|
SELECT TOP (100) PERCENT dbo.ElencoListePrelievo.CodLista, dbo.ElencoListePrelievo.CodTipoLista, dbo.ElencoListePrelievo.CodCS, dbo.ElencoListePrelievo.DataCreaz,
|
|
dbo.ElencoListePrelievo.CodCliente, dbo.ElencoListePrelievo.RagSociale, dbo.ElencoListePrelievo.CodSoggetto, dbo.ElencoListePrelievo.Particolare,
|
|
dbo.ElencoListePrelievo.DescParticolare, dbo.ElencoListePrelievo.DisegnoGrezzo, dbo.ElencoListePrelievo.Esponente, dbo.ElencoListePrelievo.Figura,
|
|
dbo.ElencoListePrelievo.CodImballo, dbo.ElencoListePrelievo.QtaTot, dbo.ElencoListePrelievo.CodStatoLista, ISNULL(dbo.v_righePrelevate.TotQta, 0) AS Prelevato,
|
|
dbo.ElencoListePrelievo.Destinatario, ISNULL(dbo.ElencoListePrelievo.DestinatarioDescrizione, N'nd') AS DestinatarioDescrizione
|
|
FROM dbo.ElencoListePrelievo LEFT OUTER JOIN
|
|
dbo.v_righePrelevate ON dbo.ElencoListePrelievo.CodLista = dbo.v_righePrelevate.CodLista
|
|
ORDER BY dbo.ElencoListePrelievo.DataCreaz DESC
|
|
go
|
|
|
|
exec sp_updateextendedproperty 'MS_DiagramPane1', '[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00]
|
|
Begin DesignProperties =
|
|
Begin PaneConfigurations =
|
|
Begin PaneConfiguration = 0
|
|
NumPanes = 4
|
|
Configuration = "(H (1[40] 4[20] 2[20] 3) )"
|
|
End
|
|
Begin PaneConfiguration = 1
|
|
NumPanes = 3
|
|
Configuration = "(H (1 [50] 4 [25] 3))"
|
|
End
|
|
Begin PaneConfiguration = 2
|
|
NumPanes = 3
|
|
Configuration = "(H (1 [50] 2 [25] 3))"
|
|
End
|
|
Begin PaneConfiguration = 3
|
|
NumPanes = 3
|
|
Configuration = "(H (4 [30] 2 [40] 3))"
|
|
End
|
|
Begin PaneConfiguration = 4
|
|
NumPanes = 2
|
|
Configuration = "(H (1 [56] 3))"
|
|
End
|
|
Begin PaneConfiguration = 5
|
|
NumPanes = 2
|
|
Configuration = "(H (2 [66] 3))"
|
|
End
|
|
Begin PaneConfiguration = 6
|
|
NumPanes = 2
|
|
Configuration = "(H (4 [50] 3))"
|
|
End
|
|
Begin PaneConfiguration = 7
|
|
NumPanes = 1
|
|
Configuration = "(V (3))"
|
|
End
|
|
Begin PaneConfiguration = 8
|
|
NumPanes = 3
|
|
Configuration = "(H (1[56] 4[18] 2) )"
|
|
End
|
|
Begin PaneConfiguration = 9
|
|
NumPanes = 2
|
|
Configuration = "(H (1 [75] 4))"
|
|
End
|
|
Begin PaneConfiguration = 10
|
|
NumPanes = 2
|
|
Configuration = "(H (1[66] 2) )"
|
|
End
|
|
Begin PaneConfiguration = 11
|
|
NumPanes = 2
|
|
Configuration = "(H (4 [60] 2))"
|
|
End
|
|
Begin PaneConfiguration = 12
|
|
NumPanes = 1
|
|
Configuration = "(H (1) )"
|
|
End
|
|
Begin PaneConfiguration = 13
|
|
NumPanes = 1
|
|
Configuration = "(V (4))"
|
|
End
|
|
Begin PaneConfiguration = 14
|
|
NumPanes = 1
|
|
Configuration = "(V (2))"
|
|
End
|
|
ActivePaneConfig = 0
|
|
End
|
|
Begin DiagramPane =
|
|
Begin Origin =
|
|
Top = 0
|
|
Left = 0
|
|
End
|
|
Begin Tables =
|
|
Begin Table = "ElencoListePrelievo"
|
|
Begin Extent =
|
|
Top = 6
|
|
Left = 38
|
|
Bottom = 350
|
|
Right = 208
|
|
End
|
|
DisplayFlags = 280
|
|
TopColumn = 1
|
|
End
|
|
Begin Table = "v_righePrelevate"
|
|
Begin Extent =
|
|
Top = 6
|
|
Left = 454
|
|
Bottom = 118
|
|
Right = 624
|
|
End
|
|
DisplayFlags = 280
|
|
TopColumn = 0
|
|
End
|
|
End
|
|
End
|
|
Begin SQLPane =
|
|
End
|
|
Begin DataPane =
|
|
Begin ParameterDefaults = ""
|
|
End
|
|
Begin ColumnWidths = 19
|
|
Width = 284
|
|
Width = 1500
|
|
Width = 1500
|
|
Width = 1500
|
|
Width = 1500
|
|
Width = 1500
|
|
Width = 1500
|
|
Width = 1500
|
|
Width = 1500
|
|
Width = 1500
|
|
Width = 1500
|
|
Width = 1500
|
|
Width = 1500
|
|
Width = 1500
|
|
Width = 1500
|
|
Width = 1500
|
|
Width = 1500
|
|
Width = 1500
|
|
Width = 1500
|
|
End
|
|
End
|
|
Begin CriteriaPane =
|
|
Begin ColumnWidths = 11
|
|
Column = 1440
|
|
Alias = 900
|
|
Table = 1170
|
|
Output = 720
|
|
Append = 1400
|
|
NewValue = 1170
|
|
SortType = 1350
|
|
SortOrder = 1410
|
|
GroupBy = 1350
|
|
Filter = 1350
|
|
Or = 1350
|
|
Or = 1350
|
|
Or = 1350
|
|
End
|
|
End
|
|
End
|
|
', 'SCHEMA', 'dbo', 'VIEW', 'V_elencoListePrelievo'
|
|
go
|
|
|
|
/***************************************
|
|
* STORED stp_RLP_sbloccaNonPrelevate
|
|
*
|
|
* sblocca righe liste di prelievo ATTIVE x UDC non prelevati
|
|
*
|
|
* Steamware, S.E.L.
|
|
* mod: 2010.08.31
|
|
*
|
|
****************************************/
|
|
alter PROCEDURE stp_RLP_sbloccaNonPrelevate
|
|
(
|
|
@CodLista NVARCHAR(12),
|
|
@UDC NVARCHAR(50)
|
|
)
|
|
AS
|
|
|
|
-- creo una CTE x le righe liste prelievo ATTIVE (escludo bozze e liste scaricate) - candidate per sblocco che NON fanno aprte della lista di prelievo attuale
|
|
WITH cteUdcRigheAttive AS (
|
|
SELECT RLP.CodLista, RLP.UDC, RLP.Prelevato
|
|
FROM RigheListePrelievo AS RLP INNER JOIN ElencoListePrelievo AS ELP
|
|
ON RLP.CodLista = ELP.CodLista
|
|
WHERE (ELP.CodStatoLista BETWEEN 1 AND 3) AND RLP.Prelevato = 1 AND ELP.CodLista <> @CodLista
|
|
)
|
|
|
|
-- effettua "sblocco" delle righe liste prelievo che danno UDC prelevati ma che NON risultano
|
|
UPDATE cteUdcRigheAttive
|
|
SET Prelevato = 0
|
|
WHERE UDC = @UDC
|
|
|
|
RETURN
|
|
go
|
|
|
|
commit
|
|
go
|
|
|
|
|
|
|
|
|
|
|
|
-- registro versione...
|
|
INSERT INTO [dbo].[LogUpdateDb] ([Versione],[Data]) VALUES(326, GETDATE())
|
|
GO
|