Files
Rootvin-pluginHDCRTN/_sql/ef_Vyroba_VratCisloSarze.sql
2025-05-21 21:06:33 +02:00

43 lines
1.1 KiB
Transact-SQL

-- dbo.ef_Vyroba_VratCisloSarze
CREATE FUNCTION dbo.ef_Vyroba_VratCisloSarze (@Datum DATETIME=NULL, @Typ TINYINT=1, @iso BIT=1)
RETURNS NVARCHAR(5)
AS
BEGIN
DECLARE
@smena TINYINT=0,
@pracDen NCHAR(1)=N'',
@tyden NCHAR(2)=N'',
@retVal NVARCHAR(5),
@den TINYINT,
@NYden TINYINT
SET @Datum = ISNULL(@Datum, GETDATE())
SELECT @smena=Smena, @Datum=Datum FROM dbo.ef_GetDatumASmenu (@Datum)
SET @NYden = DATEPART(weekday, '20240101') -- pondeli
--SET @pracDen = CONVERT(nchar(1), (DATEPART(weekday, @Datum) + @@DATEFIRST - 2) % 7 + 1)
SET @den = DATEPART(weekday, @Datum)
IF (@NYden=1) -- system ma nastaveno pondeli=1, Rootvin potrebuje nedele=1
BEGIN
IF (@den=7) -- nedele=7 -> nedele=1
SET @den = 1
ELSE
SET @den = @den + 1
END
SET @pracDen = CONVERT(nchar(1), @den)
IF (@typ=1)
SET @tyden = IIF(@iso=0, FORMAT(DATEPART(week, @Datum), '00', 'cs-cz'), FORMAT(DATEPART(iso_week, @Datum), '00', 'cs-cz'))
IF (@typ=2)
SET @tyden = IIF(@iso=0, FORMAT(DATEPART(week, @Datum), '00', 'en-gb'), FORMAT(DATEPART(iso_week, @Datum), '00', 'en-gb'))
SET @retVal = RIGHT(FORMAT(@Datum, 'yy'), 1) + @tyden + @pracDen + FORMAT(@smena, '0')
RETURN @retVal
END