Reglas para realizar consistencia en registros históricos y cronogramas
Para lograr consistencia, es necesario ampliar los SystemComponents proporcionados por Gestão do Ponto realizando los siguientes pasos:
- Cree un componente del sistema. Para extender uno nuevo, use la opción Archivo > Nuevo > Otro en el Entorno de personalización (desarrollador sénior);
- Dentro de la carpeta Senior, seleccione la opción "SystemComponent". Esta operación debe realizarse dentro del proyecto de personalización:

- Ingrese el nombre del SystemComponent deseado y el SystemComponent base;
Observación
comprobar eltabla con los componentes básicos del sistema disponibles.
Ejemplo:El nombre de SystemComponent es "SCValidaScale" y el SystemComponent base es "SCHistoricoScale".

Importante
La clase Java se puede generar automáticamente. Para hacer esto, simplemente marqueGenerar fuente Java de SystemComponent.
Al crear las clases, el archivo Entities.json también ya está actualizado. Este archivo contiene las declaraciones de los SystemComponents creados. Si es necesario copiar un SystemComponent directamente al proyecto de personalización sin usar el asistente de creación, es necesario editar el archivo Entities.json e insertar la clase deseada. Este archivo tiene la estructura que se muestra a continuación. Cada SystemComponent creado debe aparecer en este archivo.
{
Componentes del sistema: [
{
extensión:"custom.senior.rules.SCValidaScale",
base: "br.com.senior.rh.gp.sc.historico.escala.SCHistoricoEscala"
},
{
extensión: "custom.senior.rules.SCValidaExchangeScale" ,
base: "br.com.senior.gp.sc.programacoes.SCProgramacoes"
}
]
}
- Implementar el SystemComponent. En la clase Java de Systemcomponent, implemente las consistencias necesarias para cada situación, utilizando elcontexto general.
Ejemplo:paquete reglas.personalizadas.para.mayores;
importar com.senior.ContextGeneralRH;
@SystemComponentExtension("br.com.senior.rh.gp.sc.historico.escala.SCHistoricoEscala")
clase pública SCValidaScaleextiende AbstractSystemComponentExtension {
privado Contexto general de RHcontexto general;
público SCValidaScale(IEntitySession entidadSesión) {
súper(sesión de entidad);
Instancia de Ayudante de GeneralContext = Ayudante de GeneralContext.obtener Instancia();
contexto general = instancia.getGeneralContext();
}
público String validateScale(IFieldAccessor<IHistoricoScale> campo, IHistoricoScalehistoricScale, IBookmark bookmark) {
Retorno de cadena ="Verdadero";
si (consiste en WeeklyHours (historicScale)){
volver = “¡La cantidad de horas semanales de la nueva escala no puede ser diferente a la escala actual!. Para este cambio contactar con el área de RRHH.";
}
devolver devolver
}
//Comprueba si el número de horas semanales del horario anterior y el nuevo son diferentes.
booleano privado consisteWeeklyHours(IHistoricScale hisScale) {
En t HormigaEscala = obtenerEscalaAnterior(suEscala);
En t codEscAtu = hisEscala.getCodEsc();
Escala EscalaAnterior =contexto general.getScale(CodEscAnt);
Escala Escala actual = contexto general .getScale(CodEscAtu);
si (escalaAnterior.getHorasSemanal() !=escalaAtual.getHorasSemanal()){
volver verdadero;
}
falso retorno ;
}
interno privado getScalePrevious(IHistoricoScale suEscala) {
//Encuentra la última escala del historial del contribuyente
escala escala predicha = contexto general .getScalaPrevistaCollaborador(hisScale.getNumEmp(), hisScale.getTypeCol(), hisScale.getNumCad(), hisScale.getDatAlt());
devolver escalaPrevista.getCodigo();
}
}
- Ajuste la extensión SystemComponent. Al crear el SystemComponent, también se crea una extensión SystemComponent, que es un archivo con la extensión .sc en la misma carpeta donde se creó el SystemComponent. En este archivo, ingrese las siguientes propiedades:
- identificación: nombre del conjunto de datos para el que se va a construir la regla. Para obtener más detalles sobre los conjuntos de datos disponibles, consulte latabla;
- nombre: nombre de validación. Este campo es una descripción libre y no tiene conexión con la clase de implementación de reglas;
- calculadora: nombre del método que se ejecutará para la validación. Este nombre debe ser el mismo que el nombre del método creado en la clase java;
- afectores: campos que deben verificarse para que se ejecute el método. Para ingresar más de un campo, use la coma;
- marcarEnInsertar: indica si el método se ejecutará al incluirlo;
- comprobar en la actualización: indica si el método se ejecutará al cambiar;
- comprobar en quitar : Indica si el método se ejecutará al eliminarlo.
Ejemplo:Dos validaciones con los nombres validarEscala y validarEscala123 (archivo SCValidaScale.sc):
{
extensión de:"br.com.senior.rh.gp.sc.historico.escala.SCHistoricoEscala",
Extensiones de conjunto de datos: [{
identificación: "DsHistoricoScale" ,
verificaciones: [{
nombre: "USU_SCValidaScale" ,
calculadora: "validarEscala" ,
afectores: ["CodEsc"],
comprobar en insertar:verdadero,
comprobar en la actualización: verdadero ,
comprobar en quitar:falso
},{
nombre: "USU_SCValidaScale123" ,
calculadora: "validarEscala123" ,
afectores: [ "CodEsc,CodTma,TurInt" ],
comprobar en insertar: verdadero ,
comprobar en la actualización: verdadero ,
comprobar en quitar: falso
}]
}]
}
Principales componentes del sistema, entidades y conjuntos de datos
Están disponibles:
| Asunto | SystemComponent | Entidad | DataSet |
|---|---|---|---|
| Historial de alejamiento | SCHistoricoAfastamento | IHistoricoAfastamento | DsHistoricoAfastamento |
| Historial de escala | SCHistoricoEscala | IHistoricoEscala | DsHistoricoEscala |
| Historial de anotación | SCHistoricoAnotacoes | IHistoricoAnotacoes | DsHistoricoAnotacao |
| Historial de apuración | SCHistoricoApuracao | IHistoricoApuracao | DsHistoricoApuracao |
| Cambio de horario | SCProgramacoes | ITrocaHorario | DsTrocaHorario |
| Compensación | SCProgramacoes | ICompensacao | DsCompensacao |
| Puente | SCProgramacoes | IPonte | DsPonte |
| Autorización de salida | SCProgramacoes | IAutorizacaoSaida | DsAutorizacaoSaida |
| Autorización de horas extras | SCProgramacoes | IAutorizacaoHoraExtra | DsAutorizacaoHoraExtra |
| Notificación | SCProgramacoes | ISobreavisoProntidao | DsSobreavisoProntidao |
| Cambio de escala | SCProgramacoes | ITrocaEscala | DsTrocaEscala |
| Proyección de horario | SCProgramacoes | IProjecaoHorario | DsProjecaoHorario |
| Sanciones por incidentes puntuales | SCPenalidadeIncidente | IPenalidadeIncidente | DsPenalidadeIncidente |
| Definición de gestión de incidentes | SCDefinicaoIncidente | IDefinicaoIncidente | DsDefinicaoIncidente |
| Definición de firma de espejo de punto | SCDefinicaoAssinaturaEspelhoPonto | IDefinicaoAssinaturaEspelhoPonto | DsDefinicaoAssinaturaEspelhoPonto |
| Acciones de ajuste | SCAcaoAcerto | IAcoesAcerto | DsAcaoAcerto |
Importante
Para que un campo de usuario personalizado esté con los valores actualizados, sin la necesidad de actualizar la página, es necesario que la regla busque este valor a través de la entidad de la pantalla, utilizando el método getField (). getValue () del cursor y especificando el campo de la siguiente manera:
Object value = cursor.getField (<nombre de campo de usuario>). GetValue (<entidad que representa tabla>)
English
Español


