i
Calendarios
Para el objeto calendario solamente se definen las operaciones de la clase servicio para trabajar con fechas, no es necesaria la clase modelo porque se utilizan los tipos de datos de Deyel. La clase servicio se encuentra predefinida en Deyel SDK y no es necesario descargarla.
Contenido de la Clase Sevicio
El servicio permite realizar las siguientes operaciones:
Operación |
Descripción |
Parámetros |
---|---|---|
worksDays(start, end) |
Obtiene los días laborales entre fechas, usando el calendario del usuario actual u otro especificado como parámetro. |
Timestamp start: Fecha de inicio de periodo
Timestamp end: Fecha de fin de periodo |
worksDays(start, end, calendar) |
Obtiene los días laborales entre fechas usando el calendario especificado como parámetro. |
Timestamp start: Fecha de inicio de periodo
Timestamp end: Fecha de fin de periodo
Integer calendar: Código del calendario especificado |
convertToTimeZone(date, calendar) |
Convierte una fecha a una zona horaria especificada. |
Timestamp date: Fecha a convertir
Integer calendar: Código del calendario con la zona horaria especificada |
Ejemplo de Uso
Los ejemplos contienen el uso de clase servicio “CalendarService”.
1.Creación del servicio
Este servicio se crea por única vez en la regla y se lo reutiliza en las distintas operaciones.
CalendarService calendarService = new CalendarService(getApiClient());
|
2.Cálculo de días laborales entre fechas
En este ejemplo se lee un número de presupuesto y se calcula la cantidad de días laborales que hay entre la fecha de ingreso del presupuesto y la fecha de vencimiento del mismo.
Se lee un presupuesto con el valor de la propiedad dsNumber “100234” de la clase modelo “Budget”, utilizando el método read(budget) de la clase servicio “BudgetService”.
Con el método workDays(start, end) de la clase servicio “CalendarService” se obtiene la cantidad de días laborales que hay entre los valores de las propiedades dtQuote y dtDue, obtenidos de los correspondientes métodos getter de la clase modelo “Budget”.
BudgetService budgetService = new BudgetService(getApiClient()); String dsNumber = "100234"; Budget budget = new Budget(); budget.setDsNumber(dsNumber); budget = budgetService.read(budget); Timestamp start = new Timestamp(budget.getDtQuote().getTime()); Timestamp end = new Timestamp(budget.getDtDue().getTime()); calendarService.worksDays(start, end);
|
3.Cálculo de hora con otra zona horaria
En este ejemplo se convierte la hora local a la hora de México, establecida por la zona horaria del calendario 2, utilizando el método convertToTimeZone(localTime, 2) del servicio “CalendarService”.
Timestamp localTime = Timestamp.valueOf(LocalDateTime.now()); Timestamp timeMexico = calendarService.convertToTimeZone(localTime, 2); log("Local Time: " + localTime + " Time Mexico: " + timeMexico);
|