Files

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