工资系统数据库结构设计说明书

工资系统数据库结构设计说明书


2024年2月6日发(作者:)

HR(工资子系统)数据库设计

工资系统数据库结构设计说明书

目录

1、工资环节归类主表(Tachetab):

2、工资项目定义对应表(Incomeorpaydetailtab)

3、工资项目属性表(gzxmsxtab)

4、工资项目计算公式表(TacheDetailtab)

5、计算公式因子表(gsyztab)

6、工资主表/工资历史数据表(EmployeeSalaryTab/SalaryHistoryTab)

7、工资级别表(SalaryLevelTab)

8、职员基本工资表(BaseSalaryTab)

9、职员基本工资变动历史表(BaseSalaryChange)

10、银行信息表(BankTab)

11、员工银行帐号表(Empbankaccountidtab)Empbankaccountidtab

12、员工银行帐号变动历史表(Empbankaccidhistorytab)empbankaccidhistorytab

13、工资审核历史表(salarychecktab)salarychecktab

14、工资业务关帐表(syscloseaccount)syscloseaccount

15、月考勤信息主表(Workattendancetab)workattendacetab

16、考勤历史库表(hrmcheckwork)hrmcheckwork

17、说明:该表用于工作流审批考勤存放考勤数据。系旧系统的表,保留不变。

A、employeeid+yearmonth为主键。

税率表TaxRateTab (返回目录)

18、员工扣款表EmpFixedCut (返回目录)

19、工资主表/工资历史数据表(EmployeeSalaryTab/SalaryHistoryTab)(返回目录)

20、固定扣款历史表FixedCutTab(返回目录)

21、退还扣款记录表ReturnMoneyTab(返回目录)

22、退还扣款发放批次表BatchTab(返回目录)

23、退还扣款发放批次明细表BatchDetailTab(返回目录)

24、批次级别表evelTab(返回目录)

25、工资计算处理工作控制表workcontrolTab(返回目录)

26、导入格式表loadformatsettab(返回目录)

27、十三期工资表salary13tab(返回目录)

28、

本地数据库表:

28报警参数表()(返回目录)

29计算项代码临时表()(返回目录)

30、计算操作控制表()(返回目录)

30、 打印偏移量表()(返回目录)

HR(工资子系统)数据库设计

1、 工资环节归类主表(Tachetab):(返回目录)

字段名

TacheID

TacheName

IsUsed

类型

Char

Char

Char

长度

是否可空

缺省值

中文说明

环节ID

环节名称

是否在使用中

2

NOT NULL

20

NOT NULL

1

NOT NULL

'N'

Remark

Char

80

备注

Null

说明:

该表用于存放工资项目归类信息。

A、 Primary Key是TacheID

B、 对高丰公司:此表的数据内容现在主要包括:财务扣款、行政扣款、人事扣款、应收项目、部门扣款

2、 工资项目定义对应表(Incomeorpaydetailtab)(返回目录)

字段名

类型

长度

是否可空

4

20

30

10

1

1

4

1

4

1

缺省值

中文说明

工资表自定义字段名称

工资项目名称

指明工资项目数据的来源表

项目所属环节ID

是应收还是应付(+/-)

标志位(作废)

复合操作

项目是否被使用

用于表示项目层次的标识符

操作标志(已不用)

考勤扣款标志(Y/N:归属考勤扣款/不归属考勤扣款)

IncomeOrPayID

Char

IncomeOrPayName

Char

FromField

TacheID

IsIncomeOrPay

Flag

Operator

IsUsed

ID_NO

Oper_Flag

Char

Char

Char

Char

Char

Char

Char

Char

isworkcutflag Char(1)

“N”

说明:

A、Primary Key是IncomeOrPayID

B、其他说明:

IncomeOrPayID对应工资表中的自定义字段名,取值为表employeesalarytab的自定义字段名称(N1~N100);

FromField:如果数据来自系统表,则往这里填。现在来源都为固定扣款表EmpFixedCut,所以所有非空的FromField都应该填入EmpFixedCut。所有固定扣款都从这个接口导入。

Flag标志:0为计算项、1为导入项、2为手工输入项。对于flag为‘1’的情况:若fromfield非空,则为固定导入项,否则为灵活的导入项。

