programacion

Páginas: 5 (1211 palabras) Publicado: 7 de abril de 2014
Private Sub btn_calcular_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles btn_calcular.Click
Dim i As Integer
'se definen variables para guardar la hora de entrada y salida del empleado
Dim entrada As DateTime
Dim salida As DateTime
'se define una variable de tipo timespan para determinar las horas ,
'minutos y segundos trabajados por dia
Dim hora As TimeSpan'se define una variable para guardar el resultado del timespan dando un formato
'de tipo string
Dim resultado As String
'se definen variaables para guardar el pago por hora y el pago diario del
empleado
Dim pago_dia, pago_hora, tarifa_diario, tarifa_extra, pago_extra, pago_feriado As
Single
'se calcula el pago por hora
pago_hora = (busca_empleado(txt_idempl.Text)) / 160'**********MODIFICACION AQUI...cuanto se paga la hora extra******************
tarifa_diario = (busca_empleado(txt_idempl.Text)) / 30
tarifa_extra = CSng((tarifa_diario / 8) * 1.5)
'****************************************************************************
'se recorre el listview asistencia para calcular pago diario en cada item
'cada item representa un dia laborado por determinado empleado
For i = 0To lst_asistencia.Items.Count - 1
'se almacena la hora de entrada
entrada = DateTime.Parse(lst_asistencia.Items(i).SubItems(2).Text)
'se almacena la hora de salida
salida = DateTime.Parse(lst_asistencia.Items(i).SubItems(3).Text)
'se determina las horas trabajadas a traves de la diferencia entre las
variables
'entrada y salida, ambas de tipo datetime
hora = salida.Subtract(entrada)
'seda formato a la variable hora haciendo una copia de su valor en una
variable
'de tipo string
resultado = String.Format("{0}:{1}:{2}", hora.Hours, hora.Minutes,
hora.Seconds)
'se agrega el resultado a la lista
lst_asistencia.Items(i).SubItems(4).Text = resultado
'se evalua las horas trabajadas para determinar el pago diario
'*****MODIFICACION AQUI....en la variable he guardo la hora deentrada,
obtenida de la columna correspondiente del
'listview, pero como solo interesa la hora extraigo ese dato de la cadena
completa que contiene horas, minutos y segundos
'el mismo procedimiento con la hora de salida
Dim he, hs As Integer
he =
CInt(Microsoft.VisualBasic.Left(lst_asistencia.Items(i).SubItems(2).Text, 2))
hs =CInt(Microsoft.VisualBasic.Left(lst_asistencia.Items(i).SubItems(3).Text, 2))
'***************************************************************************************
Select Case hora.Hours
Case 8 'si trabajo 8 horas
pago_dia = pago_hora * 8
Case Is < 8 'si trabajo menos de 8 horas
'pero como se da un margen de 20 minutos de llegadas tarde por dia
'si fue asi se paga jornada compleata
If hora.Minutes > 40 And hora.Hours = 7 Then
pago_dia =pago_hora * 8
Else
'pero si trabajo menors de 8 horas y se paso del margen de 20
'minutos diarios
Dim horas_tarde As Integer
horas_tarde = 8 - hora.Hours
'al pago diario se le realizar una deduccion de llegada tarde
pago_dia = pago_hora * (8 - horas_tarde)
End If
End Select
'*****MODIFICACION AQUI, SI TRABAJO MAS DE 8 HORAS NORMALES....o sea que su
hora de salida
'es 17 (5 de la tarde)o mayor
If hs > 16 Then
'las 16 horas es la hora normal de salida, por lo tanto las horas
subsiguientes son extra
pago_extra = (hs - 16) * tarifa_extra
Else
pago_extra = 0
End If
'****************************************************************************************
****
'*****MODIFICACION AQUI......DETERMINAR PAGO DIAS
FERIADOS***********************************
'se extrae dia ymes de la columna fecha del listview
Dim dia, mes As String
dia = Microsoft.VisualBasic.Mid(lst_asistencia.Items(i).SubItems(1).Text, 1,
2)
mes = Microsoft.VisualBasic.Mid(lst_asistencia.Items(i).SubItems(1).Text, 4,
2)
If mes = "10" Then
If dia = "03" Or dia = "21" Then
pago_feriado = CSng(tarifa_diario * 1.5)
Else
pago_feriado = 0
End If
End If
'se envia el item al listbox...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Programación
  • Programacion
  • Programacion
  • Programación
  • Programacion
  • Programacion
  • Programacion
  • Programacion

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS