我网站的出勤模块。
任何人都可以在我的cakephp网站上解决我的问题。实际上我已经将数据存储在数据库中时,该模块未显示任何数据。使用cakephp网站和RFID + Raspberrypi 3用于签到和签出。检查下面的链接以获取更多信息。
这里是数据库,用于存储我的出勤数据。
这是我要参加的存储过程
BEGIN
select final.PKID, final.FirstName, final.LastName, final.AttDate, final.Weekday, final.CheckInTime, final.CheckInTime1,
final.CheckOutTime, final.CheckOutTime1,
/*final.OT, final.UT,*/
case
when final.WorkingHours1 + final.WorkingHours2 >= 8 then 'Yes' else 'No'
end 'OT',
case
when final.WorkingHours1 + final.WorkingHours2 < 7 then 'Yes' else 'No'
end 'UT',
final.WorkingHours1, final.WorkingHours2,
WorkingHours1 + WorkingHours2 as 'TotalWorkingHours',
final.TagID
from (
select att.TagID 'PkID' , emp.FirstName 'FirstName', emp.LastName 'LastName',
IFNULL( DATE_FORMAT(att.CheckInTime, '%c-%d-%Y'),'--') AttDate,
IFNULL( DATE_FORMAT(att.CheckInTime, '%W'),'--') Weekday,
IFNULL( DATE_FORMAT(att.CheckInTime, '%h:%I %p'),'--') CheckInTime,
IFNULL(DATE_FORMAT(att.CheckInTime1, '%h:%I %p'),'--') CheckInTime1,
IFNULL(DATE_FORMAT(att.CheckOutTime, '%h:%I %p'),'--')CheckOutTime ,
IFNULL(DATE_FORMAT(att.CheckOutTime1, '%h:%I %p'),'--') CheckOutTime1,
HOUR(TIMEDIFF(cast( att.CheckOutTime AS datetime ), cast( att.CheckInTime AS datetime ))) WorkingHours1,
HOUR(TIMEDIFF(cast( att.CheckOutTime1 AS datetime ), cast( att.CheckInTime1 AS datetime ))) WorkingHours2,
emp.TagID
/*'OT' OT, 'UT' UT*/
from rpi_data att
right outer join users usr on usr.id=att.FKEmployeeId
right outer join employee emp on emp.Email=usr.Email
where
usr.username <> "Admin"
and
date(att.CheckInTime) between date(startDate) and date(endDate)
and usr.Id=case when attendanceDateTime = 0 then usr.id else attendanceDateTime end
) as final ;
END
这是我的桌子
用户表结构
rpi_data结构