IsUsed:'N'表示没有使用,'Y'表示增加使用,'S'表示以前使用现在不再使用

ID_NO:用于表示项目的层次,环节为一个字符,第二层次的是两个字符,如此类推

C、 对于字段“ID_NO”的编码规则如下:

环节归类项目代码编码为一位;工资项目代码为两位;工资项目下有项目明细就为三位,

HR(工资子系统)数据库设计

如此类推。最多允许4位。同一归类环节下的工资项目的代码第一位相同。

3、 工资项目属性表(gzxmsxtab)(返回目录)

字段名

SalaryLevel

类型

SmallInt

长度

是否可空

缺省值

中文说明

工资表自定义字段名称

工资级别

工资级别名

项目性质

IncomeOrPayID

Char

SalaryLevelName

Char

10

NOT NULL

20

NOT NULL

Flag

Char

说明:

A、 Primary Key是(IncomeOrPayID, SalaryLevel)

B、 项目性质:0--计算项;1--导入项;2--手工输入项

4、 工资项目计算公式表(TacheDetailtab)(返回目录)

字段名

LevelID

Expressions1

类型

长度

是否可空

缺省值

1

中文说明

工资表自定义字段名称

工资级别代码

用于显示给用户看的公式

IncomeOrPayID

Char

SmallInt

Text

4

NOT NULL

NOT NULL

NOT NULL

Expressions2

Text

NOT NULL

翻译后的公式

说明:

A、 Primary Key是(IncomeOrPayID, LevelID)

B、 这里主要用于属性为计算项的工资项目定义计算公式

C、 公式的定义要求如下:

算法公式当中能够使用的合法的关键字、字符有:

 系统公式因子(见公式因子);

 关键字:IF 。。。THEN 、IF、ELSE IF、ELSE

 逻辑运算符:AND、OR

 算术运算符:—、+、*、/

 以及(、)和所有数字。

2)公式当中的IF.。。。THEN、IF。。。THEN。。。ELSE IF 。。。THEN必须成对出现。

3)条件必须用()括起来。

5、 计算公式因子表(gsyztab)(返回目录)

字段名

YzID

TableName

ColName

FieldType

类型

Char

Char

Char

Char

长度

是否可空

缺省值

中文说明

因子ID

表名

字段名或组合语句

字段类型,'1'代表字符,其他为数字

4

NOT NULL

20

NOT NULL

255

NOT NULL

1

NOT NULL

HR(工资子系统)数据库设计

Remark

OperateType

YzType

ReferrenceCol

Char

Char

Char

Char

20

NOT NULL

20

1

20

20

因子中文名字

操作类型,比如SUM、AVG、MIN、MAX

因子类型

ColName的参照表

ColName的参照字段ID

ReferrenceTab

Char

ReferrenceName

Char

30

ColName的参照字段显示的名称

说明:

A、 Primary Key是yzID,同时ColName和Remark都有唯一索引

B、 因子类型,'0'表示直接从表中字段取得值,'1'表示是SQL语句,已经包含了有参数的情况。

6、 工资主表/工资历史数据表(EmployeeSalaryTab/SalaryHistoryTab)(返回目录)

字段名

EmployeeID

Name

YearMonth

BaseSalary

FactoryID

DeptID

PositionID

TitleID

BankID

BankAccount

Close_Flag

N1

…….

N100

Tax

OtherIncome

OtherPay

RealIncome

ShouldIncome

LoadFlag

类型

Char

Char

Char

Numeric(8,2)

Char

Char

Char

Char

Char

Char

Char

Numeric(8,2)

Numeric(8,2)

Numeric(8,2)

Numeric(8,2)

Numeric(8,2)

Numeric(8,2)

Numeric(8,2)

Numeric(8,2)

Char

长度

是否可空

12

缺省值

中文说明

员工号

姓名

发放工资年月

基本工资

所属分公司ID

所在部门ID

职位ID

工资级别ID

职称ID(现改作工种内容)task

银行ID

银行帐号

关帐标记

工资项目1

工资项目N

工资项目100

所得税

应收合计

应扣合计

实发工资

应发工资

导入工资数据标志(对工人而言)

8

NOT NULL

SalaryLevelID

Char

LB Char

工资类别(便于对工人工资分类)

说明:

