folivaresrios / chileanvacation
Package que permite calcular las vacaciones proporcionales como progresivas basado en la ley Chilena
Requires
- php: >= 7.0.0
Requires (Dev)
- phpunit/phpunit: ^6.4
This package is not auto-updated.
Last update: 2024-12-22 05:50:11 UTC
README
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.
Requerimientos
La rama Master posee los siguiente requerimientos
- PHP 7.0.0 o mayor.
Como instalar?
[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)
Los metodos los encontramos "encapsulados" en la clase Vacation
new Vacation (string $requestedDate = null, int $requestedDays = 0, int $vacationDaysTaken = 0, int $progressiveDaysTaken = 0)
getReturnDate($holiday)
Obtenemos la fecha de retorno de las vacaciones solicitadas.
$this->getReturnDate(Holiday $holiday);
getProportionalDays($person)
Obtenemos la fecha de retorno de las vacaciones solicitadas.
$this->getProportionalDays(NaturalPerson $person);
getWorkedDays($person)
Obtenemos los dias trabajados en la empresa
$this->getWorkedDays(NaturalPerson $person)
getProgressiveVacations($person)
Obtenemos los dias de vacaciones proporcionales obtenidos a la fecha
$this->getProgressiveVacations(NaturalPErson $person)
getRemainingProgressiveVacations($person)
Obtenemos los dias restantes de vacaciones proporcionales obtenidos a la fecha
$this->getRemainingProgressiveVacations(NaturalPErson $person)
getRemainingProgressiveVacations($person)
Obtenemos los dias restantes de vacaciones progresivas obtenidos a la fecha
$this->getRemainingVacations(NaturalPErson $person)
Reportando errores
Si tienes problemas con ChileanVacation, abre un "issue" en GitHub.
Contribuir
Si quieres contribuir con ChileanVacation creado algo que quiereas agregar,envia un pull requests o abre un issues.