Files
C2P/C2P_Project/dbo/Stored Procedures/stp_QL_fullDataSearch.sql
T
2014-07-18 16:58:50 +02:00

44 lines
1.6 KiB
Transact-SQL

-- =============================================
-- STORED PROCEDURE stp_QL_fullDataSearch
--
-- Author: Steamware
-- Mod date: 2014.02.11
-- Description: Recupera tutti i dati dalle tab QuoteList x avere schema con ricerca x cliente, item, materiale
-- =============================================
CREATE PROCEDURE [dbo].[stp_QL_fullDataSearch]
(
@CodClient NVARCHAR(50) = ''
, @CodItem NVARCHAR(50) = ''
, @RawMat NVARCHAR(50) = ''
, @DataMin DATETIME
, @DataMax DATETIME
, @qtaMin INT = 0
, @qtaMax INT = 999999
, @QuoteType CHAR(1) = '*'
, @IdxQState INT = '-1'
)
AS
SET NOCOUNT ON
-- cte x selezionare solo ultime revisioni...
;WITH myCte AS
(
SELECT QuoteType, CodQuote, MAX(QuoteRev) AS QuoteRev
FROM QuoteList
GROUP BY QuoteType, CodQuote
)
-- calcolo con aggiunta campi sommati...
SELECT vq.*
FROM v_QuoteFull_Q vq
INNER JOIN myCte mc ON vq.QuoteType = mc.QuoteType AND vq.CodQuote = mc.CodQuote AND vq.QuoteRev = mc.QuoteRev
WHERE vq.CodClient = CASE WHEN ISNULL(@CodClient,'') = '' THEN vq.CodClient ELSE @CodClient END
AND vq.CodItem = CASE WHEN ISNULL(@CodItem,'') = '' THEN vq.CodItem ELSE @CodItem END
AND vq.RawMat = CASE WHEN ISNULL(@RawMat,'') = '' THEN vq.RawMat ELSE @RawMat END
AND vq.CodQuote BETWEEN CONVERT(NVARCHAR(30), @DataMin, 12)*10000 AND (CONVERT(NVARCHAR(30), @DataMax, 12) +1 )*10000
AND vq.BatchQty BETWEEN @qtaMin AND @qtaMax
AND vq.QuoteType = CASE WHEN @QuoteType = '*' THEN vq.QuoteType ELSE @QuoteType END
AND vq.IdxQState = CASE WHEN @IdxQState = -1 THEN vq.IdxQState ELSE @IdxQState END
ORDER BY CodQuote DESC
RETURN