工资主表与工资历史表结构相同。计算工资在主表中进行,计算完成后工资数据保存在工资历史表中以供历史查询和计算十三期工资所用。

关键字段说明:

employeeid+yearmonth唯一,保证每月每个员工仅有唯一的一条工资数据;

otherincome:为除基本工资外的应收项之和;

otherpay:为所有应扣项之和(不包括所得税)

shouldincome:为应发工资,等于“基本工资”+“应收合计”;

6

NOT NULL

4

4

2

2

6

20

30

1

'N'

1

'N'

4

HR(工资子系统)数据库设计

realincome:实发工资,等于“应发工资”- “应扣合计” – “所得税”

loadflag:对工人有用,工人的工资由部门做上来的情况,把工资数据导入进来,则置“Y”

LB:对工人有用,工人的工资数据为了方便发放工资条,按LB分类排序。

7、 工资级别表(SalaryLevelTab)(返回目录)

字段名称

salarylevelid

Salarylevelname

字段类型

Char

Char

字段长度

2

20

20

字段说明

工资级别代码

工资级别名称

级别说明

Salaryleveldetailt Char

Primary key :salarylevelid salarylevelname 必须唯一

8、 职员基本工资表(BaseSalaryTab)(返回目录)

字段名

employeeid

Empname

currbasesalary

oldbasesalary

createby

类型

Char

Char

Numeric(10,2)

长度

是否可空

12

Not null

缺省值

中文说明

员工号

姓名

0

当前工资

0

最近提升前的工资

操作员

操作日期(生效时间)

8

NOT NULL

createdate

说明:

用于存放职员的基本工资资料。

A.primary key:employeeid

Not null

Numeric(10,2)

Char

10

DateTime

9、 职员基本工资变动历史表(BaseSalaryChange)(返回目录)

字段名

employeeid

Empname

类型

Char

Char

长度

是否可空

12

缺省值

中文说明

员工号

姓名

变动前工资

变动后工资

签字人

生效日期

摘要(说明变动工资简单事由)

变动前的建立时间

变动前的建立者

8

NOT NULL

frombasesalary

Numeric(8,2)

uptobasesalary

Numeric(8,2)

operator

Char

6

inured

Char

10

remark

Char

20

createdate

DateTime

createby

Char

10

说明:

Primary Key是(EmployeeID,Inured)

HR(工资子系统)数据库设计

10、

字段名

BankID

银行信息表(BankTab)(返回目录)

类型

Char

Char

Char

Char

长度

是否可空

缺省值

中文说明

银行ID

银行简称

银行全称

银行地址

银行帐号前缀

4

NOT NULL

20

NOT NULL

50

BankName

BankAddress

PreAccount

BankFullName

Char

IsUsed

Char

该银行现在是否还在使用

说明:该表用于保存银行基本信息资料。

A、 primary key :bankid;bankname唯一。

B、 preaccoun :唯一,通过前缀来决定帐号属于哪个银行。

11、

字段名

Accid

employeeid

Cid

Empname

Bankid

Getsum

Opendate

员工银行帐号表(Empbankaccountidtab)(返回目录)

类型

Char

长度

是否可空

25

Not null

缺省值

中文说明

银行帐号

员工号

身份证号

户名

银行代码

累计工资

开户时间

50

20

Not null

1

NOT NULL

Status

新开户/已开户

说明:该表用于存放员工的当月代发工资的银行帐号资料。每个员工只有一条记录。

A、 employeeid为主键。Accid为唯一索引。

B、 status:状态在每月初始化工资数据时改变状态。“新开户”置成“已开户”。

C、在该表建立触发器,保证银行帐号与银行代码一致。

12、

字段名

Accid

employeeid

Cid

Empname

Bankid

Getsum

Opendate

canceldate

Status

员工银行帐号变动历史表(Empbankaccidhistorytab)(返回目录)

类型

Char

长度

是否可空

25

Not null

缺省值

中文说明

银行帐号

员工号

身份证号

户名

银行代码

累计工资

Char

8

NOT NULL

Char

18

Char

20

Char

4

Not null

Numeric(8,2)

DateTime

Char

8

Char

8

NOT NULL

Char

18

NOT NULL

Char

20

Char

4

Numeric(18,2)

DateTime

DateTime

Char

4

取消时间

/*销户*/

