/// <summary> /// Obtiene los datos del conductor y la unidad /// a partir del número económico /// </summary> private void GetDatosConductorUnidad() { // Realiza las validaciones // Que se haya capturado información if (string.IsNullOrEmpty(this.NumeroEconomicoTextBox.Text)) { throw new Exception("Debe capturar una unidad"); } // Que el número economico sea numérico if (!AppHelper.IsNumeric(this.NumeroEconomicoTextBox.Text)) { throw new Exception("El número económico debe ser numérico"); } // Que el usuario tenga asignada una sola estación if (Sesion.Estacion_ID == null) { throw new Exception("Se debe tener asignada una estación para utilizar esta opción"); } // Obtenemos los datos de la unidad datosUnidad = Entities.DatosConductorUnidad.GetUnidad_ID(Convert.ToInt32(NumeroEconomicoTextBox.Text), Sesion.Estacion_ID.Value); }
/// <summary> /// Obtenemos los datos de la unidad a partir de su número económico /// </summary> /// <param name="unidad"></param> private void ObtenerDatosDeUnidad(int unidad) { this.DatosConductor = Entities.DatosConductorUnidad.Get(unidad, null, Sesion.Estacion_ID.Value, false); //this.DatosConductor = Entities.DatosConductorUnidad.Get(unidad); this.datosConductorBindingSource.DataSource = this.DatosConductor; // Verificamos si el conductor está bloqueado EsBloqueado = false; EsBloqueado = (bool)DB.QueryScalar( string.Format("SELECT BloquearConductor FROM Conductores WHERE Conductor_ID = {0}", this.DatosConductor.Conductor_ID)); // Si esta bloqueado, enviamos un error if (EsBloqueado) { AppHelper.ThrowException("Conductor está bloqueado"); } else { // Si hay mensaje a caja if (!string.IsNullOrEmpty(this.DatosConductor.MensajeACaja)) { AppHelper.Info(this.DatosConductor.MensajeACaja); } // Obtenemos los adeudos ObtenerAdeudosDeConductor(); // Reinicializamos las variables de operación Operacion = new Entities.OperacionCaja(); OperacionCajaBindingSource.DataSource = Operacion; } }
private void btnActKm_Click(object sender, EventArgs e) { Entities.DatosConductorUnidad conductor = new Entities.DatosConductorUnidad(); conductor = Entities.DatosConductorUnidad.GetFromConductorNomina((int)cmbConductor.SelectedValue); forms.aeropuerto.herramientas.ActualizaKilometrajeNomina frm = new aeropuerto.herramientas.ActualizaKilometrajeNomina(conductor); frm.ShowDialog(); }
/// <summary> /// Evento clic para los botones del BindPanel /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void click_event(object sender, EventArgs e) { AppHelper.Try( delegate { // Obtenemos al conductor Button btn = (Button)sender; int conductor_id = Convert.ToInt32(btn.Tag); /* * Inicia actualización de código * 7 de Mayo de 2013, Modificado por Luis Espino * * Se actualizó la consulta de "DatosConductor", * utilizando la función misma función "GetByConductorID", * sobrecargada para que utilice también el parámetro * "NumeroEconomico" */ // Obtenmos sus datos this.DatosConductor = Entities.DatosConductorUnidad.GetByConductor_ID( conductor_id, this.Model.NumeroEconomico ); // Cerramos la forma y devolvemos "OK" this.DialogResult = System.Windows.Forms.DialogResult.OK; this.Close(); } // end delegate ); // end method } // end void click_event
/// <summary> /// Consulta los datos de un conductor, a partir de su número ID /// </summary> /// <param name="conductor"></param> private void ObtenerDatosDeConductor(int conductor) { // Obtener los datos del conductor this.DatosConductor = Entities.DatosConductorUnidad.GetFromConductor(conductor); this.datosConductorBindingSource.DataSource = this.DatosConductor; // Verificar si el conductor esta bloqueado EsBloqueado = (bool)DB.QueryScalar( string.Format("SELECT BloquearConductor FROM Conductores WHERE Conductor_ID = {0}", this.DatosConductor.Conductor_ID)); if (EsBloqueado) { // El conductor está bloqueado // Enviar mensaje AppHelper.ThrowException("Conductor está bloqueado"); } else { // El conductor no está bloquedado // Si hay mensaje a caja, lo mostramos if (!string.IsNullOrEmpty(this.DatosConductor.MensajeACaja)) { AppHelper.Info(this.DatosConductor.MensajeACaja); } // Obtenemos los adeudos de conductor ObtenerAdeudosDeConductor(); // Reinicializamos las variables de operación de caja Operacion = new Entities.OperacionCaja(); OperacionCajaBindingSource.DataSource = Operacion; } }
public ActualizaKilometrajeNomina(Entities.DatosConductorUnidad conductor) { InitializeComponent(); this.conductor = conductor; UnidadTextBox.Text = conductor.NumeroEconomico.ToString(); ConductorTextBox.Text = conductor.Conductor; KilometrajeAnteriorTextBox.Text = conductor.Kilometraje.ToString(); }
} // end void ActualizarKilometraje /// <summary> /// Limpia las variables /// </summary> private void Clear() { this.Operacion = new Entities.OperacionCaja(); this.valesPrepagadosBindingSource.DataSource = null; this.planillasFiscalesBindingSource.DataSource = null; this.Vales.Clear(); this.Planillas.Clear(); this.Adeudos.Clear(); this.DatosConductor = new Entities.DatosConductorUnidad(); this.datosConductorBindingSource.ResetBindings(false); this.OperacionCajaBindingSource.ResetBindings(false); AppHelper.ClearControlExcept(this, this.SeriePlanillaTextBox.Name); }
} // ConsultarServicio /// <summary> /// Consulta los datos de la unidad /// </summary> /// <param name="numeroeconomico"></param> public void ConsultarUnidad(int numeroeconomico) { // Obtiene los datos de la unidad Entities.DatosConductorUnidad datosunidad = Entities.DatosConductorUnidad.Get(numeroeconomico); // Si no obtiene dados, lanzamos error if (datosunidad == null) { AppHelper.ThrowException("La unidad no tiene conductor asignado"); } // Configuramos las variables this.NuevaUnidad_ID = datosunidad.Unidad_ID.Value; this.NuevoConductor_ID = datosunidad.Conductor_ID; this.NuevoConductor = datosunidad.Conductor; } // ConsultarUnidad
/// <summary> /// Obtiene los datos del conductor y la unidad /// a partir del número económico /// </summary> private void GetDatosConductorUnidad() { // Realizamos las validaciones // Que haya numero economico if (string.IsNullOrEmpty(this.NumeroEconomicoTextBox.Text)) { throw new Exception("Debe capturar una unidad"); } // Que sea numerico if (!AppHelper.IsNumeric(this.NumeroEconomicoTextBox.Text)) { throw new Exception("El número económico debe ser numérico"); } // Que el usuario tenga una estación única asignada if (Sesion.Estacion_ID == null) { throw new Exception("Se debe tener asignada una estación para utilizar esta opción"); } // Debe de buscarse al conductor operativo // No se hace debido a que en mercados no se busca al conductor operativo datosUnidad = Entities.DatosConductorUnidad.GetConductorOperativo(Convert.ToInt32(NumeroEconomicoTextBox.Text), Sesion.Empresa_ID, Sesion.Estacion_ID.Value); // Configuramos los datos this.Conductor_ID = datosUnidad.Conductor_ID; this.Unidad_ID = datosUnidad.Unidad_ID; this.KilometrajeAnterior = datosUnidad.Kilometraje; this.ConductorTextBox.Text = datosUnidad.Conductor; this.KilometrajeAnteriorTextBox.Text = this.KilometrajeAnterior.ToString(); // Consultamos los servicios pendientes ConsultarServiciosPendientes(); // Preparamos la captura del nuevo servicio this.Servicio_IDTextBox.Text = ""; this.Servicio_IDTextBox.Focus(); } // end void
/// <summary> /// Configura a un conductor y sus servicios /// para el pago en caja /// </summary> /// <param name="datosconductor">Los datos del conductor</param> /// <param name="servicios">El listado de sus servicios</param> /// <param name="totalservicios">El total de sus servicios</param> /// <param name="fechapago">La fecha de pago</param> public void Set_ConductorPago( Entities.DatosConductorUnidad datosconductor, BindingList<Entities.ServiciosPendientesConductor> servicios, decimal totalservicios, DateTime fechapago) { // Es pago de conductor this.EsServiciosConductor = true; // Asignamos los parámetros a las variables locales this.DatosConductor = datosconductor; this.ServiciosPendientes = servicios; this.TotalServicios = totalservicios; // Obtenemos los adeudos this.Adeudos = Entities.AdeudosDeConductor.Get(DatosConductor.Conductor_ID,Sesion.Usuario_ID); // Calculamos la productividad int productividad = 0; foreach (Entities.ServiciosPendientesConductor s in servicios) { if (s.TipoServicioConductor_ID == null) { productividad++; } } // Obtenemos las carreras ya pagadas de ese dia string sql = @"SELECT COUNT(*) FROM Servicios WHERE Conductor_ID = @Conductor_ID AND EstatusServicio_ID = 3 AND TipoServicioConductor_ID IS NULL AND dbo.udf_DateValue(FechaPago) = dbo.udf_DateValue(@FechaPago) AND dbo.udf_ObtenerFechaPagoBoleto(Caja_ID, Fecha, FechaServicio) = dbo.udf_DateValue(@FechaPago)"; // Obtenemos las carreras pagadas int carreraspagadas = Convert.ToInt32( DB.QueryScalar( sql, DB.Param("@Conductor_ID", datosconductor.Conductor_ID), DB.Param("@FechaPago", fechapago) ) ); // Incrementamos las productividad con las carreras que ya han sido pagadas productividad += carreraspagadas; // Obtenemos los registros de superproductividad, // a partir de la productividad calculada Entities.SuperProductividad superProductividad = Entities.SuperProductividad.Read(productividad); // Si hay superproductividad if (superProductividad != null) { // Si la superproductividad es > 0 if (superProductividad.Tarifa > 0) { // Obtenemos lo que ya pago: sql = @"SELECT ISNULL(SUM(Abono),0) FROM CuentaConductores WHERE Conductor_ID = @Conductor_ID AND Cuenta_ID = 18 AND dbo.udf_DateValue(Fecha) = dbo.udf_DateValue(@FechaPago)"; decimal superproductividadpagada = Convert.ToDecimal( DB.QueryScalar( sql, DB.Param("@Conductor_ID", datosconductor.Conductor_ID), DB.Param("@FechaPago", fechapago) ) ); // Lo que se cobrará será tarifa menos lo ya pagado decimal cobrosuperproductividad = superProductividad.Tarifa - superproductividadpagada; // Si sale negativo, es 0 if (cobrosuperproductividad < 0) cobrosuperproductividad = 0; // Variable temporal de adeudo de superproductividad Entities.AdeudosDeConductor adeudosp = null; // Buscamos la superproductividad en los adeudos foreach (Entities.AdeudosDeConductor adeudo in this.Adeudos) { if (adeudo.Cuenta_ID == 18) // Es la superproductividad { // La asignamos adeudosp = adeudo; } } // Si la encontramos, la removemos if (adeudosp != null) this.Adeudos.Remove(adeudosp); // Ingresamos a los adeudos la superproductividad calculada this.Adeudos.Insert( 0, new Entities.AdeudosDeConductor( 3, // Es CAT, debe ser CAT "CAT", 18, // La cuenta 134, // El concepto "SUPERPRODUCTIVIDAD", Math.Abs(cobrosuperproductividad) * -1, 0 ) ); } } // Volvemos a ligar los datos adeudosDeConductorBindingSource.DataSource = this.Adeudos; this.datosConductorBindingSource.DataSource = this.DatosConductor; this.UnidadTextBox.Text = this.DatosConductor.NumeroEconomico.ToString(); this.UnidadTextBox.Enabled = false; // Y a calcular los totales CalcularTotales(); }
} // end int /// <summary> /// Consulta la unidad, a partir del número economico /// </summary> public void ConsultarUnidad() { this.DatosUnidad = Entities.DatosConductorUnidad.Get(this.NumeroEconomico.Value); this.Unidad_ID = this.DatosUnidad.Unidad_ID; }
/// <summary> /// Limpia la forma /// </summary> private void DoClear() { datosUnidad = null; AppHelper.ClearControl(this); }