W wisdomphg Unregistered / Unconfirmed GUEST, unregistred user! 2009-09-30 #1 考勤数据0700 0900 1030 1400 1500 1708这是某一个人一天的考勤数据人事制度为0800上班,1700下班,怎么判断出0900-1030和1400-1500为请假考勤记录
S szhcracker Unregistered / Unconfirmed GUEST, unregistred user! 2009-09-30 #2 简单的判断:根据时间排序,先在小于8点的记录中找到最接近的值作为上班时间,如果没有就找大于8点的最接近记录,这个时间作上班时间(可判迟到),接着找出大于17点的记录中最小的记录作为下班时间,如果没有就找小于的、最接近17点的记录(此时可判早退),当中的记录就是请假记录或别的进出记录。如果还有别的需求,判断就会更复杂一点,关键看需求,其实逻辑不难,关键看你要怎样判断了。建议你多利用数据库的排序功能。
简单的判断:根据时间排序,先在小于8点的记录中找到最接近的值作为上班时间,如果没有就找大于8点的最接近记录,这个时间作上班时间(可判迟到),接着找出大于17点的记录中最小的记录作为下班时间,如果没有就找小于的、最接近17点的记录(此时可判早退),当中的记录就是请假记录或别的进出记录。如果还有别的需求,判断就会更复杂一点,关键看需求,其实逻辑不难,关键看你要怎样判断了。建议你多利用数据库的排序功能。