HR(工资子系统)数据库设计

说明:用于存放员工的历史帐号信息。

A、accid为主键。一个员工可以有多个历史帐号,但不能存在两条相同的历史帐号。

13、

字段名

CheckUser

YearMonth

FactoryID

DeptID

SalaryType

工资审核历史表(salarychecktab)(返回目录)

类型

Char

Char

Char

Char

SmallInt

长度

是否可空

缺省值

中文说明

审核人

工资发放年月

分公司ID

部门ID

工资类型

12

NOT NULL

6

NOT NULL

4

NOT NULL

4

NOT NULL

NOT NULL

CheckTime

DateTime

NOT NULL

审核时间

说明:该表用于每月工资审核的记录信息,用于控制工资存档的修改。

按不同的审核用户来控制,如用户A不能对用户B审核存档的工资进行改动。

A、Primary Key是(CheckUser, SalaryType, YearMonth, FactoryID, DeptID)

14、

字段名

Salarydate

Corpid

Deptid

salarylevelid

Closedate

Operator

工资业务关帐表(syscloseaccount)(返回目录)

类型

Char

Char

Char

Char

Char

Char

长度

是否可空

缺省值

中文说明

工资月份

公司代码

部门代码

工资级别

关帐日期

经手人

7

NOT NULL

8

NOT NULL

8

NOT NULL

2

NOT NULL

10

10

Flag

Char

4

预留字段

说明:该表用于控制整个工资系统是否能再能修改工资数据。

A、 Primary Key是(salarydate,salarylevelid,corpid,deptid)

B、 每月工资核算结束后关帐,就插入一条记录,关帐就不能修改工资数据

15、 月考勤信息主表(Workattendancetab)(返回目录)

字段类型

Char

Char

Char

Char

Char

Numeric(6,2)

Numeric(6,2)

Numeric(6,2)

字段长度

8

8

8

6

字段说明

员工号

姓名

分公司代码

部门代码

考勤月份

工作日(天)

实际工作日(天)

病假(天)

字段名称

EmployeeID

Name

FactoryID

DeptID

YearMonth

workdays

RealWorkDays

SickLeave

HR(工资子系统)数据库设计

ThingLeave

WedLeave

DieLeave

Maternity

SatSunOverTime

FreeOverTime

MiddleTurns

NightTurns

AbsentTimes

LeaveEarlyTimes

LateTimes

BirthControl

Remark

Sickleavesum

WedLeaveSum

DieLeaveSum

MaternitySum

BirthControlSum

Sex

age

Numeric(6,2)

Numeric(6,2)

Numeric(6,2)

Numeric(6,2)

Numeric(6,2)

Numeric(6,2)

Numeric(6,2)

Numeric(6,2)

Numeric(6,2)

Numeric(6,2)

Numeric(6,2)

Numeric(6,2)

Char

Numeric(6,2)

Numeric(6,2)

Numeric(6,2)

Numeric(6,2)

Numeric(6,2)

Char

Int

0

255

2

2

事假(天)

婚假(天)

丧假(天)

产假(天)

有薪加班(小时)

周六日加班(现不用)

法定节假日加班(小时)

无薪加班(小时)

中夜班费

旷工天数(天)

迟到次数(现放迟到早退扣款金额)

迟到次数

节育假(天)

备注

病假累计和

婚假累计和

丧假累计和

产假累计和

节育假累计和

性别

年龄

NormalOverTime Numeric(6,2)

HolidayOverTime Numeric(6,2)

说明:

该表为月考勤临时表,在考勤维护,检查考勤时,导入考勤数据时产生数据。该表包含计算工资所需的相关信息资料。通过该表与旧系统考勤数据接口。

16、 考勤历史库表(hrmcheckwork)(返回目录)

字段类型

Char

Char

Char

Numeric(6,2)

Numeric(6,2)

Numeric(6,2)

Numeric(6,2)

Numeric(6,2)

Numeric(6,2)

Numeric(8,2)

字段长度

6

8

12

8

字段说明

年月

员工号

姓名

部门代码

实际出勤天数

病假(天)

事假(天)

丧假(天)

产假(天)

旷工(天)

有薪加班(小时)

迟到早退扣款(金额)

字段名称

Yearmonth

Name

Deptid

Turnout

