考勤系统:计算正常打卡的人数

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/pingsha_luoyan/article/details/98621344
    def times_count(self, data):
        mem = []
        for reco in data:
            a = [reco[0], reco[1], reco[5], reco[6], reco[10]]
            mem.append(a)
        name_type = {}
        for minzi in mem[1:]:
            name = minzi[1]
            name_type[name] = 0
        for msg in mem[1:]:
            times = msg[0]
            week = datetime.strptime(times, "%Y/%m/%d").weekday()
            if week in (0, 1, 2, 3, 4):
                if msg[2] == "上班打卡" and msg[4] == "正常":
                    if 0 <= int((msg[3])[0:2]) < 9 or msg[3] == "09:00":
                        name_type[msg[1]] += 1
                elif msg[2] == "下班打卡" and msg[4] == "正常":
                    if 24 >= int((msg[3])[0:2]) >= 21:
                        name_type[msg[1]] += 1
            elif week == 5:
                if msg[2] == "上班打卡" and msg[4] == "正常":
                    if 0 <= int((msg[3])[0:2]) < 9 or msg[3] == "09:00":
                        name_type[msg[1]] += 1
                elif msg[2] == "下班打卡" and msg[4] == "正常":
                    if 24 >= int((msg[3])[0:2]) >= 18:
                        name_type[msg[1]] += 1
            elif week == 6:
                pass
        return name_type

猜你喜欢

转载自blog.csdn.net/pingsha_luoyan/article/details/98621344