<?xml version="1.0" encoding="UTF-8"?>
<domain-models xmlns="http://axelor.com/xml/ns/domain-models"
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://axelor.com/xml/ns/domain-models
  https://axelor.com/xml/ns/domain-models/domain-models_6.0.xsd">

  <module name="human-resource" package="com.axelor.apps.hr.db"/>
  <entity name="MonthlyReport">
    <many-to-one name="employee" ref="com.axelor.apps.hr.db.Employee"/>

    <integer name="monthlyAllowance" precision="20" scale="2" /> <!-- Allocation mensuelle -->
    <integer name="monthlyAllowanceRecall" precision="20" scale="2" /> <!-- Rappel de l'allocation mensuelle -->
    <decimal name="monthlyNuisanceValue" precision="20" scale="2" /> <!-- Valeur des nuisances mensuelles -->
    <decimal name="totalNuissance" precision="20" scale="2" /> <!-- Total des nuisances -->
    <decimal name="monthlyNightHours" precision="20" scale="2" /> <!-- Heures de nuit mensuelles -->
    <decimal name="monthlyITP" precision="20" scale="2" /> <!-- ITP mensuel (Indemnité de Transport et Prime) -->
    <decimal name="monthlyExtraHours50" precision="20" scale="2" /> <!-- Heures supplémentaires mensuelles à 50% -->
    <decimal name="monthlyExtraHours100" precision="20" scale="2" /> <!-- Heures supplémentaires mensuelles à 100% -->
    <decimal name="excessHours50" precision="20" scale="2" /> <!-- Heures supplémentaires excédentaires à 50% -->
    <decimal name="excessHours100" precision="20" scale="2" /> <!-- Heures supplémentaires excédentaires à 100% -->


    <one-to-many name="dailyReports" ref="com.axelor.apps.hr.db.DailyReport" mappedBy="monthlyReport"/>

    <decimal name="primeAssiduite" precision="20" scale="2" /> <!-- Prime d'assiduité -->


    <decimal name="totalWorkHours" precision="20" scale="2" /> <!-- Total des heures de travail -->
    <decimal name="authorizedPaidAbsenceMonth" precision="20" scale="2" /> <!-- Absence autorisée payée du mois -->
    <decimal name="recuperationLeaveAbsenceMonth" precision="20" scale="2" /> <!-- Absence pour congé de récupération du mois -->
    <decimal name="breastfeedingAbsenceMonth" precision="20" scale="2" /> <!-- Absence pour allaitement du mois -->
    <decimal name="trainingAbsenceMonth" precision="20" scale="2" /> <!-- Absence pour formation du mois -->
    <decimal name="missionAbsenceMonth" precision="20" scale="2" /> <!-- Absence pour mission du mois -->
    <decimal name="hospitalizationAbsenceMonth" precision="20" scale="2" /> <!-- Absence pour hospitalisation du mois -->
    <decimal name="sicknessAbsenceMonth" precision="20" scale="2" /> <!-- Absence pour maladie du mois -->
    <decimal name="workAccidentMonth" precision="20" scale="2" /> <!-- Absence pour accident de travail du mois -->
    <decimal name="maternityMonth" precision="20" scale="2" /> <!-- Absence pour maternité du mois -->
    <decimal name="authorizedUnpaidAbsenceMonth" precision="20" scale="2" /> <!-- Absence autorisée non payée du mois -->
    <decimal name="annualLeaveAbsenceMonth" precision="20" scale="2" /> <!-- Absence pour congé annuel du mois -->
    <decimal name="unpaidLeaveAbsenceMonth" precision="20" scale="2" /> <!-- Absence pour congé sans solde du mois -->
    <decimal name="statutoryLeaveAbsenceMonth" precision="20" scale="2" /> <!-- Absence pour congé statutaire du mois -->
    <decimal name="resignationAbsenceMonth" precision="20" scale="2" /> <!-- Absence pour démission du mois -->
    <decimal name="contractEndAbsenceMonth" precision="20" scale="2" /> <!-- Absence pour fin de contrat du mois -->
    <decimal name="justifiedAbsenceMonth" precision="20" scale="2" /> <!-- Absence justifiée du mois -->
    <decimal name="recruitmentAbsenceMonth" precision="20" scale="2" /> <!-- Absence pour recrutement du mois -->
    <decimal name="suspensionAbsenceMonth" precision="20" scale="2" /> <!-- Absence pour suspension du mois -->
    <decimal name="militaryServiceAbsence" precision="20" scale="2" /> <!-- Absence pour service militaire -->
    <decimal name="irregularAbsenceMonth" precision="20" scale="2" /> <!-- Absence irrégulière du mois -->

    
    <many-to-one name="period" ref="com.axelor.apps.base.db.Period" mappedBy="monthlyReport"/>

    <unique-constraint columns="employee,period"/>
  </entity>
</domain-models>
