ChileanVacation permite calcular las vacaciones proporcionales como progresivas basado en la ley Chilena
El package sigue los estandares PSR-1, PSR-2, and PSR-4.
La rama Master posee los siguiente requerimientos
- PHP 7.0.0 o mayor.
[Usando Composer]
Agrega el package en composer.json
- de la siguiente manera:
{
"require": {
"folivaresrios/chileanvacation": "^1.0"
}
}
o a traves de linea de comando
composer require folivaresrios/chileanvacation
Como Usar?
Existen 5 clases diferentes; Person, Vacation, Holidays, Certificate, Job y para dar flexibilidad al package 4 de estas poseen Interfaces por si ya tienes implementadas estas en tu proyecto con el fin de solo implementar los metodos.
Se debe crear un objeto Certificate con los años acreditados por el documento de la afp como la fecha de entrega de este.
new Certificate($quotedYears, $documentDeliveryDate);
Tambien debes crear un objeto Holiday pasando un arreglo con las fechas correspondientes a los feriados
new Holiday($holidays);
El objeto Job contiene la fecha de inicio como la de termimno y adicionalmente debe tener los feriados
new Job(string $startDate, string $endDate = null, ChileanHoliday $holiday, Document $certificate = null)
Por ultimo el objeto Person, que contiene a Job. Con este ultimo objeto trabajaremos y podremos calcular las vacaciones
new Person(Employment $job)
new Vacation (string $requestedDate = null, int $requestedDays = 0, int $vacationDaysTaken = 0, int $progressiveDaysTaken = 0)
Obtenemos la fecha de retorno de las vacaciones solicitadas.
$this->getReturnDate(Holiday $holiday);
Obtenemos la fecha de retorno de las vacaciones solicitadas.
$this->getProportionalDays(NaturalPerson $person);
Obtenemos los dias trabajados en la empresa
$this->getWorkedDays(NaturalPerson $person)
Obtenemos los dias de vacaciones proporcionales obtenidos a la fecha
$this->getProgressiveVacations(NaturalPErson $person)
Obtenemos los dias restantes de vacaciones proporcionales obtenidos a la fecha
$this->getRemainingProgressiveVacations(NaturalPErson $person)
Obtenemos los dias restantes de vacaciones progresivas obtenidos a la fecha
$this->getRemainingVacations(NaturalPErson $person)
Si tienes problemas con ChileanVacation, abre un "issue" en GitHub.
Si quieres contribuir con ChileanVacation creado algo que quiereas agregar,envia un pull requests o abre un issues.