///******************************************************************************* ///NOMBRE DE LA FUNCIÓN : Alta_Caja ///DESCRIPCIÓN : Registra la apertura de caja en la base de datos ///PARÁMETROS : ///CREÓ : Héctor Gabriel Galicia Luna ///FECHA_CREO : 12 Octubre 2013 ///MODIFICÓ : ///FECHA_MODIFICO : ///CAUSA_MODIFICACIÓN : ///******************************************************************************* private Boolean Alta_Caja() { Cls_Ope_Cajas_Negocio P_Caja = new Cls_Ope_Cajas_Negocio(); // Variable utilizada para registrar la operación de caja en la base de datos Boolean Alta = false; // Variable que indica si el regstro de la operación es exitoso decimal Monto_Inicial; try { decimal.TryParse(Txt_Monto_Inicial.Text.Trim(), out Monto_Inicial); P_Caja.P_No_Turno = Txt_Turno_ID.Text; P_Caja.P_Usuario_ID = MDI_Frm_Apl_Principal.Usuario_ID; P_Caja.P_Caja_ID = Cmb_Numero_Caja.SelectedValue.ToString(); P_Caja.P_Monto_Inicial = Monto_Inicial; P_Caja.P_Fecha_Hora_Inicio = DateTime.Parse(Txt_Fecha.Text + " " + Txt_Horario_Inicio.Text); P_Caja.P_Estatus = "ABIERTA"; P_Caja.Alta_Caja(); //// se asigna la caja abierta al usuario MDI_Frm_Apl_Principal.Caja_ID = P_Caja.P_Caja_ID; Alta = true; } catch (Exception e) { MessageBox.Show(e.Message, "Cajas", MessageBoxButtons.OK, MessageBoxIcon.Error); } return(Alta); }
///******************************************************************************* ///NOMBRE DE LA FUNCIÓN : Validar_Turno_Caja ///DESCRIPCIÓN : Valida si una caja se encuentra abierta ///PARÁMETROS : Numero_Caja, número de caja a revisar si se encuentra abierta ///CREÓ : Héctor Gabriel Galicia Luna ///FECHA_CREO : 14 Octubre 2013 ///MODIFICÓ : ///FECHA_MODIFICO : ///CAUSA_MODIFICACIÓN : ///******************************************************************************* private Boolean Validar_Turno_Caja(int Numero_Caja) { Cls_Ope_Cajas_Negocio P_Caja = new Cls_Ope_Cajas_Negocio(); Cls_Cat_Cajas_Negocio P_Cat_Cajas = new Cls_Cat_Cajas_Negocio(); DataTable Ope_Cajas = null; DataTable Cat_Cajas = null; try { P_Caja.P_Estatus = "ABIERTA"; Ope_Cajas = P_Caja.Consultar_Cajas(); // Verifica si existen cajas abiertas if (Ope_Cajas.Rows.Count > 0) { P_Cat_Cajas.P_Numero_Caja = Numero_Caja.ToString(); Cat_Cajas = P_Cat_Cajas.Consultar_Caja(); // Verifica si el ID de la Caja, se encuentra en una operación de caja que se encuentre abierta if (Ope_Cajas.Select("Caja_ID = '" + Cat_Cajas.Rows[0]["Caja_ID"] + "'").Length > 0) { return(true); } } return(false); } catch (Exception e) { MessageBox.Show(e.Message, "Cajas", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } }
///******************************************************************************* ///NOMBRE DE LA FUNCIÓN : Modificar_Caja ///DESCRIPCIÓN : Modifica la operación de caja abierta para cerrarla ///PARÁMETROS : P_Caja, conttiene los datos de la operación a cerrar ///CREÓ : Héctor Gabriel Galicia Luna ///FECHA_CREO : 12 Octubre 2013 ///MODIFICÓ : Roberto González Oseguera ///FECHA_MODIFICO : 05-nov-2013 ///CAUSA_MODIFICACIÓN : Se actualizó para considerar transacciones activas ///******************************************************************************* public static Boolean Modificar_Caja(Cls_Ope_Cajas_Negocio P_Caja) { StringBuilder Mi_SQL = new StringBuilder(); Boolean Modificar = false; Boolean Transaccion_Activa = false; //Abrir la conexión Conexion.Iniciar_Helper(); if (!Conexion.HelperGenerico.Estatus_Transaccion()) { Conexion.HelperGenerico.Conexion_y_Apertura(); } else { Transaccion_Activa = true; } try { Conexion.HelperGenerico.Iniciar_Transaccion(); Mi_SQL.Append("UPDATE " + Ope_Cajas.Tabla_Ope_Cajas + " SET "); Mi_SQL.Append(Ope_Cajas.Campo_Fecha_Hora_Cierre + "=" + Cls_Ayudante_Sintaxis.Insertar_Fecha_Hora(P_Caja.P_Fecha_Hora_Cierre) + ","); Mi_SQL.Append(Ope_Cajas.Campo_Estatus + "='" + P_Caja.P_Estatus + "' "); Mi_SQL.Append("WHERE " + Ope_Cajas.Campo_No_Caja + "='" + P_Caja.P_No_Caja + "'"); Conexion.HelperGenerico.Ejecutar_NonQuery(Mi_SQL.ToString()); Mi_SQL.Clear(); Mi_SQL.Append("update " + Apl_Usuarios.Tabla_Apl_Usuarios + " set "); Mi_SQL.Append(Apl_Usuarios.Campo_Caja_ID + "=''"); Mi_SQL.Append(" where " + Apl_Usuarios.Campo_Usuario_Id + "='" + P_Caja.P_Usuario_ID + "'"); Conexion.HelperGenerico.Ejecutar_NonQuery(Mi_SQL.ToString()); Modificar = true; if (!Transaccion_Activa) { Conexion.HelperGenerico.Terminar_Transaccion(); } } catch (Exception e) { Conexion.HelperGenerico.Abortar_Transaccion(); throw new Exception("Cierre de Caja : " + e.Message); } finally { if (!Transaccion_Activa) { Conexion.HelperGenerico.Cerrar_Conexion(); } } return(Modificar); }
///******************************************************************************* ///NOMBRE DE LA FUNCIÓN : Alta_Caja ///DESCRIPCIÓN : Inicia la apertura de una operación de caja ///PARÁMETROS : P_Caja, conttiene los datos de la operación a abrir ///CREÓ : Héctor Gabriel Galicia Luna ///FECHA_CREO : 12 Octubre 2013 ///MODIFICÓ : ///FECHA_MODIFICO : ///CAUSA_MODIFICACIÓN : ///******************************************************************************* public static Boolean Alta_Caja(Cls_Ope_Cajas_Negocio P_Caja) { StringBuilder Mi_SQL = new StringBuilder(); Boolean Alta = false; String No_Caja; try { Conexion.Iniciar_Helper(); Conexion.HelperGenerico.Conexion_y_Apertura(); Conexion.HelperGenerico.Iniciar_Transaccion(); No_Caja = Cls_Metodos_Generales.Obtener_ID_Consecutivo(Ope_Cajas.Tabla_Ope_Cajas, Ope_Cajas.Campo_No_Caja, "", 10); Mi_SQL.Append("INSERT INTO " + Ope_Cajas.Tabla_Ope_Cajas + "("); Mi_SQL.Append(Ope_Cajas.Campo_No_Caja + ","); Mi_SQL.Append(Ope_Cajas.Campo_No_Turno + ","); Mi_SQL.Append(Ope_Cajas.Campo_Usuario_ID + ","); Mi_SQL.Append(Ope_Cajas.Campo_Caja_ID + ","); Mi_SQL.Append(Ope_Cajas.Campo_Monto_Inicial + ","); Mi_SQL.Append(Ope_Cajas.Campo_Fecha_Hora_Inicio + ","); Mi_SQL.Append(Ope_Cajas.Campo_Estatus); Mi_SQL.Append(") VALUES ("); Mi_SQL.Append("'" + No_Caja + "',"); Mi_SQL.Append("'" + P_Caja.P_No_Turno + "',"); Mi_SQL.Append("'" + P_Caja.P_Usuario_ID + "',"); Mi_SQL.Append("'" + P_Caja.P_Caja_ID + "',"); Mi_SQL.Append("" + P_Caja.P_Monto_Inicial + ","); Mi_SQL.Append("" + Cls_Ayudante_Sintaxis.Insertar_Fecha_Hora(P_Caja.P_Fecha_Hora_Inicio) + ","); Mi_SQL.Append("'" + P_Caja.P_Estatus + "')"); Conexion.HelperGenerico.Ejecutar_NonQuery(Mi_SQL.ToString()); Mi_SQL.Clear(); Mi_SQL.Append("update " + Apl_Usuarios.Tabla_Apl_Usuarios + " set "); Mi_SQL.Append(Apl_Usuarios.Campo_Caja_ID + "='" + P_Caja.P_Caja_ID + "'"); Mi_SQL.Append(" where " + Apl_Usuarios.Campo_Usuario_Id + "='" + P_Caja.P_Usuario_ID + "'"); Conexion.HelperGenerico.Ejecutar_NonQuery(Mi_SQL.ToString()); Conexion.HelperGenerico.Terminar_Transaccion(); Alta = true; } catch (Exception e) { throw new Exception("Alta de Operacion de Cajas : " + e.Message); } return(Alta); }
///******************************************************************************* ///NOMBRE DE LA FUNCIÓN : Consultar_Solicitudes_Pendientes ///DESCRIPCIÓN : Consulta las solicitudes pendientes por facturar ///PARÁMETROS : P_Caja, conttiene la información de las operaciones de caja a consultar ///CREÓ : Héctor Gabriel Galicia Luna ///FECHA_CREO : 14 Abril 2015 ///MODIFICÓ : ///FECHA_MODIFICO : ///CAUSA_MODIFICACIÓN : ///******************************************************************************* public static System.Data.DataTable Consultar_Solicitudes_Pendientes(Cls_Ope_Cajas_Negocio Datos) { StringBuilder Mi_SQL = new StringBuilder(); try { Conexion.Iniciar_Helper(); Conexion.HelperGenerico.Conexion_y_Apertura(); Mi_SQL.Append("Select distinct (" + Ope_Ventas_Detalles.Tabla_Ope_Ventas_Detalles + "." + Ope_Ventas_Detalles.Campo_No_Venta + ")"); Mi_SQL.Append(" From " + Ope_Ventas_Detalles.Tabla_Ope_Ventas_Detalles); if (!String.IsNullOrEmpty(Datos.P_Caja_ID)) { //ope_pagos on Ope_Ventas_Detalles.No_Venta = ope_pagos.No_Venta Mi_SQL.Append(" left outer join " + Ope_Pagos.Tabla_Ope_Pagos + " on " + Ope_Pagos.Tabla_Ope_Pagos + "." + Ope_Pagos.Campo_No_Venta + " = " + Ope_Ventas_Detalles.Tabla_Ope_Ventas_Detalles + "." + Ope_Ventas_Detalles.Campo_No_Venta); } Mi_SQL.Append(" where " + Ope_Ventas_Detalles.Tabla_Ope_Ventas_Detalles + "." + Ope_Ventas_Detalles.Campo_Estatus_Solicitud + "='S'"); if (!String.IsNullOrEmpty(Datos.P_Caja_ID)) { Mi_SQL.Append(" and " + Ope_Pagos.Campo_No_Caja + "='" + Datos.P_Caja_ID + "'"); } if (!String.IsNullOrEmpty(Datos.P_Fecha_Creo)) { Mi_SQL.Append(" and " + Ope_Ventas_Detalles.Tabla_Ope_Ventas_Detalles + "." + Ope_Ventas_Detalles.Campo_Fecha_Creo); Mi_SQL.Append(" between " + "'" + Datos.P_Fecha_Creo + " 00:00:00'" + " and " + "'" + Datos.P_Fecha_Creo + " 23:59:59'"); } Mi_SQL.Append(" order by " + Ope_Ventas_Detalles.Tabla_Ope_Ventas_Detalles + "." + Ope_Ventas_Detalles.Campo_No_Venta); return(Conexion.HelperGenerico.Obtener_Data_Table(Mi_SQL.ToString())); } catch (Exception e) { throw new Exception("Consulta de Cajas : " + e.Message); } finally { Conexion.HelperGenerico.Cerrar_Conexion(); } }
///******************************************************************************* ///NOMBRE DE LA FUNCIÓN : Cargar_Cajas ///DESCRIPCIÓN : Verifica si existen operaciones de caja abiertos ///PARÁMETROS : ///CREÓ : Héctor Gabriel Galicia Luna ///FECHA_CREO : 12 Octubre 2013 ///MODIFICÓ : ///FECHA_MODIFICO : ///CAUSA_MODIFICACIÓN : ///******************************************************************************* private void Cargar_Cajas() { Cls_Ope_Cajas_Negocio P_Caja = new Cls_Ope_Cajas_Negocio(); // Variable utilizada para consultar las operaciones de caja registradas en la base de datos DataTable Operacion_Cajas = null; // Variable utilizada para almacenar la información obtenida de las operaciones de caja Cls_Apl_Parametros_Negocio Consulta_Parametros = new Cls_Apl_Parametros_Negocio(); DataTable Dt_Consulta = new DataTable(); String Parametro_Id = ""; try { Parametro_Id = "00001"; Consulta_Parametros.P_Parametro_Id = Parametro_Id; Dt_Consulta = Consulta_Parametros.Consultar_Parametros(); // validacion para el administrador if (Dt_Consulta != null && Dt_Consulta.Rows.Count > 0) { if (MDI_Frm_Apl_Principal.Rol_ID != Dt_Consulta.Rows[0][Cat_Parametros.Campo_Rol_Id].ToString()) { P_Caja.P_Caja_ID = MDI_Frm_Apl_Principal.Caja_ID; } } P_Caja.P_Estatus = "ABIERTA"; Operacion_Cajas = P_Caja.Consultar_Cajas(); // Verifica si existen cajas abiertas y deshabilita el botón de Apertura if (Operacion_Cajas.Rows.Count > 0) { Grid_Cajas.DataSource = Operacion_Cajas; } } catch (Exception e) { MessageBox.Show(e.Message, "Cajas", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
///******************************************************************************* ///NOMBRE DE LA FUNCIÓN : Consultar_Cajas ///DESCRIPCIÓN : Consulta las operaciones de caja ///PARÁMETROS : P_Caja, conttiene la información de las operaciones de caja a consultar ///CREÓ : Héctor Gabriel Galicia Luna ///FECHA_CREO : 12 Octubre 2013 ///MODIFICÓ : ///FECHA_MODIFICO : ///CAUSA_MODIFICACIÓN : ///******************************************************************************* public static System.Data.DataTable Consultar_Cajas(Cls_Ope_Cajas_Negocio P_Caja) { StringBuilder Mi_SQL = new StringBuilder(); try { Conexion.Iniciar_Helper(); Conexion.HelperGenerico.Conexion_y_Apertura(); Mi_SQL.Append("SELECT * FROM Ope_Cajas WHERE 1 = 1"); if (!String.IsNullOrEmpty(P_Caja.P_No_Caja)) { Mi_SQL.Append(" AND " + Ope_Cajas.Campo_No_Caja + " = '" + P_Caja.P_No_Caja + "'"); } if (!String.IsNullOrEmpty(P_Caja.P_No_Turno)) { Mi_SQL.Append(" AND " + Ope_Cajas.Campo_No_Turno + " = '" + P_Caja.P_No_Turno + "'"); } if (!String.IsNullOrEmpty(P_Caja.P_Estatus)) { Mi_SQL.Append(" AND " + Ope_Cajas.Campo_Estatus + " = '" + P_Caja.P_Estatus + "'"); } if (!String.IsNullOrEmpty(P_Caja.P_Caja_ID)) { Mi_SQL.Append(" AND " + Ope_Cajas.Campo_Caja_ID + " = '" + P_Caja.P_Caja_ID + "'"); } return(Conexion.HelperGenerico.Obtener_Data_Table(Mi_SQL.ToString())); } catch (Exception e) { throw new Exception("Consulta de Cajas : " + e.Message); } finally { Conexion.HelperGenerico.Cerrar_Conexion(); } }
///******************************************************************************* ///NOMBRE DE LA FUNCIÓN : Modificar_Caja ///DESCRIPCIÓN : Registra el cierre de caja en la base de datos ///PARÁMETROS : ///CREÓ : Héctor Gabriel Galicia Luna ///FECHA_CREO : 12 Octubre 2013 ///MODIFICÓ : ///FECHA_MODIFICO : ///CAUSA_MODIFICACIÓN : ///******************************************************************************* private Boolean Modificar_Caja() { Cls_Ope_Cajas_Negocio P_Caja = new Cls_Ope_Cajas_Negocio(); // Variable utilizada para realizar el cierre de caja Boolean Modificar = false; // Variable que indica si el cierre de caja se efectúa con éxito try { P_Caja.P_Fecha_Hora_Cierre = DateTime.Now; P_Caja.P_Estatus = "CERRADA"; P_Caja.P_No_Caja = Txt_No_Caja.Text; P_Caja.P_Usuario_ID = MDI_Frm_Apl_Principal.Usuario_ID; P_Caja.Modificar_Caja(); //// se quita la caja al usuario logiado //MDI_Frm_Apl_Principal.Caja_ID = ""; Modificar = true; } catch (Exception e) { MessageBox.Show(e.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } return(Modificar); }