Sickleave

Thingleave

Dielearve

Maternity

Saturday

Sunday

Employeeid Char

Absentwork Numeric(6,2)

HR(工资子系统)数据库设计

Peacetime

Shows

Shiftsalary

Numeric(6,2)

Char

Numeric(8,2)

60

法定节假日加班(小时)

备注

中夜班费(金额)

节育假(天)

Birthcontrol Numeric(6,2)

说明:该表用于工作流审批考勤存放考勤数据。系旧系统的表,保留不变。

A、employeeid+yearmonth为主键。

17、

字段名

TaxID

MoneyFrom

MoneyTo

Recomp

TaxRate

税率表TaxRateTab (返回目录)

类型

Real

Real

Real

长度

是否可空

缺省值

中文说明

唯一标识

征税起点

征税截止点

速算扣除额

税率

SmallInt

NOT NULL

NOT NULL

Numeric(5,2)

BaseCut

Numeric(8,2)

征税基数

说明:

该表用于存放速算扣税参数。根据该表的参数来计税。

计税方法(溢达):

(基本工资 – 所有扣款 – 扣款基数)* 税率 -速算扣除额

18、

字段名

EmployeeID

Name

CutType

ItemID

CutMoney

CutSum

ReturnSum

CutTop

CutYear

ReturnFlag

员工扣款表EmpFixedCut (返回目录)

类型

Char

Char

Char

Char

Numeric(8,2)

长度

是否可空

缺省值

中文说明

员工ID

员工姓名

扣款类型

固定扣款项目ID

0

固定扣款金额

0

扣款总额

0

退还总额

0

扣款上限

Not null

Not null

NOT NULL

8

NOT NULL

12

NOT NULL

2

NOT NULL

10

NOT NULL

Remark

备注

说明:

A、 Primary Key是(EmployeeID, CutType, ItemID, CutYear)

B、 扣款类型,比如人事扣款、财务扣款、行政扣款,对应环节表TacheTab中的环节ID 、定扣款项目ID,对应IncomeOrPayDetailTab表中的IncomeOrPayID 扣款用不用退还,'N'/'Y':不退/退

Numeric(8,2)

Numeric(8,2)

Numeric(8,2)

Char

4

Char

1

Char

60

'N'

扣款年份

扣款用不用退还

HR(工资子系统)数据库设计

19、

字段名

Name

DeptID

固定扣款历史表FixedCutTab(返回目录)

类型

Char

Char

长度

是否可空

缺省值

中文说明

员工号

员工姓名

所在部门

工资级别

年月

扣款类型,比如人事扣款

固定扣款项目ID,对应

IncomeOrPayDetailTab表中的IncomeOrPayID

固定扣款名称

0

扣款金额

'N'

扣款是否已经退了, 'N'/'Y':还没有退/已退

备注

EmployeeID

Char

8

NOT NULL

12

NOT NULL

4

NOT NULL

4

NOT NULL

6

NOT NULL

2

NOT NULL

10

NOT NULL

20

NOT NULL

SalaryLevel

Char

YearMonth

Char

CutType

ItemID

ItemName

CutMoney

IsReturn

Remark

Char

Char

Char

Numeric(8,2)

Char

Char

说明:

A、Primary Key是(EmployeeID, YearMonth, CutType, ItemID)

20、

字段名

EmployeeID

Name

DeptID

CutType

ItemID

ReturnMoney

ReturnDate

BankID

BankAccount

Operator

Remark

退还扣款记录表ReturnMoneyTab(返回目录)

类型

Char

Char

Char

Char

Char

Numeric(8,2)

长度

是否可空

缺省值

中文说明

员工号

员工姓名

所在部门

扣款类型,比如人事扣款

固定扣款项目ID

0

退还金额

退还日期

银行

银行帐号

操作人员

备注(写入退还时间区间)

1

60

8

NOT NULL

12

NOT NULL

4

NOT NULL

2

NOT NULL

10

NOT NULL

Ordered

退款单号

说明:

A、 Primary Key是(EmployeeID, CutType, ItemID, ReturnDate)

B、 扣款类型,比如人事扣款、财务扣款、行政扣款,对应环节归类表TacheTab中的环节ID固定扣款项目ID,对应IncomeOrPayDetailTab表中的IncomeOrPayID

