暫無描述

sql_20190625_P_GetHolidays.sql 2.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  1. USE [CallCenter_XinXiangXLX]
  2. GO
  3. /****** Object: StoredProcedure [dbo].[P_GetHolidays] Script Date: 06/25/2019 10:13:18 ******/
  4. SET ANSI_NULLS ON
  5. GO
  6. SET QUOTED_IDENTIFIER ON
  7. GO
  8. ALTER PROCEDURE [dbo].[P_GetHolidays]
  9. AS
  10. BEGIN
  11. SET NOCOUNT ON;
  12. declare @count int=0;
  13. declare @count_Time int=0;
  14. --declare @count_GZR int=0;
  15. declare @count_Result int=0;
  16. --declare @count_zbdh int=0; -- 有无值班电话
  17. declare @HolidaysCode nvarchar(10)='GZR';--默认为工作日 code=GZR
  18. --读取是否是节假日
  19. SELECT @count = count(*) FROM T_Sys_WorkOFFDays where F_OffState=0 AND DATEDIFF(day,f_offDate,getdate())=0
  20. --是节假日读取时间 code=JJR
  21. if @count>0
  22. begin
  23. set @HolidaysCode='JJR';
  24. end
  25. --读取是否是节假日或工作日的工作时间
  26. SELECT @count_Time = count(*) FROM T_Sys_WorkTimes
  27. WHERE F_HolidaysCode =@HolidaysCode
  28. and Convert(varchar(20),getdate(),108)>=F_StartDate and Convert(varchar(20),getdate(),108)<=F_EndDate
  29. --判断是否是工作时间
  30. if @count>0
  31. begin
  32. set @count_Result=0
  33. end
  34. else
  35. begin
  36. if(@count_Time > 0)
  37. begin
  38. set @count_Result=1
  39. end
  40. else
  41. begin
  42. set @count_Result=0
  43. end
  44. end
  45. --1是工作时间,0是非工作时间
  46. select @count_Result;
  47. END