• No results found

SUMMARY, CONCLUSION, IMPLICATIONS AND RECOMMENDATIONS

1.- Construcción del Módulo Alta de “Valeras”

Para la construcción del Módulo Alta de “Valeras”, el usuario solicita el número de inmovilizado al cual se le va a asignar una nueva “Valera”, una vez proporcionado ese número, el sistema valida que éste se encuentre dentro del centro de trabajo del usuario, esto se realiza con el fin de que cada usuario vea sólo la información que le corresponde y para la cual tiene acceso.

CAPÍTULO 4.- FASES DE: DISEÑO, CONSTRUCCIÓN E IMPLANTACIÓN PARA EL DESARROLLO DEL SISTEMA DE INFORMACIÓN

67

Realizado este paso se introducen los datos de la “Valera”, especificando el número de “Valera”, el folio del vale inicial y del vale final, el estado de la “Valera”, ya que desde dicha pantalla también pueden llevarse a cabo cancelaciones de vales o actualizaciones de información de vales existentes, y ya por último se indica la fecha de entrega de la “Valera” y el tipo de “Valera” a entregar.

El código utilizado para realizar las acciones necesarias para éste Módulo de Alta de “Valeras”, se plasma en la Tabla 4.3:

ACCIÓN CÓDIGO

'Se declara una variable de tipo cadena Dim errInfoGrabar AsString

'Verificamos si se puede capturar la información de la Valera, mediante un procedimiento que se encarga de revisar que este capturada la información necesaria

errInfoGrabar = VerificaInfoGrabarActualizar("Inserta")

'Verificamos si no ocurrió algún error If errInfoGrabar = "False" Then

'Obtenemos la Región, la Región la obtenemos del

campo CVE_CENTRO obteniendo el primer carácter Dim Region AsString

'Inicializamos la Región Region = ""

Region =

Session("mCO_Va_Cen_Opera").Substring(0, 1)

'Verificamos que no haya ocurrido un error en la

captura Dim errCapturaInfo = VerificaInfoCaptura() errCapturaInfo AsString

If errCapturaInfo = "False" Then

Dim strNumeroValera AsString

'Obtenemos la terminación del año, en base a la

fecha de entrega txtTerm_Anio.Text = txtFecha_entrega.Text.Substring(8, 2)

'Concatenamos el número de Valera con la

terminación del año, para obtener el num. de Valera strNumeroValera = txtNumeroValera.Text & txtTerm_Anio.Text

'Ejecutamos el procedimiento que se encargará de

realizar la inserción InsertaInfoValera(txtInmovilizado.Text, Session("mCO_Va_Ficha"), strNumeroValera,

txtValeInicial.Text, _ txtValeFinal.Text, _ Region, Session("mCO_Va_Cen_Opera"), Session("mCO_Va_Centrot"), Session("m_CO_Va_Departamento"), Session("ssFicha"), _ ConvierteCVE_BAJAL_Valor(ddwEdoValera.SelectedIt em.Text), txtObservaciones.Text.ToUpper, _ txtFecha_entrega.Text, ddwEstacionServicio.SelectedItem.Value, DdwTipoValera.SelectedItem.Value, Session("m_CO_Va_TipoCombustible")) Else

'Mandamos un mensaje de error con los errores que se originen de la captura, errores del tipo de datos que no sean numéricos, datos negativos y una comparación sobre que el vale final debe ser mayor o igual que el vale inicial

MsgBox1.ShowMessage(errCapturaInfo) EndIf

Else

'Mandamos un mensaje de error, ya que la

información no se capturó correctamente MsgBox1.ShowMessage(errInfoGrabar) EndIf

CAPÍTULO 4.- FASES DE: DISEÑO, CONSTRUCCIÓN E IMPLANTACIÓN PARA EL DESARROLLO DEL SISTEMA DE INFORMACIÓN

68

2.- Construcción del Módulo Alta de Vales

Para la construcción del Modulo de Captura de Vales, se colocaron los controles de tal manera que lo primero que tenga que introducir el usuario, sea el número de inmovilizado y el folio del vale a capturar para posteriormente llevar a cabo la búsqueda de las “Valeras” dentro de las cuales puede encontrarse este vale. Se incluyó un listado con las “Valeras” pertenecientes a ese inmovilizado para que el usuario seleccione la “Valera” en la que va a capturar ese vale.

Para capturar un vale y según entrevistas con el usuario, se ingresan como son recibidos de las estaciones de servicios, los datos requeridos obligatoriamente son la ficha del trabajador que utilizó el vale, la fecha de carga del combustible, la lectura del odómetro del vehículo al momento de la carga, el número del litros cargados y la estación de servicio en la cual se llevó a cabo la carga, para introducir esta información se colocaron en la mayoría de los casos cuadros de texto en los que el usuario introduce la información requerida.

