`

JAVA计算工作日复杂算法:依赖假期配置

 
阅读更多

公司制度比较奇葩,每周5.5工作日,从周一上到周六中午,周六下午和周日休息,不吐槽了。

计算工作日就比较麻烦,不能通过简单的周一到周五,来判断(因为该模块会应用到请假单,扣工资。。。)

一、将假期配置表

{

private String holidayName;

private Integer week;

private String holidayStartDate;

private String holidayEndDate;

private String holidayStartTime;

private String holidayEndTime;

private Integer breakDown;

}

 

测试配置:

    private List<HrHolidayCalendar> getHrHolidayCalendarList() {
        List<HrHolidayCalendar> s = new ArrayList<>();

        s.add(getHrHolidayCalendar("周六", 7, null, null, "13:30:00", "18:00:00", 0));
        s.add(getHrHolidayCalendar("周日", 1, null, null, null, null, 0));
        s.add(getHrHolidayCalendar("端午节", null, "2018-06-16", "2018-06-18", null, null, 0));
        s.add(getHrHolidayCalendar("中秋节", null, "2018-09-22", "2018-09-24", null, null, 0));
        s.add(getHrHolidayCalendar("国庆节", null, "2018-10-01", "2018-10-07", null, null, 0));
        s.add(getHrHolidayCalendar("国庆调休", null, "2018-09-29", "2018-09-30", null, null, 1));

        return s;

    }

    private HrHolidayCalendar getHrHolidayCalendar(String name, Integer week, String sDate, String eDate, String sTime, String eTime, Integer bd) {
        HrHolidayCalendar s = new HrHolidayCalendar();
        s.setHolidayName(name);
        s.setWeek(week);
        s.setHolidayStartDate(sDate);
        s.setHolidayEndDate(eDate);
        s.setHolidayStartTime(sTime);
        s.setHolidayEndTime(eTime);
        s.setBreakDown(bd);
        return s;

    }

 

  • 大小: 30.7 KB
  • 大小: 16.7 KB
  • 大小: 46.1 KB
  • 大小: 54.7 KB
0
0
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics