Files
HDCApi/_custom/INCOSystems/sql/ef_Vyroba_EvidROpR_MamNeuzavrenouPredchozi.sql
2026-03-03 16:18:27 +01:00

32 lines
1.3 KiB
Transact-SQL

-- dbo.ef_Vyroba_EvidROpR_MamNeuzavrenouPredchozi
CREATE FUNCTION dbo.ef_Vyroba_EvidROpR_MamNeuzavrenouPredchozi (@IDPrikaz INT, @Doklad INT, @Alt NCHAR(1) )
RETURNS BIT
AS
BEGIN
DECLARE
@retVal BIT=0,
@sCisOper NVARCHAR(4),
@iCisOper INT
DECLARE @idPredOperaci TABLE (ID INT NOT NULL)
SET @sCisOper=(SELECT TOP(1) TRIM(Operace) FROM dbo.TabPrPostup WITH(NOLOCK) WHERE IDPrikaz=@IDPrikaz AND Doklad=@Doklad AND Alt=@Alt AND IDOdchylkyDo IS NULL)
SET @iCisOper=TRY_PARSE(@sCisOper AS INT)
IF (@iCisOper IS NOT NULL)
BEGIN
-- zjisti IDcka operaci prede mnou (dle cisla operace)
INSERT @idPredOperaci (ID)
SELECT ID FROM dbo.TabPrPostup WITH(NOLOCK) WHERE IDPrikaz=@IDPrikaz AND IDOdchylkyDo IS NULL AND ISNULL(TRY_PARSE(TRIM(Operace) AS INT),0)<@iCisOper
-- jsou operace prede mnou ?
IF EXISTS(SELECT 1 FROM @idPredOperaci)
-- je nejaka co mam rozjetou v Evid.rozprac.operaci ?
IF EXISTS (SELECT 1 FROM dbo.TabEvidRozpracOperR r WITH(NOLOCK) JOIN dbo.TabEvidRozpracOper h WITH(NOLOCK) ON (h.ID=r.IDEvidRozpracOper)
JOIN dbo.TabPrPostup p WITH(NOLOCK) ON (p.IDPrikaz=@IDPrikaz AND p.IDOdchylkyDo IS NULL)
WHERE p.ID IN (SELECT ID FROM @idPredOperaci) AND h.Stav IN (10,20)
)
SET @retVal=1
END
RETURN @retVal
END