1713 lines
48 KiB
Python
1713 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:
|
|
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).')
|