I want to Mark holidays from the database and auto mark weekends to my attendance system. i have created a database for the holidays for the current year and i want to use that data to mark the holidays for the current years

Here is My Stored Procedure:
@STARTDATE DATETIME ='2021-07-01',
@ENDDATE DATETIME='2021-07-31',
@message varchar(200)=null outputAS
BEGIN
WITH DATERANGE AS
( SELECT DT =DATEADD(DD,0, @STARTDATE) WHERE DATEADD(DD, 1, @STARTDATE) <= @ENDDATE UNION ALL SELECT DATEADD(DD, 1, DT) FROM DATERANGE WHERE DATEADD(DD, 1, DT) <= @ENDDATE
)
SELECT * INTO #TMP_DATES
FROM DATERANGE DECLARE @COLUMN VARCHAR(MAX)
SELECT @COLUMN=ISNULL(@COLUMN+',','')+ '['+ CAST(DAY(CONVERT(DATE , T.DT)) AS VARCHAR) + ']' FROM #TMP_DATES T
print(@COLUMN)DECLARE @Columns2 VARCHAR(MAX)
SET @Columns2 = SUBSTRING((SELECT ',ISNULL(['+ CAST(DAY(CONVERT(DATE , DT)) as varchar )+'],''A'') AS ['+CAST(DAY(CONVERT(DATE , DT)) as varchar )+']' FROM #TMP_DATES GROUP BY dt FOR XML PATH('')),2,8000)
print(@Columns2)
DECLARE @QUERY VARCHAR(MAX)SET @QUERY = 'SELECT udise as ''UDISE CODE'', ' + @Columns2 +' FROM
(
SELECT A.udise , DAY(B.DT) AS DATE, (case when A.intime is not null and A.outtime is not null then ''P'' Else ''A'' End) as [STATUS] FROM emp_attendence A RIGHT OUTER JOIN #TMP_DATES B ON DAY(A.DATE)=DAY(B.DT)
) X
PIVOT
(
MIN([STATUS])
FOR [DATE] IN (' + @COLUMN + ')
) P
WHERE ISNULL(udise,'''')<>''''
' EXEC (@QUERY) DROP TABLE #TMP_DATES
I tried a lot, but couldn't find how to solve this.