薪资系统里,因为有很多项目是经常变动的,所以不可能在程序中写死。我看过一个东软开发的系统,里面可以让用户自己定义薪资的项目和计算方法。
比如,我可以定义一个“奖金1”,定义一个“考核指标1”,“考核指标1”可以通过界面输入或者批量导入。在程序的界面,用户可以自己定义“奖金1”的计算方法,定义如下:if 考核指标1<1 then
奖金1 = 1000 *0.5
else if 考核指标1>2 then
奖金1 = 1000 *2
else
奖金1 = 1000 *考核指标1
end if
用户定义完成后,程序可以根据用户的定义自动计算出每个员工“奖金1”的金额,请问这个在程序里该怎么设计,求思路。这里的各项指标仅仅是举例,可以有很多,计算方法的定义也是举例,可以包含各种逻辑关系和运算,格式就是这样样子,程序要能满足各种定义的计算..................
比如,我可以定义一个“奖金1”,定义一个“考核指标1”,“考核指标1”可以通过界面输入或者批量导入。在程序的界面,用户可以自己定义“奖金1”的计算方法,定义如下:if 考核指标1<1 then
奖金1 = 1000 *0.5
else if 考核指标1>2 then
奖金1 = 1000 *2
else
奖金1 = 1000 *考核指标1
end if
用户定义完成后,程序可以根据用户的定义自动计算出每个员工“奖金1”的金额,请问这个在程序里该怎么设计,求思路。这里的各项指标仅仅是举例,可以有很多,计算方法的定义也是举例,可以包含各种逻辑关系和运算,格式就是这样样子,程序要能满足各种定义的计算..................
2。就是员工我薪资表: 主要:员工id,薪资项ID,时间信息(年月),金额
3。关于你说的考核项(比如出勤天数,销售额.....),你可以定义一张表,
id name comment
4。员工的考核值
id 考核项id value(建议定义多列,根据逻辑,有为int值,或者为varchar值的,根据实际需要)
然后,你的考核规则去程序中完成。。或者用存储过程来完成先可以根据考核项,及你的业务逻辑,算出各个薪资项,插入员工的薪资项中,最后才计算员工工资。
这样工资也可以算出来,也可以列出薪资项
像这种行政、财务项目,真的是可大可小。要简单也行,要复杂就有很复杂的做法。
...
然后用jep 进行运算的。这样就是对用户要求要高点。
设置一个动态表格,可以动态新增和删除 修改 这样就可以满足不断变化的需求
关键是如何根据规则生成sql,一个一个规则去解析,然后拼sql?!太麻烦吧.......
如果某个考核指标达到某个标准,发放某个类型的奖金,发多少。举个例子来说是这样:
如果任务完成度大于80%,则任务奖金发放100%。
如果任务完成度大于70%,则任务奖金发放50%。
如果任务完成度小于70%,则任务奖金不发放。根据上面的分析,定义奖金计算规则实体:考核指标+指标最低值+奖金类型+发放比例要求考核指标相同的规则是互斥的,即相同考核指标只能满足一条规则,不能同时满足多个规则。程序处理时可以根据考核指标依次处理,UI界面可以使用表格的形式展现,这样如果考核标准变动时可以不需要修改程序,让系统使用者自行设置就可以了。上面只是个参考思路,考核指标的条件可以扩充,奖金发放的形式可能是百分比,也可能是定额等等,根据你的实际业务需求修改吧。