logo资料库

汉王考勤机表结构.pdf

第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
资料共13页,剩余部分请下载后查看
常用表结构 /****** 部门表 [dbo].[KQZ_Brch] ******/ CREATE TABLE [dbo].[KQZ_Brch] ( [BrchID] [bigint] PRIMARY KEY NOT NULL, [PID] [bigint] NOT NULL , [BrchName] [varchar] (200) NOT NULL , [BrchOrder] [smallint] NOT NULL, /* 在兄弟部门中顺序 */ /* WEB 查询用到的字段 */ [ATTENDDAY] [varchar] (10) DEFAULT '1111100' NOT NULL, /* 出勤日 */ [AMBEGIN] [datetime] DEFAULT GetDate(), /* 上午 上班 */ [AMEND] [datetime] DEFAULT GetDate(), /* 上午 下班 */ [PMBEGIN] [datetime] DEFAULT GetDate(), /* 下午 上班 */ [PMEND] [datetime] DEFAULT GetDate(), /* 下午 下班 */ [Comment] [varchar] (255) NULL ) GO /****** 员工信息表 [dbo].[KQZ_Employee] ******/ CREATE TABLE [dbo].[KQZ_Employee] ( [EmployeeID] [bigint] IDENTITY (1, 1) PRIMARY KEY NOT NULL, [BrchID] [bigint] NOT NULL , [BrchName] [varchar] (200) NOT NULL, /* 部门名称,保存人员离职前的部门名称 */ [EmployeeCode] [varchar] (16) NOT NULL , [EmployeeName] [varchar] (250) NOT NULL , [Gender] [smallint] DEFAULT 2 NOT NULL, /* 性别 0:女 1:男 2:未知 */ [Birthday] [datetime] DEFAULT GetDate(), [Nation] [varchar] (50), /* 民族 */ [NATIVEPLACE] [varchar] (50), /* 籍贯 */ [ZhengZhi] [varchar] (50), /* 政治面貌 */ [MARITALSTATUS] [varchar] (20), /* 婚姻状况 */ [Health] [varchar] (20), /* 健康状况 */ [Title] [varchar] (50), /* 职位 */ [APOSITION] [varchar] (50), /* 职称 */ [EDUCATION] [varchar] (50), /* 学历 */ [School] [varchar] (100), /* 毕业学校 */ [Graduation] [datetime] DEFAULT GetDate(), /* 毕业时间 */ [WorkPhone] [varchar] (20), /* 办公电话 */ [EnrollDate] [datetime] DEFAULT GetDate(), /* 入职时间 */ [Privilege] [smallint] DEFAULT 0 NOT NULL, /* 员工权限 */ [Photo] [image] NULL, /* 照片 */ [IDCard] [varchar] (20) NULL , /* 证件号 */
[AddrHome] [varchar] (200), /* 家庭地址 */ [CardCode] [varchar] (20), /* 卡号 */ [Mobile] [varchar] (20), /* 手机 */ /* 考勤规则相关 */ [IsCheck] [smallint] DEFAULT 1 NOT NULL, /* 是否考勤 */ [OnRule] [smallint] DEFAULT 0 NOT NULL, /* 签到规则 0:根据时段判断 1:必须签到 2:必 须签退 */ [OffRule] [smallint] DEFAULT 0 NOT NULL, /* 下班签到规则 */ [CanOvertime] [smallint] DEFAULT 1 NOT NULL, /* 是否计算加班 */ [HaveFesta] [smallint] DEFAULT 1 NOT NULL, /* 是否有节日 */ /* 设备相关信息 */ [DevType] [smallint] DEFAULT 0 NOT NULL, /* 考勤机类型 定义见 TDevType 枚举 */ [HDCPInfo] [image] NULL, /* HDCP 协议字符串 */ [RegisterType] [smallint] DEFAULT 0 NOT NULL, /* 登记类型,新设备新增字段 */ [Comment] [varchar] (250), /* 备注 */ [EmployeeLogPwd] [varchar] (6) DEFAULT '123456' NOT NULL, /* 密码,用于 Web 浏览 */ /* 以下是设备关注的信息 */ [CheckType] [varchar] (30), /* 考勤方式 */ [OpendoorType] [varchar] (30), /* 开门方式,可能的常量值为检查方式常量 */ [ModelNum] [smallint] DEFAULT 0 NOT NULL, /* 考勤机上登记的模板数目 */ [HavePwd] [smallint] DEFAULT 0 NOT NULL, /* 考勤机有无登记密码 */ [StaffStatus] [smallint], /* 人员状态,0:班外 1:班内 2:异常 */ [LastCardID] [bigint], /* 最后卡点 id,有新卡点,从哪一个卡点开始计算 */ /* 保留字段 */ [Reserved1] [varchar] (200) NULL, [Reserved2] [varchar] (200) NULL, [Reserved3] [varchar] (200) NULL, [Reserved4] [varchar] (200) NULL ) GO /****** 管理员表 [dbo].[KQZ_Admin] ******/ CREATE TABLE [dbo].[KQZ_Admin] ( [HwAdminID] [int] PRIMARY KEY NOT NULL, [HwAdminName] [varchar] (200) NOT NULL, /* 管理员名称 */ [HwPwd] [varchar] (64) NOT NULL, /* 管理员密码 */ [Question] [varchar] (100), /* 密码提示问题 */ [Answer] [varchar] (100), /* 密码提示问题的答案 */ [Privilege] [smallint] DEFAULT 0 NOT NULL, /* 权限 0:Admin 1:AttManager 2:BrchManager 3:BrchAdmin */
[Branches] [varchar] (5000), /* 可以操作的部门 ID 列表,以逗号分隔 */ [IsLogin] [smallint] DEFAULT 0 NOT NULL /* 该用户是否已经登入 */ ) GO /****** 管理员可操作的部门表 [dbo].[KQZ_Admin2Brch] ******/ CREATE TABLE [dbo].[KQZ_Admin2Brch] ( [HwAdminID] [bigint] NOT NULL, [BrchID] [bigint] NOT NULL ) GO /****** 考勤机信息表表 [dbo].[KQZ_DevInfo] ******/ CREATE TABLE [dbo].[KQZ_DevInfo] ( /* [DevID] [bigint] IDENTITY (1, 1) PRIMARY KEY NOT NULL, 设备 ID 要重用,因此去掉自增 */ [DevID] [bigint] PRIMARY KEY NOT NULL, [DevName] [varchar] (200) NOT NULL , [DevType] [smallint] DEFAULT 0 NOT NULL , [DevClass] [smallint] DEFAULT 0 NOT NULL, /* 设备类型 0:考勤机 1:门禁机 */ [IPAddress] [varchar] (20) NULL , [ComPort] [smallint] DEFAULT 1 NOT NULL , [Baud] [int] DEFAULT 38400 NOT NULL , [CommType] [smallint] DEFAULT 0 NOT NULL , [LastRcdTime] [datetime] DEFAULT GetDate() NOT NULL, /* 最后一次下载记录的时间 */ [DevPwd] [varchar] (20), /* 通信密码 */ [Mask] [varchar] (20), /* 子网掩码 */ [Gateway] [varchar] (20), /* 网关 */ [Mac] [varchar] (20), [Serial] [varchar] (20), /* 设备序列号 */ [Edition] [varchar] (20), /* 软件版本号 */ [Volume] [varchar] (20), /* 音量 */ [Comment] [varchar] (500) NULL ) GO /****** 设备管理员列表 [dbo].[KQZ_Dev_Admin] ******/ CREATE TABLE [dbo].[KQZ_Dev_Admin] ( /* [DevAdminID] [bigint] IDENTITY (1, 1) PRIMARY KEY NOT NULL, 设备管理员 ID 要重用,因 此去掉自增 */ [DevAdminID] [bigint] PRIMARY KEY NOT NULL, /* 管理员号 */ [DevAdminCode] [varchar] (16) NOT NULL, /* 管理员工号 */ [DevAdminName] [varchar] (200) NOT NULL, /* 管理员名称 */ [ModelNum] [smallint] DEFAULT 0 NOT NULL, /* 模板数目 */ [AdminInfo] [image] NULL, /* 考勤机管理员信息备份 */
[Comment] [varchar] (500), /* 备注 */ [DevAdminType] [smallint] DEFAULT 0 NOT NULL, [DevType] [smallint] DEFAULT 0 NOT NULL ) GO /****** 正常班次表 [dbo].[KQZ_Shift] ******/ CREATE TABLE [dbo].[KQZ_Shift] ( [ShiftID] [bigint] IDENTITY (1, 1) PRIMARY KEY NOT NULL, /* 正常班 ID */ [ShiftName] [varchar] (200) NOT NULL, [ShortName] [varchar] (10), /* 班次简称 */ [BeginTime] [datetime] DEFAULT GetDate() NOT NULL, /* 倒班启用时间 */ [FestaID] [int] DEFAULT 0 NOT NULL, /* 0:无节日假日方案 1:节日有效 */ [WeekendID] [int] DEFAULT 0 NOT NULL, /* 0:无公休日方案 1:公休日有效 */ [Period] [smallint] DEFAULT 1 NOT NULL, /* 倒班周期 */ [PeriodUnit] [smallint] DEFAULT 0 NOT NULL, /* 周期单位 0:day 1:week 2: month */ [IsAutoOvertime] [smallint] DEFAULT 0 NOT NULL, /* 是否允许自动加班 */ [IsFromOffduty] [smallint] DEFAULT 1 NOT NULL, /* 自动加班工时是否从下班开始算起 */ [DelayTime] [smallint] DEFAULT 60 NOT NULL, /* 下班后 DelayTime 后记为自动加班 */ [CheckAutoOvertime] [smallint] DEFAULT 1 NOT NULL, /* 自动加班工时是否需要审核 0:不 需要 1:需要 */ [IsLeak2Absent] [smallint] DEFAULT 1 NOT NULL, /* 漏打卡是否计为时段缺勤 */ [absent2HalfDay] [smallint] DEFAULT 120 NOT NULL, /* 分钟到半天 */ [absent2Day] [smallint] DEFAULT 240 NOT NULL, /* 分钟到天 */ [Span_midnight] [smallint] DEFAULT 0 NOT NULL, /* 跨夜时段按哪天算 0:first day 1:next day */ [Comment] [varchar] (500) /* 备注 */ ) GO /****** 班次与时段的关系表 [dbo].[R_Shift_Prd] ******/ CREATE TABLE [dbo].[R_Shift_Prd] ( [RID] [bigint] IDENTITY (1, 1) PRIMARY KEY NOT NULL, /* 主键,无实义 */ [ShiftID] [bigint] NOT NULL, /* 班次 ID */ [ShiftOrder] [smallint] NOT NULL, /* 在倒班周期里的顺序,从 0 开始 */ [PeriodID] [bigint] NOT NULL /* 时段 ID */ ) GO /****** 班次时段表(存放 正常班 的班次时段信息) [dbo].[KQZ_Period] ******/ CREATE TABLE [dbo].[KQZ_Period] ( [PeriodID] [bigint] IDENTITY (1, 1) PRIMARY KEY NOT NULL, [PeriodName] [varchar] (200) NOT NULL, /* 时段名称 */
[IsWorkPeriod] [smallint] DEFAULT 0 NOT NULL, /* 是否为上班时段 */ [PeriodBegin] [datetime] DEFAULT GetDate() NOT NULL, /* 时间段开始时间 */ [PeriodEnd] [datetime] DEFAULT GetDate() NOT NULL, /* 时间段结束时间 */ [BeginSpanBegin] [smallint] DEFAULT 120 NOT NULL, /* 时间段开始签到开始时间,单 位:分钟 */ [BeginSpanEnd] [smallint] DEFAULT 120 NOT NULL, /* 时间段开始签到结束时间,单位:分 钟 */ [EndSpanBegin] [smallint] DEFAULT 120 NOT NULL, /* 时间段结束签退开始时间,单位:分 钟 */ [EndSpanEnd] [smallint] DEFAULT 120 NOT NULL, /* 时间段结束签退结束时间,单位: 分钟 */ [PeriodWorkTime] [smallint] NOT NULL, /* 时间段工时,单位:分钟 */ [PeriodBeginChk] [smallint] DEFAULT 0 NOT NULL, /* 上班是否必须打卡 */ [PeriodEndChk] [smallint] DEFAULT 0 NOT NULL, /* 下班是否必须打卡 */ [Color] [int] NOT NULL ) GO /****** 签到班班次表 [dbo].[KQZ_ShiftSignin] ******/ CREATE TABLE [dbo].[KQZ_ShiftSignin] ( [ShiftSID] [bigint] IDENTITY (1, 1) PRIMARY KEY NOT NULL , [ShiftSName] [varchar] (200) NOT NULL, [ShortSName] [varchar] (10), /* 班次简称 */ [FestaID] [int] DEFAULT 0 NOT NULL, /* 节日假日方案 ID */ [WeekendID] [int] DEFAULT 0 NOT NULL, /* 公休日方案 ID */ [WorkTime] [smallint] DEFAULT 0 NOT NULL, /* 计为工时数(分钟) */ [Pattern] [smallint] DEFAULT 0 NOT NULL, /* 计为工时数(分钟) */ /* 以下字段对 SIGNIN_PATTERN.REGULAR 方式有效 */ [BeginTime] [datetime] DEFAULT GetDate() NOT NULL, /* 开始时间 */ [EndTime] [datetime] DEFAULT GetDate() NOT NULL, /* 结束时间 */ [Interval] [smallint] DEFAULT 0 NOT NULL, /* 间隔(分钟) */ [Span] [smallint] DEFAULT 0 NOT NULL, /* 时段跨度(分钟) */ [Span_midnight] [smallint] DEFAULT 0 NOT NULL, /* 有跨夜时段时,班次按第一天算还是 按第二天算 0:first day 1:next day */ [Comment] [varchar] (500) /* 备注 */ ) GO /****** 签到班班次时段表 [dbo].[KQZ_Period_Signin] ******/ CREATE TABLE [dbo].[KQZ_Period_Signin] ( [PeriodSID] [bigint] IDENTITY (1, 1) PRIMARY KEY NOT NULL, [PeriodSName] [varchar] (50) NOT NULL, /* 时段名称 */ [ShiftID] [bigint] NOT NULL, /* “班次表”的具体的 ID */
[PeriodBegin] [datetime] DEFAULT Getdate() NOT NULL, /* 时间段开始时间 */ [PeriodEnd] [datetime] DEFAULT Getdate() NOT NULL, /* 时间段结束时间 */ [Color] [int] NOT NULL ) GO /****** 计工时班班次表 [dbo].[KQZ_ShiftSum] ******/ CREATE TABLE [dbo].[KQZ_ShiftSum] ( [ShiftSumID] [bigint] IDENTITY (1, 1) PRIMARY KEY NOT NULL, [ShiftSumName] [varchar] (200) NOT NULL, [ShortSumName] [varchar] (10), /* 班次简称 */ [FestaID] [int] DEFAULT 0 NOT NULL, /* 节日假日方案 ID */ [WeekendID] [int] DEFAULT 0 NOT NULL, /* 公休日方案 ID */ [StatMode] [smallint] DEFAULT 0 NOT NULL, /* 统计上班时段的方式 0:只取当天第一点 和最后一点 1:卡点顺序匹配 */ [OnWorkTime] [smallint] DEFAULT 0 NOT NULL, /* 每工作日应在岗工时 72 小时以内 */ [MaxWorkTime] [smallint] DEFAULT 0 NOT NULL, /* 最长工作时间 72 小时以内 */ [NPercent] [smallint] DEFAULT 100 NOT NULL, /* 正常工时倍率*100 */ [FPercent] [smallint] DEFAULT 100 NOT NULL, /* 节日工时倍率*100 */ [WPercent] [smallint] DEFAULT 100 NOT NULL, /* 公休日工时倍率*100 */ [Span_midnight] [smallint] DEFAULT 0 NOT NULL, /* 有跨夜时段时,班次按第一天算还是 按第二天算 0:first day 1:next day */ [Comment] [varchar] (500) /* 备注 */ ) GO /****** 排班表 [dbo].[KQZ_Arrange] ******/ CREATE TABLE [dbo].[KQZ_Arrange] ( [EmployeeID] [bigint] DEFAULT 0 NOT NULL, /* 员工 ID; Is4Brch=1 时,用于标识属于这个部门 的班次 */ [Is4Brch] [smallint] DEFAULT 0 NOT NULL, /* 是否部门排班 0:员工排班 1:部门排班 2:部 门排班,部门默认班次 */ [ShiftType] [smallint] NOT NULL, /* 班次类型 -1: 智能班(正常班列表)0:normal 1:signin 2:sum */ [BeginPeriod] [smallint] NOT NULL, /* 对于正常班有效,记录了排班时班次从哪个周期开 始,周期从 0 开始 */ [BeginPeriodDate] [datetime] DEFAULT GetDate() NOT NULL, /* 对于正常班有效,开始周期 对应的日期 */ [ShiftID] [bigint] NOT NULL, /* “班次表”的具体的 ID */ [ShiftBeginTime] [datetime] DEFAULT GetDate() NOT NULL, /* 进班时间 */ [ShiftEndTime] [datetime] DEFAULT GetDate() NOT NULL, /* 退班时间 */ [IsDefault] [smallint] DEFAULT 0 NOT NULL /* 0:非默认班次 1:默认班次 只对智能排班有 效,增加智能班时,用户可以指定默认班次 */ )
GO /****** 加班类型表 [dbo].[KQZ_OverType] ******/ CREATE TABLE [dbo].[KQZ_OverType] ( [OverTypeID] [bigint] DEFAULT 0 PRIMARY KEY NOT NULL, /* 加班类型 ID */ [OverTypeName] [varchar] (50) NOT NULL, /* 加班类型名称 */ [ShortOName] [varchar] (10), /* 加班类型简称 */ [OPercent] [smallint] DEFAULT 100 NOT NULL, /* 加班工时倍率*100 */ [Comment] [varchar] (500) ) GO /****** 加班表 [dbo].[KQZ_OverTime] ******/ CREATE TABLE [dbo].[KQZ_OverTime] ( [OvertimeID] [bigint] IDENTITY (1, 1) PRIMARY KEY NOT NULL, [EmployeeID] [bigint] DEFAULT 0 NOT NULL, /* 员工 ID */ [OverTypeID] [int] DEFAULT 1 NOT NULL, /* 加班类型 ID */ [OverSetType] [int] DEFAULT 0 NOT NULL, /* 0:预设加班 1:自由加班 2:自动加班 */ [PrdStatus] [smallint] DEFAULT 0 NOT NULL, /* 时段状态 -1:无效 0:需要审核 1:有效 */ [ShiftDate] [datetime] DEFAULT GetDate() NOT NULL, /* 本记录所在班次的日期,精确到天 */ [BeginTime] [datetime] DEFAULT GetDate() NOT NULL, /* 加班开始时间 */ [EndTime] [datetime] DEFAULT GetDate() NOT NULL, /* 加班结束时间 */ [PrdLen] [int] DEFAULT 0 NOT NULL, /* 时段长度(分钟),考虑了和班次时段叠加情况的长 度 */ [BeginSpanBegin] [smallint] DEFAULT 120 NOT NULL, /* 时间段开始签到开始时间(分钟) */ [BeginSpanEnd] [smallint] DEFAULT 120 NOT NULL, /* 时间段开始签到结束时间(分钟) */ [EndSpanBegin] [smallint] DEFAULT 120 NOT NULL, /* 时间段结束签退开始时间(分钟) */ [EndSpanEnd] [smallint] DEFAULT 120 NOT NULL, /* 时间段结束签退结束时间(分钟) */ [BeginChk] [smallint] DEFAULT 0 NOT NULL, /* 上班是否必须打卡 */ [EndChk] [smallint] DEFAULT 0 NOT NULL, /* 下班是否必须打卡 */ /* 上班打卡点是否需要检查 -1:员工规则要求无需打卡 0:无需打卡,可能是由调整时段涵盖该卡点,需结合 BeginChk 判断 1:时段要求打卡 2:员工规则要求必须打卡 下班打卡是否需要检查 -1:员工规则要求无需打卡 0:无需打卡,可能是由调整时段涵盖该卡点,需结合 BeginChk 判断
1:时段要求打卡 2:员工规则要求必须打卡 */ [BeginChkStatus] [smallint] DEFAULT 0 NOT NULL, [EndChkStatus] [smallint] DEFAULT 0 NOT NULL, [NewBeginTime] [datetime] DEFAULT GetDate() NOT NULL, /* 如果调整时段涵盖该卡点, 用于记录新的时段开始时间 */ [NewEndTime] [datetime] DEFAULT GetDate() NOT NULL, /* 如果调整时段涵盖该卡点, 用于记录新的时段结束时间 */ [BeginID] [bigint] DEFAULT 0 NOT NULL, /* 加班开始卡 ID */ [EndID] [bigint] DEFAULT 0 NOT NULL, /* 结束卡 ID */ /* WEB 查询需要的字段 */ [ISCHECK] [smallint] DEFAULT 1 NOT NULL, /* 是否审核 */ [REASON] [varchar] (200) /* 调整原因 */ ) GO /****** 补班表 [dbo].[KQZ_AddShift] ******/ CREATE TABLE [dbo].[KQZ_AddShift] ( [AddShiftID] [bigint] IDENTITY (1, 1) PRIMARY KEY NOT NULL, [EmployeeID] [bigint] DEFAULT 0 NOT NULL, /* 员工 ID */ [PrdStatus] [smallint] DEFAULT 0 NOT NULL, /* 时段状态 -1:无效 0:需要审核 1:有效 */ [ShiftDate] [datetime] DEFAULT GetDate() NOT NULL, /* 补班日期 */ [BeginTime] [datetime] DEFAULT GetDate() NOT NULL, /* 补班开始时间 */ [EndTime] [datetime] DEFAULT GetDate() NOT NULL, /* 补班结束时间 */ [PrdLen] [int] DEFAULT 0 NOT NULL, /* 时段长度(分钟),考虑了和班次时段叠加情况的长 度 */ [BeginSpanBegin] [smallint] DEFAULT 120 NOT NULL,/* 时间段开始签到开始时间(分钟) */ [BeginSpanEnd] [smallint] DEFAULT 120 NOT NULL, /* 时间段开始签到结束时间(分钟) */ [EndSpanBegin] [smallint] DEFAULT 120 NOT NULL, /* 时间段结束签退开始时间(分钟) */ [EndSpanEnd] [smallint] DEFAULT 120 NOT NULL, /* 时间段结束签退结束时间(分钟) */ [BeginChk] [smallint] DEFAULT 0 NOT NULL, /* 上班是否必须打卡 */ [EndChk] [smallint] DEFAULT 0 NOT NULL, /* 下班是否必须打卡 */ /* //上班打卡点是否需要检查 -1:员工规则要求无需打卡 0:无需打卡,可能是由调整时段涵盖该卡点,需结合 BeginChk 判断 1:时段要求打卡 2:员工规则要求必须打卡 下班打卡是否需要检查 -1:员工规则要求无需打卡 0:无需打卡,可能是由调整时段涵盖该卡点,需结合 BeginChk 判断
分享到:
收藏