做一个工资管理系统,每个员工有自己的工资级别,每个工资级别有自动晋级的年限,比如一级员工工作两年可晋级为二级员工,二级员工工作三年可以晋级为三级员工,等等,但是工资晋级和年终考核相关,规则是连续两年考核成绩为优秀 ,可提前一年工资升级 ,连续两年不合格 ,工资一降级   这个规则怎样实现?  
  现有数据库 
工资级别表:  
工资级别  
不同工资级别晋级所需时间员工信息表:
员工姓名
职位
工资级别
现工资级别开始时间考核情况表
姓名
时间

解决方案 »

  1.   

    员工表增加三个字段: 1  晋级需要减一年的时间  2  工资晋级事实所需时间
     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的时候 
        工资晋级为下一级;
        现在工资级别开始时间改为现在时间;
        事实晋级时间=现在工资级别晋级时间;
      

  2.   

    新增一个
    员工晋级信息表
    员工ID
    员工级别
    级别开始时间
    //计划级别结束时间
    实际级别结束时间
    考核情况表
    员工ID
    考核时间
    考核级别
    考核等级
    备注 就处理这两个表应该就行了吧 
     员工信息表 通过员工ID关联 
    可随时查看 员工的历史晋级信息 考核信息