Buen día,

Hace un mes implementamos el sistema de asistencias en un cliente, al ver el funcionamiento y los limitantes del Identity como columna primaria me pregunte la forma en la que estaba pensado.

¿Cual era el objetivo del modulo en cuanto a procesamiento?

Esta pregunta resalta ya que el proceso se genera tantas veces en el día, para tanta gente que esta consumiendo los identidad de una manera muy acelerada y pronto llegaría al máximo 2,147,483,647 para una columna INT, que es el caso de las tablas involucradas, ext_horas_extras, tnn_tiempos_no_trabajados y asi_asistencias en donde se maneja mayor volumen. Para impedir esto se esta haciendo un RESEED a las tablas con cada DELETE sin embargo es un proceso riesgoso y genera mucha basura en cuanto a LOG.

Entonces me pregunto,

¿Lo hicimos de la manera equivocada? ¿Es este modulo para estar procesando asistencia o es solo para ingresar asistencia procesada?

Si su función sera estar procesando marcas, ¿sera mejor usar un UID como columna primaria?, ¿Que implicaría este cambio en cuanto al sistema?

asked 20 Apr '18, 12:29

MiguelBustamante's gravatar image

MiguelBustamante
52195110116
accept rate: 31%


Tanto el procesamiento de marcas como el procesamiento de asistencia debería de hacerse una sola vez para un rango de fechas especifico; por ejemplo, este dia se cargan todas las marcas de la 1era quincena de abril (que pueden ser entre 2 o 4 registros por empleado), esas marcas se convierten en asistencia (que son 15 por cada empleado cuando la planilla es quincenal), esas asistencias algunas generaran HE o ausencias (que si se genera una HE diaria serían 15 por empleado por quincena)

Se menciona que hay un proceso de DELETE, quiere decir que borran lo ya cargado ... considero que no habría necesidad dado que si ya pasó un dia completo ese dia se carga y se procesa. Si hay necesidad de correccion de marcas y/o asistencias se hacen directamente en el sistema

link

answered 20 Apr '18, 15:08

sbarahona's gravatar image

sbarahona ♦♦
(suspended)
accept rate: 32%

Ah ok, entonces lo hice mal.

En el cliente se instalo de tal forma que todos los días se puede saber en tiempo real la asistencia. Procesando diariamente mas de una vez, para realizar cálculos de horas extras y tiempos no trabajados, esto respondiendo a la necesidad que el cliente necesitaba que Evolution le informara si algún colaborador no llego a trabajar en el turno X para poder enviar un reemplazo.

En realidad lo que se elimina es la asistencia, horas extras y tiempos no trabajados en estado Pendiente, esto respondiendo a la necesidad que el cliente va autorizado horas y tiempos no trabajados diariamente para no tener un peso grande al final de la quincena.

Las marcas no se eliminan esas se toman de relojes de manera semiautomática cada cierta cantidad de tiempo(17 minutos actualmente) y al finalizar la actualización de marcas procesa para enviar alertas y generar las eventualidades.

link

answered 20 Apr '18, 15:26

MiguelBustamante's gravatar image

MiguelBustamante
52195110116
accept rate: 31%

Las marcas se pueden ir insertando varias veces al dia. Al dia siguiente, a las 7 am por ejemplo, se procesan todas esas marcas y se crean las asistencias una sola vez para generar las HE y/o ausencias, no habría de borrarlas luego

(20 Apr '18, 15:40) sbarahona ♦♦ sbarahona's gravatar image

Como en ese escenario se ¿si no llego alguien al puesto?

Edit: nada que ver, lo puedo saber solo con las marcas. Lo único que me queda es recordar porque genera horas extras y tiempos no trabajados diariamente.

(20 Apr '18, 15:52) MiguelBustamante MiguelBustamante's gravatar image

Tal vez se podria simplificar el proceso generando solamente la asistencia teorica... Cabe mencionar que al modulo de control de asistencia se le está dando un alcance diferente al que está pensado

(20 Apr '18, 16:12) sbarahona ♦♦ sbarahona's gravatar image
Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here

By RSS:

Answers

Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Evolution en BitBucket

En este sitio puede acceder al código fuente, centro de descargas y reportar bugs, propuestas y mejoras para Evolution.

Evolution en JIRA

En este sitio puedes sugerir nueva funcionalidad para Evolution, o puedes votar por la funcionalidad ya propuesta por otros usuarios.

Tags:

×12
×5

Asked: 20 Apr '18, 12:29

Seen: 630 times

Last updated: 20 Apr '18, 16:12

[Acerca de] [Preguntas Frecuentes] [Privacidad] [Soporte] [Contacto]
Copyright 2013-2018. Asesores en Informática