我正在重新设计我公司使用的考勤系统。最初,考勤表呈现在一个网格上,该网格正在获取每周数据透视。我选择了 DevExpress 的调度程序控件。签到和签出现在被表示为两个“约会”。
调度程序需要一个非常具体的约会数据源。这是我的出勤表:
DutyIn_Manual 是员工报告的内容,DutyIn 是实际捕获的时间。DutyIn_Manual 将显示在调度程序上。同样,DutyOut_Manual 进入视图。
现在,我需要将一排分成两排:一排用于值班,一排用于值班。
非常感谢任何帮助。
更新 @Mikael Eriksson 的解决方案非常有效。
这是我更新的查询:
DECLARE @T TABLE
(
Id INT IDENTITY PRIMARY KEY,
AttendanceId INT,
StaffNumber VARCHAR(50),
DutyDate DATE,
DutyIn TIME,
DutyOut TIME,
DutyInManual TIME,
DutyOutManual TIME
);
INSERT INTO @T
SELECT [iSAID],
[cStaffNo],
[dtDutyDate],
[dtDutyIN],
[dtDutyOUT],
[dtDutyIN_Manual],
[dtDutyOUT_Manual]
FROM [Attendance].[dbo].[StaffAttendance];
SELECT T.Id,
T.AttendanceId,
T.StaffNumber,
T.DutyDate,
S.DutyAuto,
S.DutyManual,
S.DutyType
FROM @T AS T
CROSS APPLY
(
VALUES
(T .DutyIn, T.DutyInManual, 'In'),
(T .DutyOut, T.DutyOutManual, 'Out')
) AS S (DutyAuto, DutyManual, DutyType);