Java 计算员工暂定级满一年时间:根据刷新时间和序列调动判断

本文提供 Java 代码示例,用于根据员工暂定级开始日期、报表刷新时间和序列调动情况,判断员工暂定级是否满一年。

规则说明

  1. 若报表(强制参评人员名单)在 10 月 1 日至 12 月 31 日刷新,则用下一年 3 月 31 日来计算员工暂定级是否满一年;
  2. 若在 1 月 1 号至 3 月 31 日之间刷新,则用当年 3 月 31 日来计算员工暂定级是否满一年;
  3. 若报表是在 4 月 1 日至 9 月 30 日之间刷新,则用当年 9 月 30 日来计算员工暂定级是否满一年;
  4. 若在暂定级内,发生跨二级序列调动,需要以调动时间作为暂定级开始时间。

代码示例

import java.time.LocalDate;

public class Employee {
    private String name;
    private LocalDate provisionalLevelStartDate;

    public Employee(String name, LocalDate provisionalLevelStartDate) {
        this.name = name;
        this.provisionalLevelStartDate = provisionalLevelStartDate;
    }

    public boolean isProvisionalLevelOneYearComplete() {
        LocalDate currentDate = LocalDate.now();

        if (provisionalLevelStartDate.getMonthValue() >= 10 && provisionalLevelStartDate.getDayOfMonth() == 1
                && currentDate.getMonthValue() == 3 && currentDate.getDayOfMonth() == 31) {
            return true;
        }

        if (provisionalLevelStartDate.getMonthValue() >= 1 && provisionalLevelStartDate.getMonthValue() <= 3
                && provisionalLevelStartDate.getDayOfMonth() == 1 && currentDate.getMonthValue() == 3
                && currentDate.getDayOfMonth() == 31) {
            return true;
        }

        if (provisionalLevelStartDate.getMonthValue() >= 4 && provisionalLevelStartDate.getMonthValue() <= 9
                && provisionalLevelStartDate.getDayOfMonth() == 1 && currentDate.getMonthValue() == 9
                && currentDate.getDayOfMonth() == 30) {
            return true;
        }

        return false;
    }

    public static void main(String[] args) {
        Employee employee = new Employee('John', LocalDate.of(2021, 1, 1));
        System.out.println('Is provisional level one year complete? ' + employee.isProvisionalLevelOneYearComplete());
    }
}

代码解释

在上述代码中,我们创建了一个Employee类,包含员工姓名和暂定级开始日期。isProvisionalLevelOneYearComplete()方法用于判断员工暂定级是否满一年。根据给定的规则,我们比较暂定级开始日期和当前日期来确定是否满足条件。在main()方法中,我们创建了一个Employee对象,并调用isProvisionalLevelOneYearComplete()方法来检查暂定级是否满一年。

注意

上述代码仅供参考,实际应用中可能需要根据具体需求进行调整。例如,需要考虑跨二级序列调动的情况,并添加相应的判断逻辑。

Java 计算员工暂定级满一年时间:根据刷新时间和序列调动判断

原文地址: https://www.cveoy.top/t/topic/qxPp 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录