Al momento en que el usuario introduce la ficha de la persona que utilizó el vale y presionar el vínculo de comprobar se lleva a cabo la validación de ficha, información que en caso de ser correcta se ejecuta un proceso para extraer la información del trabajador de las tablas de nómina, esto se hace con el fin de que el usuario tecleé la mínima información posible, dejando como su único trabajo la información específica del vale.

CAPÍTULO 4.- FASES DE: DISEÑO, CONSTRUCCIÓN E IMPLANTACIÓN PARA EL DESARROLLO DEL SISTEMA DE INFORMACIÓN

69

ACCIÓN CÓDIGO

'Se declara una variable de tipo cadena Dim strOdometro AsString

'Si el odómetro funciona efectúa la validación del odómetro, si no solo establece que el odómetro es valido ya que se inserta el kilometraje máximo registrado hasta el momento

If lblOdometro.Text = "S" Then

strOdometro =

VerificaOdometro(CLng(txtLecturaOdometro.Text), "Inserta") ElseIf lblOdometro.Text = "N" Then

strOdometro = "True" EndIf

'Ejecutamos la función que verifica si el odómetro se

puede insertar If strOdometro = "True" Then

'Antes de insertar contamos el número de vales disponibles como última validación, esto es para cuando ya sea el último vale que en automático se actualice la clave bajal de la Valera a Baja

Dim objTotVales AsNew cConsultas Dim strTotVales AsString

strTotVales =

objTotVales.CO_S_NumeroValesTotales(txtInmovilizado.Text, txtValera.Text)

'Verificamos que no ocurra ningún error en la consulta If strTotVales = "-1" Then

MsgBox1.ShowMessage("Ocurrio un error...") Else

'Verificamos si arrojó resultados la consulta If strTotVales = "0" Then

MsgBox1.ShowMessage("La consulta no arrojo resultados") Else

'Verificamos el número total de vales para ver si aún se pueden capturar vales y si es el último cambiar el estado de la clave bajal

Dim objValesInsertados AsNew cConsultas Dim intVales AsInteger

intVales =

objValesInsertados.CO_S_ValesInsertados(txtInmovilizado.Text, txtValera.Text)

'Verificamos que no ocurran errores If intVales = -1 Then

'Mandamos un mensaje de que ocurrió un error MsgBox1.ShowMessage("Ocurrio un error...")

Else

'Verificamos que arroje resultados la consulta If intVales = 0 Then

'No hay vales insertados para el inmovilizado MsgBox1.ShowMessage(Insert_Info_Odometro(Session("m_CO

_Va_EdoValera_CveBajal")))

'Limpiamos la información de los vales LimpiaInfoFicha() Else

'Verificamos que se puedan insertar vales If intVales = (CInt(strTotVales) - 1) Then

'Verificamos el Estado de la Valera Dim strEdoValera AsString If

Session("m_CO_Va_EdoValera_CveBajal") = "A" Then

strEdoValera = "B" Else If

Session("m_CO_Va_EdoValera_CveBajal") = "C" Then

strEdoValera = "C" Else If

Session("m_CO_Va_EdoValera_CveBajal") = "T" Then

strEdoValera = "B" EndIf EndIf EndIf

'Último vale disponible para insertar MsgBox1.ShowMessage(Insert_Info_Odometro(strEdoValera))

'Limpiamos la información de los vales LimpiaInfoFicha() Else

'Verificamos que el número de vales insertados no

exceda el total de vales asignados a la Valera If intVales < CInt(strTotVales) Then

'Insertamos la información y ponemos la clave bajal en

Activa MsgBox1.ShowMessage(Insert_Info_Odometro(Session("m_CO_Va_EdoValera_CveBajal")))

'Limpiamos la información de los vales LimpiaInfoFicha() LnkVerValesCapturados.Visible = False Else

'Mandamos un mensaje de error ya que el número de

