Files
ware_house/warehouse_sp_python.py
2026-03-31 19:15:33 +02:00

1715 lines
48 KiB
Python

"""
Auto-generated Python port of selected SQL Server stored procedures.
Generated on 2025-10-14T11:57:38
Notes:
- Synchronous, no threading/async.
- Uses pyodbc; install with `pip install pyodbc` and configure the connection string.
- Two procedures are fully implemented in Python (inserting into Log tables).
- All other procedures are provided as stubs with signatures and embedded T-SQL (for later porting).
"""
from __future__ import annotations
from dataclasses import dataclass
from typing import Optional, Tuple, Any
from datetime import datetime
import pyodbc
@dataclass
class SPResult:
"""Standard return container used by the handwritten procedure ports."""
message: str | None = None
id_result: int | None = None
def get_connection() -> pyodbc.Connection:
"""Return a new pyodbc connection.
Adjust the connection string to your environment (Trusted Connection or SQL Auth).
"""
conn = pyodbc.connect(
'DRIVER={ODBC Driver 18 for SQL Server};'
'SERVER=localhost;' 'DATABASE=Mediseawall;' 'Trusted_Connection=Yes;' 'TrustServerCertificate=Yes;'
)
conn.autocommit = False
return conn
def _insert_log(table: str, code: str | None, description: str | None) -> Tuple[int, str]:
"""Internal helper used by log_operation/log_packing_list."""
sql = f'''INSERT INTO {table} (Code, Description, IDInsUser, InsDateTime)
VALUES (?, ?, ?, GETDATE()); SELECT SCOPE_IDENTITY();'''
with get_connection() as cxn:
try:
cur = cxn.cursor()
cur.execute(sql, code, description, 1)
new_id = int(cur.fetchval())
cxn.commit()
return new_id, ''
except Exception as e:
cxn.rollback()
return -1, str(e)
def sp_LogOperation(ID: int | None, Code: str | None, Description: str | None) -> SPResult:
"""Python port of [dbo].[sp_LogOperation]."""
new_id, err = _insert_log('LogOperation', Code, Description)
if new_id < 0:
return SPResult(message=err, id_result=None)
return SPResult(message='', id_result=new_id)
def sp_LogPackingList(ID: int | None, Code: str | None, Description: str | None) -> SPResult:
"""Python port of [dbo].[sp_LogPackingList]."""
new_id, err = _insert_log('LogPackingList', Code, Description)
if new_id < 0:
return SPResult(message=err, id_result=None)
return SPResult(message='', id_result=new_id)
def BackupDB() -> Any:
"""
Python stub for [dbo].[BackupDB].
Original T-SQL for reference:
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @RC int
DECLARE @ID int
DECLARE @Descrizione varchar(32)
DECLARE @IDArea int
DECLARE @IDDimensione int
DECLARE @IDStato int
DECLARE @Ordinamento float
DECLARE @X int
DECLARE @Y int
DECLARE @Z int
DECLARE @Corsia varchar(8)
DECLARE @Colonna varchar(8)
DECLARE @Fila varchar(8)
DECLARE @PortataMassimaCella float
DECLARE @PortataMassimaColonna float
DECLARE @UnitaVolumeOccupata float
DECLARE @InsUtente varchar(50)
DECLARE @InsDataOra datetime
DECLARE @ModUtente varchar(50)
DECLARE @ModDataOra datetime
SET @IDArea = 4
SET @Corsia = ' 4D'
SET @Colonna = '18'
SET @ID = 1001
SET @Descrizione = '1001 : : 1A - 1 - a'
SET @IDDimensione = 1
SET @IDStato = 1
SET @Ordinamento = 1.001000000000000e+003
SET @X = 0
SET @Y = 0
SET @Z = 0
SET @PortataMassimaCella = 0.000000000000000e+000
SET @PortataMassimaColonna = 0.000000000000000e+000
SET @UnitaVolumeOccupata = 0.000000000000000e+000
SET @InsUtente = 'raf'
SET @InsDataOra = 'set 11 2010 5:25PM'
SET @ModUtente = 'raf'
SET @ModDataOra = 'set 11 2010 5:25PM'
declare @IDDaCopiare int
declare @IDNuovo int
-- Imposta valori dei parametri
-- Declare an inner cursor based
-- on au_id from the outer cursor.
DECLARE IDDaCopiare_cursor CURSOR FOR
SELECT [ID]
FROM [MediSeawall].[dbo].[Aree]
OPEN IDDaCopiare_cursor
FETCH NEXT FROM IDDaCopiare_cursor INTO @IDDaCopiare
WHILE @@FETCH_STATUS = 0
BEGIN
if @IDDaCopiare = 1 BEGIN SET @Fila = 'a' END
if @IDDaCopiare = 2 BEGIN SET @Fila = 'b' END
if @IDDaCopiare = 3 BEGIN SET @Fila = 'c' END
if @IDDaCopiare = 4 BEGIN SET @Fila = 'd' END
if @IDDaCopiare = 5 BEGIN SET @Fila = 'e' END
if @IDDaCopiare = 6 BEGIN SET @Fila = 'f' END
SET @ID = (SELECT MAX([ID]) FROM [MediSeawall].[dbo].[Celle]) + 1
SET @Descrizione = CAST(@ID as char(4)) + ' cors: ' + @Corsia+ ' col: ' + @Colonna + ' fil: ' + @Fila
EXECUTE @RC = [MediSeawall].[dbo].[spt_SaveCelle]
@ID
,@Descrizione
,@IDArea
,@IDDimensione
,@IDStato
,@Ordinamento
,@X
,@Y
,@Z
,@Corsia
,@Colonna
,@Fila
,@PortataMassimaCella
,@PortataMassimaColonna
,@UnitaVolumeOccupata
,@InsUtente
,@InsDataOra
,@ModUtente
,@ModDataOra
FETCH NEXT FROM IDDaCopiare_cursor INTO @IDDaCopiare
END
CLOSE IDDaCopiare_cursor
DEALLOCATE IDDaCopiare_cursor
END
"""
raise NotImplementedError('Port this stored procedure logic into Python (step-by-step SQL).')
def CreaNuoveCelleMDE6(Locazioni: int | None, Piani: int | None) -> Any:
"""
Python stub for [dbo].[CreaNuoveCelleMDE6].
Original T-SQL for reference:
char(4)) + ' cors: ' + @Corsia+ ' col: ' + @Colonna + ' fil: ' + @Fila
EXECUTE @RC = [MediSeawall].[dbo].[spt_SaveCelle]
@ID
,@Descrizione
,@IDArea
,@IDDimensione
,@IDStato
,@Ordinamento
,@X
,@Y
,@Z
,@Corsia
,@Colonna
,@Fila
,@PortataMassimaCella
,@PortataMassimaColonna
,@UnitaVolumeOccupata
,@InsUtente
,@InsDataOra
,@ModUtente
,@ModDataOra
SET @Piani_value = @Piani_value + 1
END;
SET @site_value = @site_value + 1
END;
FETCH NEXT FROM IDDaCopiare_cursor INTO @IDDaCopiare
END
CLOSE IDDaCopiare_cursor
DEALLOCATE IDDaCopiare_cursor
END
"""
raise NotImplementedError('Port this stored procedure logic into Python (step-by-step SQL).')
def CreaNuoveCelleMDE6_BIS(Locazioni: int | None, Piani: int | None) -> Any:
"""
Python stub for [dbo].[CreaNuoveCelleMDE6_BIS].
Original T-SQL for reference:
char(4)) + ' cors: ' + @Corsia+ ' col: ' + @Colonna + ' fil: ' + @Fila
EXECUTE @RC = [MediSeawall].[dbo].[spt_SaveCelle]
@ID
,@Descrizione
,@IDArea
,@IDDimensione
,@IDStato
,@Ordinamento
,@X
,@Y
,@Z
,@Corsia
,@Colonna
,@Fila
,@PortataMassimaCella
,@PortataMassimaColonna
,@UnitaVolumeOccupata
,@InsUtente
,@InsDataOra
,@ModUtente
,@ModDataOra
SET @Piani_value = @Piani_value + 1
END;
SET @site_value = @site_value + 1
END;
FETCH NEXT FROM IDDaCopiare_cursor INTO @IDDaCopiare
END
CLOSE IDDaCopiare_cursor
DEALLOCATE IDDaCopiare_cursor
"""
raise NotImplementedError('Port this stored procedure logic into Python (step-by-step SQL).')
def CreateLoopArea(IDArea: int | None) -> Any:
"""
Python stub for [dbo].[CreateLoopArea].
Original T-SQL for reference:
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
DECLARE @ElaboraLoopBarcodePallet varchar(16)
DECLARE @RC int
DECLARE @IDOperatore int
DECLARE @BarcodeCella varchar(8) = '9000000'
DECLARE @BarcodePallet varchar(16) = ''
DECLARE @NumeroCella int = 9000000
DECLARE ElaboraLoopBarcodePallet_cursor CURSOR FOR
SELECT [BarcodePallet]
FROM [dbo].[XMag_GiacenzaPallet]
WHERE [IDArea] = @IDArea
OPEN ElaboraLoopBarcodePallet_cursor
FETCH NEXT FROM ElaboraLoopBarcodePallet_cursor INTO @ElaboraLoopBarcodePallet
WHILE @@FETCH_STATUS = 0
BEGIN
SET @BarcodePallet = @ElaboraLoopBarcodePallet
-- TODO: impostare qui i valori dei parametri.
EXECUTE @RC = [sp_xMagGestioneMagazziniPallet]
@IDOperatore
,@BarcodeCella
,@BarcodePallet
,@NumeroCella
,@RC OUTPUT
FETCH NEXT FROM ElaboraLoopBarcodePallet_cursor INTO @ElaboraLoopBarcodePallet
END
CLOSE ElaboraLoopBarcodePallet_cursor
DEALLOCATE ElaboraLoopBarcodePallet_cursor
END
"""
raise NotImplementedError('Port this stored procedure logic into Python (step-by-step SQL).')
def sp_ControllaPrenotazionePackingListPallet(RC: str | None) -> Any:
"""
Python stub for [dbo].[sp_ControllaPrenotazionePackingListPallet].
Original T-SQL for reference:
BEGIN
DECLARE @RC int = 0
DECLARE @IDOperatore int = 0
DECLARE @IDCellaPrenotata int = 0
DECLARE @Documento varchar(8) = ''
DECLARE @Nominativo varchar(50) = ''
SELECT TOP 1 @IDCellaPrenotata = [ID]
FROM [Mediseawall].[dbo].[Celle]
where IDStato = 1
SELECT TOP 1 @Documento = Documento, @IDCellaPrenotata = Cella
FROM XMag_ViewPackingList
GROUP BY Documento, IDStato,Cella
HAVING (IDStato = 1)
--and Cella <> 9999
AND Documento IN (SELECT TOP (1) CAST([Code] as int) FROM [LogPackingList] ORDER By ID DESC)
ORDer BY Documento
IF @IDCellaPrenotata > 0
BEGIN
SELECT TOP 1 @Nominativo = [ModUtente]
FROM [Mediseawall].[dbo].[Celle]
where IDStato = 1
SELECT @IDOperatore = ID FROM Operatori WHERE LOGIN = @Nominativo
--SELECT TOP 1 @Documento = Documento
--FROM dbo.XMag_ViewPackingList
--GROUP BY Documento, CodNazione, NAZIONE, Stato, Magazzino, Area, Cella
--HAVING (Cella = @IDCellaPrenotata)
SELECT TOP 1 @Documento = Documento
FROM XMag_ViewPackingList
GROUP BY Documento, IDStato
HAVING (IDStato = 1)
AND Documento IN (SELECT TOP (1) CAST([Code] as int) FROM [LogPackingList] ORDER By ID DESC)
ORDER BY Documento
EXECUTE [dbo].sp_xExePackingListPalletPrenota
@IDOperatore
,@Documento
,@RC OUTPUT
END
END
"""
raise NotImplementedError('Port this stored procedure logic into Python (step-by-step SQL).')
def sp_OrdinaCelle() -> Any:
"""
Python stub for [dbo].[sp_OrdinaCelle].
Original T-SQL for reference:
INT) DESC
OPEN IDDaCopiare_cursor
FETCH NEXT FROM IDDaCopiare_cursor INTO @IDDaCopiare
WHILE @@FETCH_STATUS = 0
BEGIN
SET @IDNuovo = @IDNuovo + 1
UPDATE [MediSeawall].[dbo].[Celle]
SET [Ordinamento] = @IDNuovo
WHERE [ID] = @IDDaCopiare
FETCH NEXT FROM IDDaCopiare_cursor INTO @IDDaCopiare
END
CLOSE IDDaCopiare_cursor
DEALLOCATE IDDaCopiare_cursor
"""
raise NotImplementedError('Port this stored procedure logic into Python (step-by-step SQL).')
def sp_xExePackingListPallet(IDOperatore: int | None, Documento: str | None, RC: int | None) -> Any:
"""
Python stub for [dbo].[sp_xExePackingListPallet].
Original T-SQL for reference:
SET @RC = 0
-- Recupera operatore
DECLARE @Nominativo varchar(50)
SELECT @Nominativo = LOGIN FROM Operatori WHERE id = @IDOperatore
DECLARE @Stato int
PRINT @Nominativo
declare @IDDaCopiare int
declare @IDNuovo int
-- Imposta valori dei parametri
-- Declare an inner cursor based
-- on au_id from the outer cursor.
DECLARE IDDaCopiare_cursor CURSOR FOR
SELECT Cella
FROM dbo.XMag_ViewPackingList
GROUP BY Documento, CodNazione, NAZIONE, Stato, Magazzino, Area, Cella
HAVING (Documento = @Documento)
OPEN IDDaCopiare_cursor
FETCH NEXT FROM IDDaCopiare_cursor INTO @IDDaCopiare
WHILE @@FETCH_STATUS = 0
BEGIN
SELECT @Stato = [IDStato] FROM [Celle] WHERE [ID] = @IDDaCopiare
if @Stato = 0
BEGIN
UPDATE [Celle] SET [IDStato] = 1
,[ModUtente] = @Nominativo
,[ModDataOra] = GETDATE()
WHERE [ID] = @IDDaCopiare
END
ELSE
BEGIN
UPDATE [Celle] SET [IDStato] = 0
,[ModUtente] = @Nominativo
,[ModDataOra] = GETDATE()
WHERE [ID] = @IDDaCopiare
END
FETCH NEXT FROM IDDaCopiare_cursor INTO @IDDaCopiare
END
CLOSE IDDaCopiare_cursor
DEALLOCATE IDDaCopiare_cursor
DECLARE @ID int = 0
DECLARE @Code varchar(64) = @Documento
DECLARE @Description varchar(255)
DECLARE @Message varchar(255)
DECLARE @IDResult int
SELECT TOP 1 @Description = NAZIONE
FROM dbo.XMag_ViewPackingList
GROUP by Documento, NAZIONE
HAVING Documento = @Documento
-- TODO: impostare qui i valori dei parametri.
EXECUTE @RC = [dbo].[sp_LogPackingList]
@ID
,@Code
,@Description
,@Message OUTPUT
,@IDResult OUTPUT
"""
raise NotImplementedError('Port this stored procedure logic into Python (step-by-step SQL).')
def sp_xExePackingListPalletPrenota(IDOperatore: int | None, Documento: str | None, RC: int | None) -> Any:
"""
Python stub for [dbo].[sp_xExePackingListPalletPrenota].
Original T-SQL for reference:
SET @RC = 0
-- Recupera operatore
DECLARE @Nominativo varchar(50)
SELECT @Nominativo = LOGIN FROM Operatori WHERE id = @IDOperatore
DECLARE @Stato int
PRINT @Nominativo
declare @IDDaCopiare int
declare @IDNuovo int
-- Imposta valori dei parametri
-- Declare an inner cursor based
-- on au_id from the outer cursor.
DECLARE IDDaCopiare_cursor CURSOR FOR
SELECT Cella
FROM dbo.XMag_ViewPackingList
GROUP BY Documento, CodNazione, NAZIONE, Stato, Magazzino, Area, Cella
HAVING (Documento = @Documento)
OPEN IDDaCopiare_cursor
FETCH NEXT FROM IDDaCopiare_cursor INTO @IDDaCopiare
WHILE @@FETCH_STATUS = 0
BEGIN
UPDATE [Celle] SET [IDStato] = 1
,[ModUtente] = @Nominativo
,[ModDataOra] = GETDATE()
WHERE [ID] = @IDDaCopiare
FETCH NEXT FROM IDDaCopiare_cursor INTO @IDDaCopiare
END
CLOSE IDDaCopiare_cursor
DEALLOCATE IDDaCopiare_cursor
"""
raise NotImplementedError('Port this stored procedure logic into Python (step-by-step SQL).')
def sp_xMagGestioneAccettazione(IDOperatore: int | None, BarcodeCella: str | None, BarcodePallet: str | None, NumeroCella: int | None, RC: int | None, Out1: str | None, Out2: str | None, Out3: str | None, Out4: str | None, Out5: str | None, Out6: str | None, Out7: str | None) -> Any:
"""
Python stub for [dbo].[sp_xMagGestioneAccettazione].
Original T-SQL for reference:
--DECLARE @RC int
--DECLARE @IDOperatore int
--DECLARE @BarcodeCella varchar(8)
--DECLARE @BarcodePallet varchar(16)
--DECLARE @NumeroCella int
--SET @IDOperatore = 1
SET @BarcodeCella = '9009000'
--SET @BarcodePallet = '100782'
SET @NumeroCella = 9000
SET @RC = 0
-- Recupera operatore
DECLARE @Output1 varchar(16)
DECLARE @Output2 varchar(16)
DECLARE @Output3 varchar(16)
DECLARE @Output4 varchar(16)
DECLARE @Nominativo varchar(50)
SELECT @Nominativo = LOGIN FROM Operatori WHERE id = @IDOperatore
PRINT @Nominativo
PRINT SUBSTRING(@BarcodeCella,1,3)
PRINT SUBSTRING(@BarcodeCella,4,2)
PRINT SUBSTRING(@BarcodeCella,6,2)
-- Cerca la cella
DECLARE @IDMagazzino int ,@IDArea int, @IDCella int, @NumeroPallet int, @NewIDCella int
SET @NewIDCella = -1*(9000000 - @NumeroCella)
SET @IDMagazzino = 0
SET @IDArea = 0
SET @IDCella = 0
SET @NumeroPallet = 0
SELECT @IDCella = [ID], @IDArea = [IDArea]
FROM [Celle]
WHERE ID = @NewIDCella
if @IDArea > 0
BEGIN
-- Magazzino da area
SELECT @IDMagazzino = [IDMagazzino]
FROM [Aree]
WHERE [ID] = @IDArea
END
ELSE
BEGIN
-- se non trova la cella recupera il magazzino di default
SELECT TOP 1 @IDMagazzino = UnitaProduzione.IDMagVersamento
FROM Operatori INNER JOIN UnitaProduzione ON Operatori.CodiceUnita = UnitaProduzione.Codice
WHERE (Operatori.ID = @IDOperatore)
SELECT @IDCella = [ID], @IDArea = [IDArea]
FROM [Celle]
WHERE ID = 9000
END
-- Recupera il peso unitario e la tara
DECLARE @PesoUnitario float, @Tara float, @IDRiferimento int
SET @PesoUnitario = 1
SET @Tara = 0
SET @IDRiferimento = 0
SELECT TOP 1 @IDRiferimento = ID
FROM [Accettazione]
WHERE (IDMagazzino = @IDMagazzino) AND (Attributo = @BarcodePallet) -- AND (NumeroPallet = @NumeroPallet)
AND PesoUnitario > 0 AND Tipo = 'V' AND [IDRiferimento] = 0
ORDER BY ID DESC
UPDATE [Accettazione]
SET [ModUtente] = @Nominativo, [ModDataOra] = GETDATE(), [IDRiferimento] = @IDRiferimento
WHERE ID = @IDRiferimento AND [IDRiferimento] = 0
--WHERE (IDMagazzino = @IDMagazzino) AND (Attributo = @BarcodePallet) -- AND (NumeroPallet = @NumeroPallet)
--AND PesoUnitario > 0 AND Tipo = 'V'
--ORDER BY ID DESC
IF @@ROWCOUNT > 0 -- SE TROVO QUALCOSA LA PRELIEVO - Poi Trasferisco in area transito
BEGIN
INSERT INTO [Accettazione] ([Tipo],[IDRiferimento] ,[NumeroPallet], Attributo
,[IDMagazzino] ,[IDArea] ,[IDCella] ,[DataMagazzino]
,[PesoUnitario] ,[Tara],[InsUtente] ,[InsDataOra])
SELECT 'P' ,@IDRiferimento,[NumeroPallet], Attributo
,[IDMagazzino] ,[IDArea] ,[IDCella] ,GETDATE()
,[PesoUnitario],[Tara], @Nominativo ,GETDATE()
FROM [Accettazione]
WHERE ID = @IDRiferimento
SET @RC = @@IDENTITY
SELECT @Output2 = Attributo,
@Output3 = [InsUtente] , @Output4 = CAST([InsDataOra] as CHAR(16))
FROM [Accettazione]
WHERE ID = @IDRiferimento
SET @Out1 = 'DIS-ACCETTAZIONE'
SET @Out2 = @Output2
SET @Out3 = @Output3
SET @Out4 = @Output4
SET @Out5 = 5
SET @Out6 = @BarcodeCella
SET @Out7 = ''
END
ELSE
BEGIN
-- VERSA in area cella [IDMagazzino],[IDArea],[IDCella]
INSERT INTO [Accettazione] ([Tipo] ,[IDRiferimento],[NumeroPallet], Attributo
,[IDMagazzino],[IDArea],[IDCella],[DataMagazzino]
,[PesoUnitario],[Tara],[InsUtente],[InsDataOra])
VALUES ('V',@IDRiferimento,@NumeroPallet, @BarcodePallet
,@IDMagazzino,@IDArea,@IDCella,GETDATE()
,@PesoUnitario,@Tara,@Nominativo,GETDATE())
SET @RC = @@IDENTITY
SET @Out1 = 'ACCETTATO'
SET @Out2 = @BarcodePallet
SET @Out3 = @Nominativo
SET @Out4 = CAST(GETDATE() as CHAR(16))
SET @Out5 = 7
SET @Out6 = @BarcodeCella
SET @Out7 = ''
END
"""
raise NotImplementedError('Port this stored procedure logic into Python (step-by-step SQL).')
def sp_xMagGestioneAccettazioneOLD(IDOperatore: int | None, BarcodeCella: str | None, BarcodePallet: str | None, NumeroCella: int | None, RC: int | None, Out1: str | None, Out2: str | None, Out3: str | None, Out4: str | None, Out5: str | None, Out6: str | None, Out7: str | None) -> Any:
"""
Python stub for [dbo].[sp_xMagGestioneAccettazioneOLD].
Original T-SQL for reference:
--DECLARE @RC int
--DECLARE @IDOperatore int
--DECLARE @BarcodeCella varchar(8)
--DECLARE @BarcodePallet varchar(16)
--DECLARE @NumeroCella int
--SET @IDOperatore = 1
SET @BarcodeCella = '9009000'
--SET @BarcodePallet = '100782'
SET @NumeroCella = 9000
SET @RC = 0
-- Recupera operatore
DECLARE @Output1 varchar(16)
DECLARE @Output2 varchar(16)
DECLARE @Output3 varchar(16)
DECLARE @Output4 varchar(16)
DECLARE @Nominativo varchar(50)
SELECT @Nominativo = LOGIN FROM Operatori WHERE id = @IDOperatore
PRINT @Nominativo
PRINT SUBSTRING(@BarcodeCella,1,3)
PRINT SUBSTRING(@BarcodeCella,4,2)
PRINT SUBSTRING(@BarcodeCella,6,2)
-- Cerca la cella
DECLARE @IDMagazzino int ,@IDArea int, @IDCella int, @NumeroPallet int, @NewIDCella int
SET @NewIDCella = -1*(9000000 - @NumeroCella)
SET @IDMagazzino = 0
SET @IDArea = 0
SET @IDCella = 0
SET @NumeroPallet = 0
SELECT @IDCella = [ID], @IDArea = [IDArea]
FROM [Celle]
WHERE ID = @NewIDCella
if @IDArea > 0
BEGIN
-- Magazzino da area
SELECT @IDMagazzino = [IDMagazzino]
FROM [Aree]
WHERE [ID] = @IDArea
END
ELSE
BEGIN
-- se non trova la cella recupera il magazzino di default
SELECT TOP 1 @IDMagazzino = UnitaProduzione.IDMagVersamento
FROM Operatori INNER JOIN UnitaProduzione ON Operatori.CodiceUnita = UnitaProduzione.Codice
WHERE (Operatori.ID = @IDOperatore)
SELECT @IDCella = [ID], @IDArea = [IDArea]
FROM [Celle]
WHERE ID = 9000
END
-- Recupera il peso unitario e la tara
DECLARE @PesoUnitario float, @Tara float, @IDRiferimento int
SET @PesoUnitario = 1
SET @Tara = 0
SET @IDRiferimento = 0
SELECT TOP 1 @IDRiferimento = ID
FROM [Accettazione]
WHERE (IDMagazzino = @IDMagazzino) AND (Attributo = @BarcodePallet) -- AND (NumeroPallet = @NumeroPallet)
AND PesoUnitario > 0 AND Tipo = 'V'
ORDER BY ID DESC
UPDATE [Accettazione]
SET [ModUtente] = @Nominativo, [ModDataOra] = GETDATE()
WHERE ID = @IDRiferimento
--WHERE (IDMagazzino = @IDMagazzino) AND (Attributo = @BarcodePallet) -- AND (NumeroPallet = @NumeroPallet)
--AND PesoUnitario > 0 AND Tipo = 'V'
--ORDER BY ID DESC
IF @@ROWCOUNT > 0 -- SE TROVO QUALCOSA LA PRELIEVO - Poi Trasferisco in area transito
BEGIN
INSERT INTO [Accettazione] ([Tipo],[IDRiferimento] ,[NumeroPallet], Attributo
,[IDMagazzino] ,[IDArea] ,[IDCella] ,[DataMagazzino]
,[PesoUnitario] ,[Tara],[InsUtente] ,[InsDataOra])
SELECT 'P' ,@IDRiferimento,[NumeroPallet], Attributo
,[IDMagazzino] ,[IDArea] ,[IDCella] ,GETDATE()
,[PesoUnitario],[Tara], @Nominativo ,GETDATE()
FROM [Accettazione]
WHERE ID = @IDRiferimento
SET @RC = @@IDENTITY
SELECT @Output2 = Attributo,
@Output3 = [InsUtente] , @Output4 = CAST([InsDataOra] as CHAR(16))
FROM [Accettazione]
WHERE ID = @IDRiferimento
SET @Out1 = 'ATTENZIONE'
SET @Out2 = @Output2
SET @Out3 = @Output3
SET @Out4 = @Output4
SET @Out5 = 5
SET @Out6 = @BarcodeCella
SET @Out7 = ''
END
ELSE
BEGIN
-- VERSA in area cella [IDMagazzino],[IDArea],[IDCella]
INSERT INTO [Accettazione] ([Tipo] ,[IDRiferimento],[NumeroPallet], Attributo
,[IDMagazzino],[IDArea],[IDCella],[DataMagazzino]
,[PesoUnitario],[Tara],[InsUtente],[InsDataOra])
VALUES ('V',@IDRiferimento,@NumeroPallet, @BarcodePallet
,@IDMagazzino,@IDArea,@IDCella,GETDATE()
,@PesoUnitario,@Tara,@Nominativo,GETDATE())
SET @RC = @@IDENTITY
SET @Out1 = 'ACCETTATO'
SET @Out2 = @BarcodePallet
SET @Out3 = @Nominativo
SET @Out4 = CAST(GETDATE() as CHAR(16))
SET @Out5 = 7
SET @Out6 = @BarcodeCella
SET @Out7 = ''
END
"""
raise NotImplementedError('Port this stored procedure logic into Python (step-by-step SQL).')
def sp_xMagGestioneMagazziniPallet(IDOperatore: int | None, BarcodeCella: str | None, BarcodePallet: str | None, NumeroCella: int | None, RC: int | None) -> Any:
"""
Python stub for [dbo].[sp_xMagGestioneMagazziniPallet].
Original T-SQL for reference:
--DECLARE @RC int
--DECLARE @IDOperatore int
--DECLARE @BarcodeCella varchar(8)
--DECLARE @BarcodePallet varchar(16)
--DECLARE @NumeroCella int
--SET @IDOperatore = 1
--SET @BarcodeCella = ' 1056'
--SET @BarcodePallet = '100782'
--SET @NumeroCella = 1056
SET @RC = 0
-- Recupera operatore
DECLARE @Nominativo varchar(50)
SELECT @Nominativo = LOGIN FROM Operatori WHERE id = @IDOperatore
PRINT @Nominativo
PRINT SUBSTRING(@BarcodeCella,1,3)
PRINT SUBSTRING(@BarcodeCella,4,2)
PRINT SUBSTRING(@BarcodeCella,6,2)
-- Cerca la cella
DECLARE @IDMagazzino int ,@IDArea int, @IDCella int, @NumeroPallet int, @NewIDCella int
SET @NewIDCella = -1*(9000000 - @NumeroCella)
SET @IDMagazzino = 0
SET @IDArea = 0
SET @IDCella = 0
SET @NumeroPallet = 0
SELECT @IDCella = [Celle].[ID], @IDArea = [IDArea], @IDMagazzino = IDMagazzino
FROM [Celle], Aree
WHERE [Celle].ID = @NewIDCella
AND IDArea = Aree.ID
--WHERE [Corsia] = SUBSTRING(@BarcodeCella,1,3)
-- AND [Colonna] = SUBSTRING(@BarcodeCella,4,2)
-- AND [Fila] = SUBSTRING(@BarcodeCella,6,2)
PRINT @NumeroCella
print 'Barcode Cella'
PRINT @NewIDCella
print 'NEWNumero Cella'
PRINT @IDCella
print 'Numero Cella'
PRINT @IDArea
print 'Numero @IDArea'
DECLARE @ID int
DECLARE @Code varchar(64)
DECLARE @Description varchar(255)
DECLARE @Message varchar(255)
DECLARE @IDResult int
SET @Code = @BarcodeCella +' - '+ @BarcodePallet +' - '+ CAST(@NumeroCella as CHAR(10))
SET @Description = CAST(@IDArea as CHAR(10)) +' - '+ CAST(@IDCella as CHAR(10))
SET @ID= 0
-- TODO: impostare qui i valori dei parametri.
EXECUTE sp_LogOperation @ID ,@Code ,@Description ,@Message OUTPUT ,@IDResult OUTPUT
SET @ID= @IDResult
if @IDArea > 0
BEGIN
-- Magazzino da area
SELECT @IDMagazzino = [IDMagazzino]
FROM [Aree]
WHERE [ID] = @IDArea
END
ELSE
BEGIN
-- se non trova la cella recupera il magazzino di default
SELECT TOP 1 @IDMagazzino = UnitaProduzione.IDMagVersamento
FROM Operatori INNER JOIN UnitaProduzione ON Operatori.CodiceUnita = UnitaProduzione.Codice
WHERE (Operatori.ID = @IDOperatore)
SELECT @IDCella = [Celle].[ID], @IDArea = [IDArea], @IDMagazzino = IDMagazzino
FROM [Celle], Aree
WHERE [Celle].ID = 9999
AND IDArea = Aree.ID
END
-- Recupera il peso unitario e la tara
DECLARE @PesoUnitario float, @Tara float, @IDRiferimento int
SET @PesoUnitario = 1
SET @Tara = 0
SET @IDRiferimento = 0
SELECT TOP 1 @IDRiferimento = ID
FROM [MagazziniPallet]
WHERE 1= 1
--AND (IDMagazzino = @IDMagazzino)
AND (Attributo = @BarcodePallet) -- AND (NumeroPallet = @NumeroPallet)
AND PesoUnitario > 0 AND Tipo = 'V'
ORDER BY ID DESC
UPDATE [MagazziniPallet]
SET [ModUtente] = @Nominativo, [ModDataOra] = GETDATE()
WHERE ID = @IDRiferimento
--WHERE (IDMagazzino = @IDMagazzino) AND (Attributo = @BarcodePallet) -- AND (NumeroPallet = @NumeroPallet)
--AND PesoUnitario > 0 AND Tipo = 'V'
--ORDER BY ID DESC
IF @@ROWCOUNT > 0 -- SE TROVO QUALCOSA LA PRELIEVO - Poi Trasferisco in area transito
BEGIN
INSERT INTO [MagazziniPallet] ([Tipo],[IDRiferimento] ,[NumeroPallet], Attributo
,[IDMagazzino] ,[IDArea] ,[IDCella] ,[DataMagazzino]
,[PesoUnitario] ,[Tara],[InsUtente] ,[InsDataOra])
SELECT 'P' ,@IDRiferimento,[NumeroPallet], Attributo
,[IDMagazzino] ,[IDArea] ,[IDCella] ,GETDATE()
,[PesoUnitario],[Tara], @Nominativo ,GETDATE()
FROM [MagazziniPallet]
WHERE ID = @IDRiferimento
-- WHERE (IDMagazzino = @IDMagazzino) AND (Attributo = @BarcodePallet) -- AND (NumeroPallet = @NumeroPallet)
-- AND PesoUnitario > 0 AND Tipo = 'V'
-- ORDER BY ID DESC
-- disimpegna
UPDATE [Celle] SET
[IDStato] = 0 , [ModUtente] = @Nominativo ,[ModDataOra] = GETDATE()
WHERE [ID] = (SELECT [IDCella]
FROM [MagazziniPallet]
WHERE ID = @IDRiferimento)
-- Trasferisci in area cella [IDMagazzino],[IDArea],[IDCella]
INSERT INTO [MagazziniPallet] ([Tipo] ,[IDRiferimento],[NumeroPallet], Attributo
,[IDMagazzino],[IDArea],[IDCella],[DataMagazzino]
,[PesoUnitario],[Tara],[InsUtente],[InsDataOra])
VALUES ('V',@IDRiferimento,@NumeroPallet, @BarcodePallet
,@IDMagazzino,@IDArea,@IDCella,GETDATE()
,@PesoUnitario,@Tara,@Nominativo,GETDATE())
SET @RC = @@IDENTITY
END
ELSE
BEGIN
-- VERSA in area cella [IDMagazzino],[IDArea],[IDCella]
INSERT INTO [MagazziniPallet] ([Tipo] ,[IDRiferimento],[NumeroPallet], Attributo
,[IDMagazzino],[IDArea],[IDCella],[DataMagazzino]
,[PesoUnitario],[Tara],[InsUtente],[InsDataOra])
VALUES ('V',@IDRiferimento,@NumeroPallet, @BarcodePallet
,@IDMagazzino,@IDArea,@IDCella,GETDATE()
,@PesoUnitario,@Tara,@Nominativo,GETDATE())
-- disimpegna
--UPDATE [Celle] SET
-- [IDStato] = 0 , [ModUtente] = @Nominativo ,[ModDataOra] = GETDATE()
--WHERE [ID] = @IDCella
SET @RC = @@IDENTITY
END
--EXECUTE [dbo].[sp_ControllaPrenotazionePackingListPallet]
EXECUTE [dbo].[sp_ControllaPrenotazionePackingLi
-- [TRUNCATED] --
"""
raise NotImplementedError('Port this stored procedure logic into Python (step-by-step SQL).')
def spt_DeleteAree(ID: int | None, DelUtente: str | None, DelDataOra: datetime | None) -> Any:
"""
Python stub for [dbo].[spt_DeleteAree].
Original T-SQL for reference:
SET
NOCOUNT ON
UPDATE Aree
SET ID = @ID
,DelUtente = @DelUtente
,DelDataOra = @DelDataOra
WHERE (ID = @ID)
"""
raise NotImplementedError('Port this stored procedure logic into Python (step-by-step SQL).')
def spt_DeleteCelle(ID: int | None, DelUtente: str | None, DelDataOra: datetime | None) -> Any:
"""
Python stub for [dbo].[spt_DeleteCelle].
Original T-SQL for reference:
SET
NOCOUNT ON
UPDATE Celle
SET ID = @ID
,DelUtente = @DelUtente
,DelDataOra = @DelDataOra
WHERE (ID = @ID)
"""
raise NotImplementedError('Port this stored procedure logic into Python (step-by-step SQL).')
def spt_DeleteCelleDimensione(ID: int | None, DelUtente: str | None, DelDataOra: datetime | None) -> Any:
"""
Python stub for [dbo].[spt_DeleteCelleDimensione].
Original T-SQL for reference:
SET
NOCOUNT ON
UPDATE CelleDimensione
SET ID = @ID
,DelUtente = @DelUtente
,DelDataOra = @DelDataOra
WHERE (ID = @ID)
"""
raise NotImplementedError('Port this stored procedure logic into Python (step-by-step SQL).')
def spt_DeleteCelleStati(ID: int | None, DelUtente: str | None, DelDataOra: datetime | None) -> Any:
"""
Python stub for [dbo].[spt_DeleteCelleStati].
Original T-SQL for reference:
SET
NOCOUNT ON
UPDATE CelleStati
SET ID = @ID
,DelUtente = @DelUtente
,DelDataOra = @DelDataOra
WHERE (ID = @ID)
"""
raise NotImplementedError('Port this stored procedure logic into Python (step-by-step SQL).')
def spt_DeleteDivisioni(Codice: str | None, DelUtente: str | None, DelDataOra: datetime | None) -> Any:
"""
Python stub for [dbo].[spt_DeleteDivisioni].
Original T-SQL for reference:
SET
NOCOUNT ON
UPDATE Divisioni
SET Codice = @Codice
,DelUtente = @DelUtente
,DelDataOra = @DelDataOra
WHERE (Codice = @Codice)
"""
raise NotImplementedError('Port this stored procedure logic into Python (step-by-step SQL).')
def spt_DeleteMagazzini(ID: int | None, DelUtente: str | None, DelDataOra: datetime | None) -> Any:
"""
Python stub for [dbo].[spt_DeleteMagazzini].
Original T-SQL for reference:
SET
NOCOUNT ON
UPDATE Magazzini
SET DelUtente = @DelUtente
,DelDataOra = @DelDataOra
WHERE (ID = @ID)
"""
raise NotImplementedError('Port this stored procedure logic into Python (step-by-step SQL).')
def spt_DeleteOperatori(ID: int | None, DelUtente: str | None, DelDataOra: datetime | None) -> Any:
"""
Python stub for [dbo].[spt_DeleteOperatori].
Original T-SQL for reference:
SET
NOCOUNT ON
UPDATE Operatori
SET DelUtente = @DelUtente
,DelDataOra = @DelDataOra
WHERE (ID = @ID)
"""
raise NotImplementedError('Port this stored procedure logic into Python (step-by-step SQL).')
def spt_DeleteReparti(Codice: str | None, DelUtente: str | None, DelDataOra: datetime | None) -> Any:
"""
Python stub for [dbo].[spt_DeleteReparti].
Original T-SQL for reference:
SET
NOCOUNT ON
UPDATE Reparti
SET Codice = @Codice
,DelUtente = @DelUtente
,DelDataOra = @DelDataOra
WHERE (Codice = @Codice)
"""
raise NotImplementedError('Port this stored procedure logic into Python (step-by-step SQL).')
def spt_DeleteStabilimenti(Codice: str | None, DelUtente: str | None, DelDataOra: datetime | None) -> Any:
"""
Python stub for [dbo].[spt_DeleteStabilimenti].
Original T-SQL for reference:
SET
NOCOUNT ON
UPDATE Stabilimenti
SET Codice = @Codice
,DelUtente = @DelUtente
,DelDataOra = @DelDataOra
WHERE (Codice = @Codice)
"""
raise NotImplementedError('Port this stored procedure logic into Python (step-by-step SQL).')
def spt_DeleteUnitaProduzione(Codice: str | None, DelUtente: str | None, DelDataOra: datetime | None) -> Any:
"""
Python stub for [dbo].[spt_DeleteUnitaProduzione].
Original T-SQL for reference:
SET
NOCOUNT ON
UPDATE UnitaProduzione
SET Codice = @Codice
,DelUtente = @DelUtente
,DelDataOra = @DelDataOra
WHERE (Codice = @Codice)
"""
raise NotImplementedError('Port this stored procedure logic into Python (step-by-step SQL).')
def spt_SaveAree(ID: int | None, IDMagazzino: int | None, Descrizione: str | None, InsUtente: str | None, InsDataOra: datetime | None, ModUtente: str | None, ModDataOra: datetime | None) -> Any:
"""
Python stub for [dbo].[spt_SaveAree].
Original T-SQL for reference:
SET
NOCOUNT ON
UPDATE Aree
SET ID = @ID
,IDMagazzino = @IDMagazzino
,Descrizione = @Descrizione
,InsUtente = @InsUtente
,InsDataOra = @InsDataOra
,ModUtente = @ModUtente
,ModDataOra = @ModDataOra
WHERE ID = @ID
IF @@ROWCOUNT = 0
BEGIN
INSERT INTO Aree
(ID
,IDMagazzino
,Descrizione
,InsUtente
,InsDataOra
,ModUtente
,ModDataOra
) VALUES
( @ID
, @IDMagazzino
, @Descrizione
, @InsUtente
, @InsDataOra
, @ModUtente
, @ModDataOra
)
END
"""
raise NotImplementedError('Port this stored procedure logic into Python (step-by-step SQL).')
def spt_SaveCelle(ID: int | None, Descrizione: str | None, IDArea: int | None, IDDimensione: int | None, IDStato: int | None, Ordinamento: float | None, X: int | None, Y: int | None, Z: int | None, Corsia: str | None, Colonna: str | None, Fila: str | None, PortataMassimaCella: float | None, PortataMassimaColonna: float | None, UnitaVolumeOccupata: float | None, InsUtente: str | None, InsDataOra: datetime | None, ModUtente: str | None, ModDataOra: datetime | None) -> Any:
"""
Python stub for [dbo].[spt_SaveCelle].
Original T-SQL for reference:
SET
NOCOUNT ON
UPDATE Celle
SET ID = @ID
,Descrizione = @Descrizione
,IDArea = @IDArea
,IDDimensione = @IDDimensione
,IDStato = @IDStato
,Ordinamento = @Ordinamento
,X = @X
,Y = @Y
,Z = @Z
,Corsia = @Corsia
,Colonna = @Colonna
,Fila = @Fila
,PortataMassimaCella = @PortataMassimaCella
,PortataMassimaColonna = @PortataMassimaColonna
,UnitaVolumeOccupata = @UnitaVolumeOccupata
,InsUtente = @InsUtente
,InsDataOra = @InsDataOra
,ModUtente = @ModUtente
,ModDataOra = @ModDataOra
WHERE ID = @ID
IF @@ROWCOUNT = 0
BEGIN
INSERT INTO Celle
(ID
,Descrizione
,IDArea
,IDDimensione
,IDStato
,Ordinamento
,X
,Y
,Z
,Corsia
,Colonna
,Fila
,PortataMassimaCella
,PortataMassimaColonna
,UnitaVolumeOccupata
,InsUtente
,InsDataOra
,ModUtente
,ModDataOra
) VALUES
( @ID
, @Descrizione
, @IDArea
, @IDDimensione
, @IDStato
, @Ordinamento
, @X
, @Y
, @Z
, @Corsia
, @Colonna
, @Fila
, @PortataMassimaCella
, @PortataMassimaColonna
, @UnitaVolumeOccupata
, @InsUtente
, @InsDataOra
, @ModUtente
, @ModDataOra
)
END
"""
raise NotImplementedError('Port this stored procedure logic into Python (step-by-step SQL).')
def spt_SaveCelleDimensione(ID: int | None, Descrizione: str | None, Dimensione: float | None, UnitaVolume: float | None, A: float | None, B: float | None, C: float | None, IDSolido: int | None, InsUtente: str | None, InsDataOra: datetime | None, ModUtente: str | None, ModDataOra: datetime | None) -> Any:
"""
Python stub for [dbo].[spt_SaveCelleDimensione].
Original T-SQL for reference:
SET
NOCOUNT ON
UPDATE CelleDimensione
SET
Descrizione = @Descrizione
,Dimensione = @Dimensione
,UnitaVolume = @UnitaVolume
,A = @A
,B = @B
,C = @C
,IDSolido = @IDSolido
,InsUtente = @InsUtente
,InsDataOra = @InsDataOra
,ModUtente = @ModUtente
,ModDataOra = @ModDataOra
WHERE ID = @ID
IF @@ROWCOUNT = 0
BEGIN
INSERT INTO CelleDimensione
(ID
,Descrizione
,Dimensione
,UnitaVolume
,A
,B
,C
,IDSolido
,InsUtente
,InsDataOra
,ModUtente
,ModDataOra
) VALUES
( @ID
, @Descrizione
, @Dimensione
, @UnitaVolume
, @A
, @B
, @C
, @IDSolido
, @InsUtente
, @InsDataOra
, @ModUtente
, @ModDataOra
)
END
"""
raise NotImplementedError('Port this stored procedure logic into Python (step-by-step SQL).')
def spt_SaveCelleStati(ID: int | None, Descrizione: str | None, InsUtente: str | None, InsDataOra: datetime | None, ModUtente: str | None, ModDataOra: datetime | None) -> Any:
"""
Python stub for [dbo].[spt_SaveCelleStati].
Original T-SQL for reference:
SET
NOCOUNT ON
UPDATE CelleStati
SET
Descrizione = @Descrizione
,InsUtente = @InsUtente
,InsDataOra = @InsDataOra
,ModUtente = @ModUtente
,ModDataOra = @ModDataOra
WHERE ID = @ID
IF @@ROWCOUNT = 0
BEGIN
INSERT INTO CelleStati
(ID
,Descrizione
,InsUtente
,InsDataOra
,ModUtente
,ModDataOra
) VALUES
( @ID
, @Descrizione
, @InsUtente
, @InsDataOra
, @ModUtente
, @ModDataOra
)
END
"""
raise NotImplementedError('Port this stored procedure logic into Python (step-by-step SQL).')
def spt_SaveDivisioni(Codice: str | None, Descrizione: str | None, InsUtente: str | None, InsDataOra: datetime | None, ModUtente: str | None, ModDataOra: datetime | None) -> Any:
"""
Python stub for [dbo].[spt_SaveDivisioni].
Original T-SQL for reference:
SET
NOCOUNT ON
UPDATE Divisioni
SET Codice = @Codice
,Descrizione = @Descrizione
,InsUtente = @InsUtente
,InsDataOra = @InsDataOra
,ModUtente = @ModUtente
,ModDataOra = @ModDataOra
WHERE (Codice = @Codice)
IF @@ROWCOUNT = 0
BEGIN
INSERT INTO Divisioni
(Codice
,Descrizione
,InsUtente
,InsDataOra
,ModUtente
,ModDataOra
) VALUES
( @Codice
, @Descrizione
, @InsUtente
, @InsDataOra
, @ModUtente
, @ModDataOra
)
END
"""
raise NotImplementedError('Port this stored procedure logic into Python (step-by-step SQL).')
def spt_SaveMagazzini(ID: int | None, Codice: str | None, CodiceDivisione: str | None, NomeBreve: str | None, Descrizione: str | None, FreqRadio: str | None, Informatizzato: str | None, ProgressivoPallet: int | None, CodiceStabilimento: str | None, InsUtente: str | None, InsDataOra: datetime | None, ModUtente: str | None, ModDataOra: datetime | None) -> Any:
"""
Python stub for [dbo].[spt_SaveMagazzini].
Original T-SQL for reference:
SET
NOCOUNT ON
UPDATE Magazzini
SET ID = @ID
,Codice = @Codice
,CodiceDivisione = @CodiceDivisione
,NomeBreve = @NomeBreve
,Descrizione = @Descrizione
,FreqRadio = @FreqRadio
,Informatizzato = @Informatizzato
,ProgressivoPallet = @ProgressivoPallet
,CodiceStabilimento = @CodiceStabilimento
,InsUtente = @InsUtente
,InsDataOra = @InsDataOra
,ModUtente = @ModUtente
,ModDataOra = @ModDataOra
WHERE ID = @ID
IF @@ROWCOUNT = 0
BEGIN
INSERT INTO Magazzini
(ID
,Codice
,CodiceDivisione
,NomeBreve
,Descrizione
,FreqRadio
,Informatizzato
,ProgressivoPallet
,CodiceStabilimento
,InsUtente
,InsDataOra
,ModUtente
,ModDataOra
) VALUES
( @ID
, @Codice
, @CodiceDivisione
, @NomeBreve
, @Descrizione
, @FreqRadio
, @Informatizzato
, @ProgressivoPallet
, @CodiceStabilimento
, @InsUtente
, @InsDataOra
, @ModUtente
, @ModDataOra
)
END
"""
raise NotImplementedError('Port this stored procedure logic into Python (step-by-step SQL).')
def spt_SaveOperatori(ID: int | None, Login: str | None, Nominativo: str | None, CodiceUnita: str | None, InsUtente: str | None, InsDataOra: datetime | None, ModUtente: str | None, ModDataOra: datetime | None) -> Any:
"""
Python stub for [dbo].[spt_SaveOperatori].
Original T-SQL for reference:
SET
NOCOUNT ON
UPDATE Operatori
SET ID = @ID
,Login = @Login
,Nominativo = @Nominativo
,CodiceUnita = @CodiceUnita
,InsUtente = @InsUtente
,InsDataOra = @InsDataOra
,ModUtente = @ModUtente
,ModDataOra = @ModDataOra
WHERE ID = @ID
IF @@ROWCOUNT = 0
BEGIN
INSERT INTO Operatori
(ID
,Login
,Nominativo
,CodiceUnita
,InsUtente
,InsDataOra
,ModUtente
,ModDataOra
) VALUES
( @ID
, @Login
, @Nominativo
, @CodiceUnita
, @InsUtente
, @InsDataOra
, @ModUtente
, @ModDataOra
)
END
"""
raise NotImplementedError('Port this stored procedure logic into Python (step-by-step SQL).')
def spt_SaveReparti(Codice: str | None, CodiceStabilimento: str | None, CodiceDivisione: str | None, Descrizione: str | None, PrfxLotto: int | None, PrfxAlias: str | None, PrfxCodiceLotto: str | None, IDFormato: int | None, Nota: str | None, IndiceSSCC: int | None, Prfx: str | None, VistaCommesse: str | None, CodiceAnagrafica: str | None, InsUtente: str | None, InsDataOra: datetime | None, ModUtente: str | None, ModDataOra: datetime | None) -> Any:
"""
Python stub for [dbo].[spt_SaveReparti].
Original T-SQL for reference:
SET
NOCOUNT ON
UPDATE Reparti
SET Codice = @Codice
,CodiceStabilimento = @CodiceStabilimento
,CodiceDivisione = @CodiceDivisione
,Descrizione = @Descrizione
,PrfxLotto = @PrfxLotto
,PrfxAlias = @PrfxAlias
,PrfxCodiceLotto = @PrfxCodiceLotto
,IDFormato = @IDFormato
,Nota = @Nota
,IndiceSSCC = @IndiceSSCC
,Prfx = @Prfx
,VistaCommesse = @VistaCommesse
,CodiceAnagrafica = @CodiceAnagrafica
,InsUtente = @InsUtente
,InsDataOra = @InsDataOra
,ModUtente = @ModUtente
,ModDataOra = @ModDataOra
WHERE Codice = @Codice
IF @@ROWCOUNT = 0
BEGIN
INSERT INTO Reparti
(Codice
,CodiceStabilimento
,CodiceDivisione
,Descrizione
,PrfxLotto
,PrfxAlias
,PrfxCodiceLotto
,IDFormato
,Nota
,IndiceSSCC
,Prfx
,VistaCommesse
,CodiceAnagrafica
,InsUtente
,InsDataOra
,ModUtente
,ModDataOra
) VALUES
( @Codice
, @CodiceStabilimento
, @CodiceDivisione
, @Descrizione
, @PrfxLotto
, @PrfxAlias
, @PrfxCodiceLotto
, @IDFormato
, @Nota
, @IndiceSSCC
, @Prfx
, @VistaCommesse
, @CodiceAnagrafica
, @InsUtente
, @InsDataOra
, @ModUtente
, @ModDataOra
)
END
"""
raise NotImplementedError('Port this stored procedure logic into Python (step-by-step SQL).')
def spt_SaveStabilimenti(Codice: str | None, Descrizione: str | None, InsUtente: str | None, InsDataOra: datetime | None, ModUtente: str | None, ModDataOra: datetime | None) -> Any:
"""
Python stub for [dbo].[spt_SaveStabilimenti].
Original T-SQL for reference:
SET
NOCOUNT ON
UPDATE Stabilimenti
SET Codice = @Codice
,Descrizione = @Descrizione
,InsUtente = @InsUtente
,InsDataOra = @InsDataOra
,ModUtente = @ModUtente
,ModDataOra = @ModDataOra
WHERE (Codice = @Codice)
IF @@ROWCOUNT = 0
BEGIN
INSERT INTO Stabilimenti
(Codice
,Descrizione
,InsUtente
,InsDataOra
,ModUtente
,ModDataOra
) VALUES
( @Codice
, @Descrizione
, @InsUtente
, @InsDataOra
, @ModUtente
, @ModDataOra
)
END
"""
raise NotImplementedError('Port this stored procedure logic into Python (step-by-step SQL).')
def spt_SaveUnitaProduzione(Codice: str | None, CodiceReparto: str | None, Descrizione: str | None, IDMagPrelievo: int | None, IDMagVersamento: int | None, Nota: str | None, VistaCommesse: str | None, VistaDocumenti: str | None, VistaDettagli: str | None, InsUtente: str | None, InsDataOra: datetime | None, ModUtente: str | None, ModDataOra: datetime | None) -> Any:
"""
Python stub for [dbo].[spt_SaveUnitaProduzione].
Original T-SQL for reference:
SET
NOCOUNT ON
UPDATE UnitaProduzione
SET Codice = @Codice
,CodiceReparto = @CodiceReparto
,Descrizione = @Descrizione
,IDMagPrelievo = @IDMagPrelievo
,IDMagVersamento = @IDMagVersamento
,Nota = @Nota
,VistaCommesse = @VistaCommesse
,VistaDocumenti = @VistaDocumenti
,VistaDettagli = @VistaDettagli
,InsUtente = @InsUtente
,InsDataOra = @InsDataOra
,ModUtente = @ModUtente
,ModDataOra = @ModDataOra
WHERE Codice = @Codice
IF @@ROWCOUNT = 0
BEGIN
INSERT INTO UnitaProduzione
(Codice
,CodiceReparto
,Descrizione
,IDMagPrelievo
,IDMagVersamento
,Nota
,VistaCommesse
,VistaDocumenti
,VistaDettagli
,InsUtente
,InsDataOra
,ModUtente
,ModDataOra
) VALUES
( @Codice
, @CodiceReparto
, @Descrizione
, @IDMagPrelievo
, @IDMagVersamento
, @Nota
, @VistaCommesse
, @VistaDocumenti
, @VistaDettagli
, @InsUtente
, @InsDataOra
, @ModUtente
, @ModDataOra
)
END
"""
raise NotImplementedError('Port this stored procedure logic into Python (step-by-step SQL).')