Пример #1
0
        /// <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);
        }
Пример #2
0
		/// <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
Пример #5
0
		/// <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();
 }
Пример #7
0
		} // 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
Пример #9
0
        /// <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
Пример #10
0
		/// <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();
		}
Пример #11
0
            }     // 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;
            }
Пример #12
0
 /// <summary>
 /// Limpia la forma
 /// </summary>
 private void DoClear()
 {
     datosUnidad = null;
     AppHelper.ClearControl(this);
 }