C、 退款单号orderid,在同一批退款的明细为同一个单号。方便统计每次退款的明细情况。

DateTime

Char

4

Char

25

Char

20

Char

60

Char 9

not null

HR(工资子系统)数据库设计

21、

字段名

BatchID

退还扣款发放批次表BatchTab(返回目录)

类型

长度

是否可空

缺省值

中文说明

批次ID

批次名字

SmallInt

NOT NULL

30

NOT NULL

BatchName

Char

说明:

A、 Primary Key是BatchID

22、

字段名

DetailID

BatchID

退还扣款发放批次明细表BatchDetailTab(返回目录)

类型

长度

是否可空

缺省值

中文说明

明细ID

批次ID

部门ID

SmallInt

SmallInt

NOT NULL

NOT NULL

4

NOT NULL

DeptID

Char

说明:

A、Primary Key是DetailID

23、

字段名

BatchID

批次级别表evelTab(返回目录)

类型

长度

是否可空

缺省值

中文说明

批次ID

工资级别ID

SmallInt

NOT NULL

LevelID

Char

4

NOT NULL

说明:

A、Primary Key是(BatchID, LevelID)

24、

字段名

yearmonth

salarylevel

factoryname

Deptname

工资计算处理工作控制表workcontrolTab(返回目录)

类型

Char

Char

Char

Char

长度

是否可空

Not null

6

10

Not null

20

Not null

20

Not null

20

Not null

缺省值

中文说明

Operator

说明:主要用于控制工资名单的建立。

25、

字段名

Jkmc

sourcefield

导入格式表loadformatsettab(返回目录)

类型

Char

Char

长度

是否可空

20

20

缺省值

中文说明

接口名称

源字段名称

HR(工资子系统)数据库设计

Targfield

Char

20

目标字段名称

说明:

工资系统提供的导入功能,是通过该表定义的接口来导入数据的。

源字段名称和目标字段名称都是唯一的

26、

字段名

salary13year

employeeid

Cid

Empname

salarylevel

Milled

Deptid

salary13

Bankid

十三期工资表salary13tab(返回目录)

类型

Char

Char

Char

Char

Char

Char

Char

Money

Char

长度

是否可空

缺省值

中文说明

工资年份

员工号

身份证号

姓名

工资级别

分公司ID

部门ID

十三期工资

银行

4

NOT NULL

8

NOT NULL

18

16

2

8

8

bankaccount

Char

银行帐号

说明:该表专名用于发放十三期工资所用,存放员工的十三期工资。

20

25

本地数据库表:

27、 报警参数表()(返回目录)

字段类型

Alpha

Alpha

Alpha

alarmname

字段长度

20

20

30

字段说明

报警参数名称

报警条件

报警说明

字段名称

alarmname

Condition

Demo

Primary key

说明:

该本地表,用于存放用户设置的报警参数记录。工资审核报警汇总时,按照用户选择的参数进行报警!每个用户设置的报警参数不会影响其他用户设置的参数。

报警条件允许取值:

(>、>=、<、<=、=、<>) 数值

28、 计算项代码临时表()(返回目录)

字段类型

Alpha

字段长度

4

4

字段说明

工资项目编码

工资项目字段名称

字段名称

Id_no

incomeorpayied Alpha

HR(工资子系统)数据库设计

Flag

alpha

1

项目性质(0/3:计算项/固定导如项)

说明:

该表记录计算项和固定导入项的工资项目代码信息。用于控制批处理计算时要处理的工资项目。

29、

字段名称

Id_no

Flag

remark

字段类型

Alpha

alpha

alpha

字段长度

4

1

30

字段说明

工资项目编码

标志(Y/N:已做/未做)

计算操作控制表()(返回目录)

说明:该表用于存放对工资项目处理的标志信息。工资项目已经处理过,置标志flag=“Y”

30、 打印偏移量表()(返回目录)

字段名称

lpixel

Rpixel

Upixel

Dpixel

字段类型

long

long

long

long

字段长度

字段说明

左偏移量

右偏移量

上偏移量

下偏移量

说明:

该表存放打印表格时打印直线的偏移量。该表只有一条记录。


发布者:admin,转转请注明出处:http://www.yc00.com/news/1707202569a1483640.html

相关推荐

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信