vales insertados excede la capacidad permitida MsgBox1.ShowMessage("El vale excede la capacidad permitida de la valera" EndIf EndIf EndIf EndIf EndIf EndIf

Else

'Si la función devuelve un valor diferente de True no se puede insertar por lo tanto se imprime el mensaje indicando que no se puede insertar el odómetro

MsgBox1.ShowMessage(strOdometro) EndIf

Tabla 4.4 Fragmento del código en el lenguaje ASP.NET, para la generación del Módulo de Alta de Vales.

3.- Construcción del Módulo Registro de Tambores

El Módulo de Tambores es utilizado para llevar a cabo la captura de información de los vales que se utilizan para la carga de tambores de combustible, en esta pantalla no se utiliza el inmovilizado como llave para la consulta de información ya que no se trata de una carga de combustible para un vehículo.

CAPÍTULO 4.- FASES DE: DISEÑO, CONSTRUCCIÓN E IMPLANTACIÓN PARA EL DESARROLLO DEL SISTEMA DE INFORMACIÓN

70

A continuación, se muestra un fragmento de código, para la generación del Módulo de Registro de Tambores:

ACCIÓN CÓDIGO

'Inicia procedimiento y se declaran

variables If Session("mCO_Inserta_Actualiza") = "Actualiza" Dim objActualizaTambores AsNew cActualiza Then

Dim strActualizaTambores AsString

'Obtenemos la región Region = Session("mCO_Va_Cen_Opera").Substring(0, 1)

strActualizaTambores =

objActualizaTambores.CO_U_SolicitudTambores(txtFicha.Text, ddwTipoDeCombustibles.SelectedItem.Value, _

CDbl(txtLitros.Text), txtFecha_Carga.Text, txtPeriodo.Text, ddwGasolineras.SelectedItem.Value, Region, _ Session("mCO_Va_Cen_Opera"), txtCentro.Text, Session("m_CO_Va_Departamento"), Session("ssFicha"), mCO_FechaHoy, "A", txtFolio.Text)

If strActualizaTambores.Substring(0, 5) <> "ERROR" Then

'Limpiamos la información LimpiaInfo(False)

'Mandamos un mensaje de

información actualizada MsgBox1.ShowMessage("Datos actualizados") Else

'Mandamos un mensaje con el error

obtenido MsgBox1.ShowMessage(strActualizaTambores) EndIf

Else

'Verificamos si se trata de una

inserción If Session("mCO_Inserta_Actualiza") = "Inserta" Then

'Folio correcto seguimos con la

inserción Dim objInsertaTambores Dim strInsertaTambores AsNew cInserta AsString

'Obtenemos la región Region = Session("mCO_Va_Cen_Opera").Substring(0, 1)

strInsertaTambores =

objInsertaTambores.CO_I_Tambores(txtFolio.Text, txtFicha.Text, ddwTipoDeCombustibles.SelectedItem.Value, _

CDbl(txtLitros.Text), txtFecha_Carga.Text, txtPeriodo.Text, ddwGasolineras.SelectedItem.Value, Region, _ Session("mCO_Va_Cen_Opera"), txtCentro.Text, Session("m_CO_Va_Departamento"), Session("ssFicha"), mCO_FechaHoy, "A")

'Verificamos el resultado de la

inserción If strInsertaTambores = "True" Then

'Limpiamos la información sin eliminar

el inmovilizado LimpiaInfo(False)

'Mandamos un mensaje de que los

datos se insertaron correctamente MsgBox1.ShowMessage("Se guardo el despacho de tambor de combustible con un numero de folio--> " & txtFolio.Text)

Else

'Mandamos un mensaje de error MsgBox1.ShowMessage(strInsertaTambores)

EndIf

EndIf

EndIf

Tabla 4.5 Fragmento del código en el lenguaje ASP.NET, para la generación del Módulo de Registro de Tambores.

En la salida a pantalla de la Figura 4.26, se colocaron como controles a utilizar dentro de la sección Datos del Tambor, cuadros de texto en donde el usuario debe de introducir la información referente al vale a utilizar, siendo los datos requeridos el folio, la ficha, el nombre del trabajador, el centro operativo y departamento de trabajo.

CAPÍTULO 4.- FASES DE: DISEÑO, CONSTRUCCIÓN E IMPLANTACIÓN PARA EL DESARROLLO DEL SISTEMA DE INFORMACIÓN

71

Figura 4.26 Vista de Diseño del Módulo de Registro de Tambores.

También, se colocó en una sección marcada como Registro de Tambores, controles de texto para que el usuario indique la fecha de carga, el periodo para el cual aplica, el número de litros cargados así como el tipo de combustible y la gasolinera en la cual se llevó a cabo la carga.

Para facilidad del usuario y para evitar problemas en las fechas introducidas se colocó un control calendario dentro de la pantalla para que el usuario seleccione una fecha válida en lugar de que el tenga la posibilidad de escribirla, esto como parte de la validación de los datos de entrada que se lleva a cabo en todos los módulos del sistema según el diseño realizado.

4.- Construcción del Módulo Registro de Pipas

Para el diseño y construcción de esta salida a pantalla, el usuario indicó que era requerido especificar los datos de la persona que transporta el combustible, esto se realiza de la misma manera que en el módulo de tambores, es decir, especificando el folio y la ficha del vale que se genera para el envío de combustibles, una vez realizado el usuario indica el número de la factura de compra del combustible, la fecha de carga, el periodo para el cual aplica dicha carga, el número de litros transportados así como el tipo de combustible y las gasolineras a las cuales se va a realizar dicho envío.

El Módulo de Pipas es el utilizado para manejar el envío que se hace de combustible a las estaciones de servicio.

En esta salida a pantalla se colocaron como controles a utilizar cuadros de texto y listas desplegables con valores extraídos de los catálogos del sistema para una fácil utilización por parte del usuario, con esto se logra que la captura no tome mucho tiempo y que la información introducida sea confiable al validar los campos de entrada. Un fragmento de código se muestra a continuación:

CAPÍTULO 4.- FASES DE: DISEÑO, CONSTRUCCIÓN E IMPLANTACIÓN PARA EL DESARROLLO DEL SISTEMA DE INFORMACIÓN

72

ACCIÓN CÓDIGO

'Procedimiento para el registro de Pipas con Diesel Industrial Bajo de Azufre

If ddwTipoDeCombustibles.SelectedItem.Value = "1" Then

strInsertaPipa = objInsertaPipa.CO_I_Pipas(txtFolio.Text, txtFactura.Text, txtFicha.Text,

ddwTipoDeCombustibles.SelectedItem.Value, CDbl(txtLitros.Text), _ txtPeriodo.Text, CDbl(txtIEPS.Text), txtDestino.Text,

txtFecha_Carga.Text, Region, Session("mCO_Va_Cen_Opera"), txtCentro.Text, Session("m_CO_Va_Departamento"),

Session("ssFicha"), mCO_FechaHoy, "A") Else

'Diferente de D.I.B.A If ddwTipoDeCombustibles.SelectedItem.Value <> "1" Then

strInsertaPipa =

objInsertaPipa.CO_I_Pipas(txtFolio.Text, txtFactura.Text, txtFicha.Text, ddwTipoDeCombustibles.SelectedItem.Value,

CDbl(txtLitros.Text), _ txtPeriodo.Text, 0.0,

ddwGasolineras.SelectedItem.Text, txtFecha_Carga.Text, Region, Session("mCO_Va_Cen_Opera"), txtCentro.Text, _

Session("m_CO_Va_Departamento"), Session("ssFicha"), mCO_FechaHoy, "A") EndIf

EndIf

'Verificamos el resultado de la inserción, y mandamos un mensaje de que los datos se insertaron correctamente

If strInsertaPipa = "True" Then

'Limpiamos la información LimpiaInfo(False, True)

'Mandamos un mensaje de que los datos se guardaron

satisfactoriamente

MsgBox1.ShowMessage("Se guardo el despacho de una pipa de combustible con el numero de folio---> " & txtFolio.Text)

Else

'Mandamos un mensaje con el error que se genero de la inserción de la información

MsgBox1.ShowMessage(strInsertaPipa) EndIf

Tabla 4.6 Fragmento del código en el lenguaje ASP.NET, para la generación del Módulo de Registro de Pipas.

CAPÍTULO 4.- FASES DE: DISEÑO, CONSTRUCCIÓN E IMPLANTACIÓN PARA EL DESARROLLO DEL SISTEMA DE INFORMACIÓN

73

5.- Construcción del Módulo Alta de Vales Estacionarios

Para la construcción de este módulo, se diseñó el procedimiento para que el usuario introduzca el número del inmovilizado del Equipo Estacionario y el folio del Vale, una vez localizado, se selecciona y se continúa con los datos referente a la persona que utilizó el vale y presionar el vinculo de comprobar se lleva a cabo la validación de ficha información que en caso de ser correcta se ejecuta un proceso para extraer la información del trabajador de las tablas de nómina, esto se hace con el fin de que el usuario tecleé la mínima información posible, dejando como su único trabajo la información específica del vale.

Figura 4.28 Vista de Diseño del Módulo de Alta de Vales Estacionarios.

6.- Construcción del Módulo Consulta de Vales

La construcción de este módulo es para visualizar los registros de una Valera y sus vales capturados a manera de lista de verificación, además de consultar el estado de las “Valeras” asignadas a ese inmovilizado. Su Vista de Diseño se presenta en la Figura 4.29:

CAPÍTULO 4.- FASES DE: DISEÑO, CONSTRUCCIÓN E IMPLANTACIÓN PARA EL DESARROLLO DEL SISTEMA DE INFORMACIÓN

74

Related documents