我在创建工资管理系统时遇到了一些麻烦。如果您能提供帮助,以下是我对系统的一些疑问:
员工的薪水由各种薪水成分组成。每个工资组件都有3个与之关联的规则,计算规则(计算组件为另一个组件的百分比,或固定数字的百分比或固定数字),资格规则(员工/部门是否有资格获得组件)和约束规则,限制组件的最大值和最小值。每家公司都应该能够为每个组件定义自己的规则。如何实现这一目标?
这些规则是可编辑的,可由用户编辑。在这种情况下,如何保留以前的值,以便更改不会影响我过去的值?
如何存储每个月每位员工的薪资信息。我现在能够计算一个月的工资,但是使用year_id,month_id,emp_id,sal_id等将其存储在数据库中是非常繁琐的。还有其他办法吗?
答案 0 :(得分:2)
这些规则是可编辑的,可由用户编辑。在这种情况下, 如何保留以前的值,以便更改不会影响 我过去的价值观?
将您计算的值与定义和执行计算的子系统分开存储。
您实际执行的操作 - 您支付的人数,支出的数量,需要与系统的动态部分进行安全隔离。 (这意味着你需要将它存储在一个单独的表中。)当它被隔离时,
如何存储每个月每位员工的薪资信息。 我现在能够计算一个月的工资,但将其存入 包含year_id,month_id,emp_id,sal_id等的数据库非常繁琐。 还有其他办法吗?
如果您输入“year_id”和“month_id”时头部没有爆炸,则此工资单项目不适合您。按@ sqlvogel的建议,购买一个现成的系统。