使管理系统处于休眠状态

时间:2018-06-21 11:16:21

标签: hibernate hql

我有一个项目,并且使用了hibernate和javafx,并且对休假管理系统有疑问。

如何获得某人不计假期在休假期间所花费的具体天数?

我有两个表:

表“粥”:

integer id,
integer nombre_jour,
LocalDate date_debut,
LocalDate date_fin,
String type,
Personnel personnel

表“人员”:

Integer id,
String nom,
String prenom,
String cin,
String nb_jours_par_annee,
LocalDate date_embauche; 

查询:

query:select sum(C.nombre_jour) from 
Conge C 
where C.date_debut=:date_debut 
    and C.date_fin=:date_fin 
    and C.id_personnel=:id

但是如何获得某人不计假期的假期?

1 个答案:

答案 0 :(得分:0)

在请假管理软件中,通常会在一个位置上定义一个不可行的日历。

请务必注意,您可能需要支持定义多个日历配置,这些配置取决于不同的条件,例如员工的部门,他们的工作分配和/或位置。例如,在美国工作的上班族与在同一部门工作但工作在同一部门但在德国工作的雇员的假期免除时间表有所不同。

您的计算基本上变为

NumberOfDays( end - start ) - NumberOfHolidaysInclusive( empId, start, end )

使用NumberOfDays的想法很简单,请计算两个日期之间的天数。使用NumberOfHolidaysInclusive的想法是根据员工ID empId查找适当的日历,并基于该日历获取日期范围内包括开始日期和结束日期(例如,包括首尾两天)的排除项的数量。

在HQL / JPQL / SQL中的编写方式在很大程度上取决于架构,但是前提保持不变。