157 lines
5.2 KiB
Transact-SQL
157 lines
5.2 KiB
Transact-SQL
-- =============================================
|
|
-- Author: Steamware
|
|
-- Create date: 2014.04.23
|
|
-- Description: duplica record QuoteList
|
|
-- =============================================
|
|
CREATE PROCEDURE [dbo].[stp_QL_clone]
|
|
(
|
|
@QuoteType CHAR(1) = 'Q',
|
|
@QuoteType_orig CHAR(1) = 'Q',
|
|
@CodQuote_orig BIGINT = 0,
|
|
@QuoteRev_orig INT = 0
|
|
)
|
|
AS
|
|
|
|
-- variabili
|
|
DECLARE @CodQuote BIGINT = 0,
|
|
@QuoteRev INT = 0
|
|
|
|
SET XACT_ABORT ON;
|
|
BEGIN TRAN
|
|
|
|
-- calcolo nuovo record odierno
|
|
SELECT @CodQuote = dbo.f_getNewCodQuote()
|
|
|
|
-- inserisco riga in QuoteList
|
|
INSERT INTO QuoteList(QuoteType, CodQuote, QuoteRev, CodClient, CodItem, UnitWeight, BatchQty, CodItemGroup, RawMat, CodInco, Note, PriceOff)
|
|
SELECT @QuoteType, @CodQuote, @QuoteRev as QuoteRev, CodClient, CodItem, UnitWeight, BatchQty, CodItemGroup, RawMat, CodInco, 'CLONE - ' + Note, PriceOff
|
|
FROM QuoteList
|
|
WHERE QuoteType = @QuoteType_orig
|
|
AND CodQuote = @CodQuote_orig
|
|
AND QuoteRev = @QuoteRev_orig
|
|
|
|
-- ora inserisco in QuoteRM
|
|
INSERT INTO QuoteRM(QuoteType, CodQuote, QuoteRev, NumRM, RawMat, RawMatCost, RawMatExtraCost)
|
|
SELECT @QuoteType, @CodQuote, @QuoteRev as QuoteRev, NumRM, RawMat, RawMatCost, RawMatExtraCost
|
|
FROM QuoteRM
|
|
WHERE QuoteType = @QuoteType_orig
|
|
AND CodQuote = @CodQuote_orig
|
|
AND QuoteRev = @QuoteRev_orig
|
|
|
|
|
|
|
|
-- se la scheda di destinazione è simulazione
|
|
IF(@QuoteType = 'S')
|
|
BEGIN
|
|
EXEC stp_QL_copyParamS @QuoteType, @QuoteType_orig, @CodQuote, @CodQuote_orig, @QuoteRev, @QuoteRev_orig
|
|
|
|
/*
|
|
IF(@QuoteType_orig = 'S')
|
|
-- se partenza è S duplico dati accessori...
|
|
BEGIN
|
|
INSERT INTO QuoteSimPar(QuoteType, CodQuote, QuoteRev, NomePar, ValPar)
|
|
SELECT @QuoteType, @CodQuote, @QuoteRev, NomePar, ValPar
|
|
FROM QuoteSimPar
|
|
WHERE QuoteType = @QuoteType_orig
|
|
AND CodQuote = @CodQuote_orig
|
|
AND QuoteRev = @QuoteRev_orig
|
|
END
|
|
ELSE
|
|
-- se partenza è Q carico alcuni dati accessori precompilando...
|
|
BEGIN
|
|
INSERT INTO QuoteSimPar(QuoteType, CodQuote, QuoteRev, NomePar, ValPar)
|
|
SELECT @QuoteType, @CodQuote, @QuoteRev, Descr, Parameter
|
|
FROM QuoteParam
|
|
WHERE QuoteType = @QuoteType_orig
|
|
AND CodQuote = @CodQuote_orig
|
|
AND QuoteRev = @QuoteRev_orig
|
|
AND Descr IN ('CodDiesGroup', 'CodPlant')
|
|
|
|
INSERT INTO QuoteSimPar(QuoteType, CodQuote, QuoteRev, NomePar, ValPar)
|
|
SELECT @QuoteType, @CodQuote, @QuoteRev, 'DiesTecLife', Parameter
|
|
FROM QuoteParam
|
|
WHERE QuoteType = @QuoteType_orig
|
|
AND CodQuote = @CodQuote_orig
|
|
AND QuoteRev = @QuoteRev_orig
|
|
AND Descr = 'KgTeo'
|
|
|
|
INSERT INTO QuoteSimPar(QuoteType, CodQuote, QuoteRev, NomePar, ValPar)
|
|
SELECT @QuoteType, @CodQuote, @QuoteRev, 'DiesPrice_sim', Parameter
|
|
FROM QuoteParam
|
|
WHERE QuoteType = @QuoteType_orig
|
|
AND CodQuote = @CodQuote_orig
|
|
AND QuoteRev = @QuoteRev_orig
|
|
AND Descr = 'DiesPrice'
|
|
|
|
INSERT INTO QuoteSimPar(QuoteType, CodQuote, QuoteRev, NomePar, ValPar)
|
|
SELECT @QuoteType, @CodQuote, @QuoteRev, 'CodPackag', CodPackag
|
|
FROM QuoteRM
|
|
WHERE QuoteType = @QuoteType_orig
|
|
AND CodQuote = @CodQuote_orig
|
|
AND QuoteRev = @QuoteRev_orig
|
|
|
|
INSERT INTO QuoteSimPar(QuoteType, CodQuote, QuoteRev, NomePar, ValPar)
|
|
SELECT @QuoteType, @CodQuote, @QuoteRev, 'NetProd01_sim', NetProd
|
|
FROM QuoteWorkInt
|
|
WHERE QuoteType = @QuoteType_orig
|
|
AND CodQuote = @CodQuote_orig
|
|
AND QuoteRev = @QuoteRev_orig
|
|
AND ProcessNum = '01'
|
|
|
|
INSERT INTO QuoteSimPar(QuoteType, CodQuote, QuoteRev, NomePar, ValPar)
|
|
SELECT @QuoteType, @CodQuote, @QuoteRev, 'NetProd04_sim', NetProd
|
|
FROM QuoteWorkInt
|
|
WHERE QuoteType = @QuoteType_orig
|
|
AND CodQuote = @CodQuote_orig
|
|
AND QuoteRev = @QuoteRev_orig
|
|
AND ProcessNum = '04'
|
|
|
|
INSERT INTO QuoteSimPar(QuoteType, CodQuote, QuoteRev, NomePar, ValPar)
|
|
SELECT @QuoteType, @CodQuote, @QuoteRev, 'MSR01_sim', MSR
|
|
FROM QuoteWorkInt
|
|
WHERE QuoteType = @QuoteType_orig
|
|
AND CodQuote = @CodQuote_orig
|
|
AND QuoteRev = @QuoteRev_orig
|
|
AND ProcessNum = '01'
|
|
|
|
INSERT INTO QuoteSimPar(QuoteType, CodQuote, QuoteRev, NomePar, ValPar)
|
|
SELECT @QuoteType, @CodQuote, @QuoteRev, 'WSR01_sim', WSR
|
|
FROM QuoteWorkInt
|
|
WHERE QuoteType = @QuoteType_orig
|
|
AND CodQuote = @CodQuote_orig
|
|
AND QuoteRev = @QuoteRev_orig
|
|
AND ProcessNum = '01'
|
|
|
|
INSERT INTO QuoteSimPar(QuoteType, CodQuote, QuoteRev, NomePar, ValPar)
|
|
SELECT @QuoteType, @CodQuote, @QuoteRev, 'DSR_sim', DSR
|
|
FROM QuoteWorkInt
|
|
WHERE QuoteType = @QuoteType_orig
|
|
AND CodQuote = @CodQuote_orig
|
|
AND QuoteRev = @QuoteRev_orig
|
|
AND ProcessNum = '04'
|
|
END
|
|
*/
|
|
END
|
|
|
|
-- ricalcolo!
|
|
EXEC stp_QL_fullDataUpdate @QuoteType
|
|
,@CodQuote
|
|
,@QuoteRev
|
|
,'Y'
|
|
|
|
-- PATCH 2014/10 rieseguo ricalcolo x problema parametri simulati mancanti in quoteparam
|
|
EXEC stp_QL_fullDataUpdate @QuoteType
|
|
, @CodQuote
|
|
, @QuoteRev
|
|
, 'Y'
|
|
|
|
COMMIT TRAN
|
|
|
|
-- seleziono intera riga!
|
|
SELECT *
|
|
FROM QuoteList
|
|
WHERE QuoteType = @QuoteType
|
|
AND CodQuote = @CodQuote
|
|
AND QuoteRev = @QuoteRev
|
|
|
|
RETURN |