CREATE TABLE `attendance_cfg` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,`company_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '細胞ID',`month` char(7) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '年月:202111',`status` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '狀態:0=啟用1=停用2=刪除',`off_type` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '休息類型:0=單休,1=雙休',`days` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '出勤天數:最大31',`off_days` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '休息天數:最大31',`param_json` text COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '月度配置json',`editor_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '操作人ID',`created_at` timestamp NULL DEFAULT NULL,`deleted_at` timestamp NULL DEFAULT NULL,`updated_at` timestamp NULL DEFAULT NULL,PRIMARY KEY (`id`),KEY `company_id` (`company_id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='考勤:細胞考勤配置表';
CREATE TABLE `attendance_check` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,`check_id` bigint(20) unsigned NOT NULL DEFAULT '0' COMMENT '打卡記錄id',`company_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '細胞ID',`userinfo_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '尋木美系統userinfo_ID',`deliuser_id` varchar(32) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '得力系統user_ID',`check_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '打卡時間戳',`check_day` timestamp NULL DEFAULT NULL COMMENT '打卡時間',`check_minute` time NOT NULL DEFAULT '00:00:00' COMMENT '打卡時-分-秒',`check_imei` varchar(16) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '考勤機設備序列號',`check_name` varchar(16) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '考勤機設備名',`check_type` varchar(16) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '得力打卡類型',`check_data` varchar(1024) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '打卡補充數據',`cal` char(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '打卡日歷2021-11-9',`status` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '狀態:0=有效1=無效打卡',`editor_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '校對人',`editor_type` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '校對類型10=補卡',`remark` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '校對備注',`created_at` timestamp NULL DEFAULT NULL COMMENT '記錄api導出時間',`updated_at` timestamp NULL DEFAULT NULL,PRIMARY KEY (`id`),KEY `userinfo_id` (`userinfo_id`)
) ENGINE=InnoDB AUTO_INCREMENT=33 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='考勤:得力Deli打卡記錄表';
CREATE TABLE `attendance_clock` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,`company_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '細胞ID',`clock_type` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '打卡次數:0=2次,1=4次',`is_remind` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '打卡提醒:0=不提醒,1=提醒',`is_overtime` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '是否算加班:0=不計算,1=計算',`reset_num` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '每月可補卡次數',`work_time` decimal(4,1) NOT NULL DEFAULT '8.0' COMMENT '工作時長8',`status` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '狀態:0=啟用1=停用2=刪除',`late_min` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '算遲到分鐘數',`back_num` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '算曠工遲到分鐘數',`clock_json` text COLLATE utf8mb4_unicode_ci NOT NULL COMMENT '每天打卡時間段json',`can_late` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '晚到/早走幾分鐘不記為異常:0=不允許,1=允許',`late_str` varchar(512) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '配置:晚到/早走幾分鐘',`can_free` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '允許晚到晚走/早到早走:0=不允許,1=允許',`free_str` varchar(512) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '配置:自由是上班時間',`editor_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '操作人ID',`created_at` timestamp NULL DEFAULT NULL,`deleted_at` timestamp NULL DEFAULT NULL,`updated_at` timestamp NULL DEFAULT NULL,PRIMARY KEY (`id`),KEY `company_id` (`company_id`)
) ENGINE=InnoDB AUTO_INCREMENT=6 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='考勤:打卡配置表';
CREATE TABLE `attendance_leave` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,`userinfo_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '尋木美系統userinfo_ID',`day` char(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '年月:2021-11-11',`day_type` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '病假|事假|喪假|產假|調休...1-16款',`leave_time` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '假期時長:1-8小時',`start_time` time NOT NULL DEFAULT '00:00:00' COMMENT '請假開始時間',`end_time` time NOT NULL DEFAULT '00:00:00' COMMENT '請假結束時間',`remark` varchar(128) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '備注',`status` tinyint(2) unsigned NOT NULL DEFAULT '0' COMMENT '狀態',`editor_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '確認人ID',`created_at` timestamp NULL DEFAULT NULL,`deleted_at` timestamp NULL DEFAULT NULL,`updated_at` timestamp NULL DEFAULT NULL,PRIMARY KEY (`id`),KEY `userinfo_id` (`userinfo_id`)
) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='考勤:假期-記錄表';
CREATE TABLE `attendance_machine` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,`imei` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '機器序列號',`name` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '機器序名稱',`address` varchar(1024) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '考勤機位置',`company_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '考勤機所屬細胞id',`status` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '狀態:0=啟用1=停用2=刪除',`editor_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '操作人ID',`created_at` timestamp NULL DEFAULT NULL,`deleted_at` timestamp NULL DEFAULT NULL,`updated_at` timestamp NULL DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=5 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='考勤:設備管理表';
CREATE TABLE `attendance_month` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,`userinfo_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '尋木美系統userinfo_ID',`company_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '員工所屬細胞id',`month` char(7) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '年月:2021-11',`status` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '狀態:0=正常1=異常2=無效',`work_days` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '實際出勤天數',`work_hours` decimal(6,1) unsigned NOT NULL DEFAULT '0.0' COMMENT '實際工作時長',`except_days` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '異常天數',`later_hours` decimal(6,1) unsigned NOT NULL DEFAULT '0.0' COMMENT '遲到時長',`before_num` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '早退次數',`before_hours` decimal(6,1) unsigned NOT NULL DEFAULT '0.0' COMMENT '早退時長',`no_work_hours` decimal(6,1) unsigned NOT NULL DEFAULT '0.0' COMMENT '曠工時長',`un_clock_num` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '漏打卡次數',`reset_num` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '補卡次數',`out_num` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '外出次數',`company_num` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '出差天數',`year_num` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '年假天數',`leave_num` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '事假天數',`sick_num` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '病假天數',`over_work_num` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '調休假天數',`marry_num` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '婚假天數',`baby_num` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '產假天數',`daddy_num` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '陪產假天數',`die_num` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '喪假天數',`editor_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '確認人ID',`created_at` timestamp NULL DEFAULT NULL,`deleted_at` timestamp NULL DEFAULT NULL,`updated_at` timestamp NULL DEFAULT NULL,PRIMARY KEY (`id`),KEY `month` (`month`),KEY `userinfo_id` (`userinfo_id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='考勤:月度報表';
CREATE TABLE `attendance_records` (`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,`attendance_type` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL,`attendance_id` bigint(20) unsigned DEFAULT NULL COMMENT '考試中心id',`describe` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '記錄描述',`type` tinyint(4) NOT NULL COMMENT '記錄類型,物流,支付等',`subtype` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '子類型',`state` tinyint(3) unsigned DEFAULT NULL COMMENT '可用標志狀態',`param` text COLLATE utf8mb4_unicode_ci COMMENT '記錄參數',`editor_id` int(11) NOT NULL COMMENT '編輯人ID',`deleted_at` timestamp NULL DEFAULT NULL,`created_at` timestamp NULL DEFAULT NULL,`updated_at` timestamp NULL DEFAULT NULL,PRIMARY KEY (`id`) USING BTREE,KEY `attendance_id` (`attendance_id`)
) ENGINE=InnoDB AUTO_INCREMENT=18 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='考勤:考勤操作記錄表';
CREATE TABLE `attendance_work` (`id` int(10) unsigned NOT NULL AUTO_INCREMENT,`userinfo_id` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '尋木美系統userinfo_ID',`company_id` smallint(5) unsigned NOT NULL DEFAULT '0' COMMENT '員工所屬細胞id',`work_day` char(10) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '打卡日歷2021-11-11',`status` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '狀態:0=正常1=異常2=無效',`check_num` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '當日打卡次數',`reset_num` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '當日補卡次數',`leave_num` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '缺卡次數',`editor_id` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '校對人ID',`late_min` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '遲到時長',`before_min` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '早退時長',`unwork_min` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '曠工時長',`over_min` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '加班時長',`record1` time NOT NULL DEFAULT '00:00:00' COMMENT '上午上班時間',`record2` time NOT NULL DEFAULT '00:00:00' COMMENT '上午下班時間',`record3` time NOT NULL DEFAULT '00:00:00' COMMENT '下午上班時間',`record4` time NOT NULL DEFAULT '00:00:00' COMMENT '下午下班時間',`remark` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL DEFAULT '' COMMENT '備注',`created_at` timestamp NULL DEFAULT NULL,`deleted_at` timestamp NULL DEFAULT NULL,`updated_at` timestamp NULL DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='考勤:日歷表';
規則:
考勤月份:根據篩選條件的月份統計
員工:員工檔案名稱
崗位名稱:員工檔案崗位名稱
應出勤天數:計算當月需要出勤的天數(從出勤天數內獲取上班天數)
實際出勤天數:應出勤天數-異常天數-事假天數
標準工作時長:根據本月應出勤的天數*打卡設置內的工作時長
實際工作時長:標準工作時長-遲到時長-曠工時長-早退時長
狀態:正常(異常天數=0)異常(異常天數≥1)
異常天數:統計員工異常的打卡記錄
遲到時長:員工遲到分鐘數<120分鐘
早退次數:累計員工打卡記錄內的早退次數(一天早退兩次統計兩次)
早退時長:累計員工打卡記錄內的早退時長
曠工時長:員工遲到分鐘數≥120分鐘
漏打卡次數/補卡次數/外出次數/出差天數/年假添加/事假天數/病假添加/調休假天數/婚假天數/產假天數/陪產假天數/喪假天數:根據用戶保存的校對類型統計
日報規則:
日期:
員工:打卡用戶名稱
崗位名稱:檔案內的崗位名稱
標準工作時長:根據本月應出勤的天數*打卡設置內的工作時長
實際工作時長:標準工作時長-遲到時長-曠工時長-早退時長
打卡時段:登錄細胞配置打卡時間段
打卡類型:用戶配置的每日應打卡次數(格式:1天xx次)
最早打卡時間:用戶今日最早打卡時間(00:00:00-23:59:59)
最晚打卡時間:用戶進入最后一次打卡時間(00:00:00-23:59:59)
打卡次數:在打卡規則內有效的打卡次數(例:9:00打上班卡,無論員工在9:00及9:00前打了多少次卡,只統計一次上班打卡)
狀態:打卡次數等于打卡類型時狀態等于“正常”;打卡次數小于打卡類型、實際工作時長<標準工作時長狀態為“異常”
遲到時長:根據用戶在打卡設置內的配置進行判斷,無彈性打卡時超過用戶設置的上班時間便開始統計遲到分鐘數;有彈性打卡超過用戶設置的最晚時間還未打卡便統計遲到分鐘數(例:9:00上班,可晚30分鐘,員工在31打卡時,遲到分鐘數為31分鐘)
早退時長:根據用戶咋打卡設置內的配置判斷。無彈性打卡時,打卡時間早于用戶設置的下班時間視為早退;有彈性打卡時,打卡時間下班時間相差超過用戶設置的最早分鐘數,便視為早退(例:18:00下班,可早20分鐘打卡,用戶在17:32打卡,早退分鐘數為28分鐘)
缺卡次數:打卡類型-打卡次數-補發次數
補卡次數:根據用戶在今日校對時選擇的打卡時間校對方式進行統計(例:用戶在今日一個時間段內做了兩次補卡操作,仍算做補卡1次)
A打卡記錄(9:33 12:10 18:31)
C打卡記錄(9:33 11:55 12:01 14:04 18:31)
D打卡記錄(9:33 11:55 14:04 18:31)
E打卡記錄(9:33 11:45 12:01 18:44 19:31)
F打卡記錄(8:44 12:01)
G打卡時間(7:56 8:45 11.45 11:59 13:23 16:43 18:43 20:21)
H打卡時間(8:56)
I打卡時間(18:58)
J打卡時間(8:55 12:01 12:44 13:44 18:56)
K打卡時間(8:33 12:03 18:31 18:59)如何找出有效的4次打卡記錄
子公司有的是打卡2次
有的4次
2021年11月20日18:03:59
總結
以上是生活随笔為你收集整理的php开发考勤系统、OA系统简易版Mysql数据库设计的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。