做一个工资管理系统,每个员工有自己的工资级别,每个工资级别有自动晋级的年限,比如一级员工工作两年可晋级为二级员工,二级员工工作三年可以晋级为三级员工,等等,但是工资晋级和年终考核相关,规则是连续两年考核成绩为优秀 ,可提前一年工资升级 ,连续两年不合格 ,工资一降级 这个规则怎样实现?
现有数据库
工资级别表:
工资级别
不同工资级别晋级所需时间员工信息表:
员工姓名
职位
工资级别
现工资级别开始时间考核情况表
姓名
时间
现有数据库
工资级别表:
工资级别
不同工资级别晋级所需时间员工信息表:
员工姓名
职位
工资级别
现工资级别开始时间考核情况表
姓名
时间
3 下一级别需要减一年状态1事实晋级时间和晋级需要减一年时间不能为空,晋级需要减一年时间默认值为1900年2接受员工时候,生成事实晋级时间,与现在工资晋级时间相同, 下一级别需要减一年的状态为零3 因调整职务调整工资级别,晋级年限改为新的工资级别晋级所需时间If 现在时间—现在工资开始时间《事实晋级时间 then
Begin
If 判断前两年考核成绩是否都为优秀 then
Begin
If 现在时间减两年大于上次减去一年的时间 then
Begin
减一时间=现在时间—1;
事实晋级时间=事实晋级时间—1;
End;
End;
End;
If 现在时间—现在工资开始时间=事实晋级时间 then
Begin
If 判断前两年考核成绩是否都为优秀 then
Begin
将晋级后需要减一年标志设为1;
End;
End; 晋级时候
先判断晋级后减一年标志是否为1
为1的时候
工资晋级为下一级;
现在工资级别开始时间改为现在时间;
事实晋级时间=现在工资级别晋级时间—1;
为0的时候
工资晋级为下一级;
现在工资级别开始时间改为现在时间;
事实晋级时间=现在工资级别晋级时间;
员工晋级信息表
员工ID
员工级别
级别开始时间
//计划级别结束时间
实际级别结束时间
考核情况表
员工ID
考核时间
考核级别
考核等级
备注 就处理这两个表应该就行了吧
员工信息表 通过员工ID关联
可随时查看 员工的历史晋级信息 考核信息