根据从屏幕上输入的@fechaDesde - @FechaHasta和Jornada_Ini的日期(工作日开始),我希望得到员工工作的日子和他休息的日子
员工有2x1天(2天工作1休息),8种类型的天,另一名员工有8x2天(8天工作2休息)。 我和Jornada 2x1的员工一起工作
使用以下代码
DECLARE @FechaDesde datetime, @FechaHasta datetime
set @FechaDesde='2015-03-10 00:00:00.000'
set @FechaHasta='2015-03-31 00:00:00.000'
SELECT CC.NumOperador,
j.Descripcion as Jornada,
(DATEDIFF(DAY, MAX(@FechaDesde), MAX(@FechaHasta)) + 1) AS TotalDias,
((DATEDIFF(DAY, MAX(@FechaDesde), MAX(@FechaHasta)) + 1))/3 AS DiasDescansados,
(DATEDIFF(DAY, MAX(@FechaDesde), MAX(@FechaHasta)) + 1) - (((DATEDIFF(DAY, MAX(@FechaDesde), MAX(@FechaHasta)) + 1))/3) as DiasTrabajados
FROM trkOperadores O
JOIN trkJornada J ON O.cveJornada = J.cveJornada
JOIN CopCalendario CC ON O.NumOperador = CC.NumOperador
WHERE O.cveTipoOperador = 2
AND O.NumOperador = 900200
GROUP BY j.Descripcion, cc.NumOperador
我得到的总天数,7天休息和15天工作,这是正确的 使用下面的日历。
从10月初到3月31日,那些绿色的是工作日,橙色的是休息的,红色的那个是缺乏的,但我仍然不会休息的日子工作正确的结果15工作7休息
但是,如果我的入境日期是3月8日,并且在我的屏幕上生成报告,我会在3月10日至31日之前请求报告而不计入进入日期会发生什么
然后会有14天的工作,在那里我不算错(因为它是休假一天所以我留下来因为我改变了日期来解释一下)我会休息8。 / p>
我可以做些什么来考虑我的Jornada_Ini并且能够获得日历中的结果。
我希望看到我解释!!