예제 #1
0
        public void ImprimirOrdenTrabajo(int p_OrdenTrabajo)
        {
            try
            {
                OrdenTrabajo = Entities.OrdenesTrabajos.Read(p_OrdenTrabajo);
                OrdenesServiciosRefacciones = new List <Entities.OrdenesServiciosRefacciones>();

                foreach (Entities.OrdenesServicios os in OrdenTrabajo.OrdenesServicios)
                {
                    OrdenesServiciosRefacciones.AddRange(os.OrdenesServiciosRefacciones);
                }

                System.Drawing.Printing.PrintDocument PrintDoc2 = new System.Drawing.Printing.PrintDocument();
                System.Drawing.Printing.PrintDocument PrintDoc  = new System.Drawing.Printing.PrintDocument();

                PrintDoc2.DocumentName = "OrdenDeTrabajo" + p_OrdenTrabajo.ToString();
                PrintDoc.DocumentName  = "OrdenDeTrabajo" + p_OrdenTrabajo.ToString();

                PrintDoc2.PrintPage += PrintDoc_PrintPageSinEncuesta;
                PrintDoc.PrintPage  += PrintDoc_PrintPage;

                PrintDoc2.Print();
                PrintDoc.Print();

                //PrintPreviewDialog preview = new PrintPreviewDialog();
                //preview.Document = PrintDoc2;
                //preview.Height = Screen.PrimaryScreen.Bounds.Height;
                //preview.Width = Screen.PrimaryScreen.Bounds.Width;
                //preview.ShowDialog();
            }
            catch (Exception ex)
            {
                AppHelper.Error(ex.Message);
            }
        }
예제 #2
0
 /// <summary>
 /// Consulta una orden de trabajo por su código de barras
 /// </summary>
 public void ConsultarCodigoBarras()
 {
     this.OrdenTrabajo = Entities.OrdenesTrabajos.Read(DB.Param("CodigoBarras", this.CodigoBarras));
     ValidarOrdenTrabajo();
     EstablecerValores();
     CalcularSaldos();
 }
예제 #3
0
 public void Clear()
 {
     OrdenTrabajo = new Entities.OrdenesTrabajos();
     LoadUserControls();
     AppHelper.ClearControl(this);
     BindData();
 }
예제 #4
0
 /// <summary>
 /// Consulta una orden de trabajo por número de identificación
 /// o folio
 /// </summary>
 public void ConsultarOrdenTrabajo_ID()
 {
     this.OrdenTrabajo = Entities.OrdenesTrabajos.Read(this.OrdenTrabajo_ID);
     ValidarOrdenTrabajo();
     EstablecerValores();
     CalcularSaldos();
 }
            /// <summary>
            /// Consultar y verificar la orden de trabajo para terminación
            /// </summary>
            public void ConsultarOrdenTrabajo()
            {
                //  Consultar la orden de trabajo
                this.OrdenTrabajo = Entities.OrdenesTrabajos.Read(this.OrdenTrabajo_ID);

                //  Que no este ya terminada
                if (this.OrdenTrabajo.EstatusOrdenTrabajo_ID == 3)
                {
                    AppHelper.ThrowException("La orden de trabajo {0} ya esta terminada", this.OrdenTrabajo_ID);
                }

                //  Que no este pagada
                if (this.OrdenTrabajo.EstatusOrdenTrabajo_ID == 4)
                {
                    AppHelper.ThrowException("La orden de trabajo {0} ya esta terminada", this.OrdenTrabajo_ID);
                }

                //  Que no este cancelada
                if (this.OrdenTrabajo.EstatusOrdenTrabajo_ID == 5)
                {
                    AppHelper.ThrowException("La orden de trabajo {0} ya esta terminada", this.OrdenTrabajo_ID);
                }

                //  Que no tenga refacciones por surtir
                string sql = @"SELECT	ISNULL(SUM(OSR.Cantidad - OSR.RefSurtidas),0) cont
                FROM	OrdenesTrabajos OT
                INNER JOIN	OrdenesServicios OS
                ON		OT.OrdenTrabajo_ID = OS.OrdenTrabajo_ID
                INNER JOIN	OrdenesServiciosRefacciones OSR
                ON		OS.OrdenServicio_ID = OSR.OrdenServicio_ID
                WHERE	OT.OrdenTrabajo_ID = @OrdenTrabajo_ID";

                int cont = Convert.ToInt32(
                    DB.QueryScalar(
                        sql,
                        DB.GetParams(
                            DB.Param("@OrdenTrabajo_ID", this.OrdenTrabajo_ID)
                            )
                        )
                    );

                if (cont > 0)
                {
                    AppHelper.ThrowException("La orden de trabajo {0} tiene refacciones por surtir", this.OrdenTrabajo_ID);
                }

                //  Que pertenezca a la empresa y la estación
                if (this.OrdenTrabajo.Empresa_ID != Sesion.Empresa_ID.Value ||
                    this.OrdenTrabajo.Estacion_ID != Sesion.Estacion_ID.Value)
                {
                    AppHelper.ThrowException("La orden de trabajo {0} no pertenece a la empresa y estacion del usuario", this.OrdenTrabajo_ID);
                }

                //  Consultar los datos de la orden de trabajo
                this.DatosOrden = Entities.Vista_OrdenesTrabajos.Get(this.OrdenTrabajo_ID, this.OrdenTrabajo.Empresa_ID, this.OrdenTrabajo.Estacion_ID)[0];
            }
            } // end void

            /// <summary>
            /// Efectua la cancelación de la orden de trabajo
            /// </summary>
            public void CancelarOrdenTrabajo()
            {
                Entities.CancelacionesOrdenesTrabajos cancelacion = new Entities.CancelacionesOrdenesTrabajos();
                cancelacion.Comentarios     = this.Comentarios;
                cancelacion.Fecha           = DB.GetDate();
                cancelacion.OrdenTrabajo_ID = this.OrdenTrabajo_ID;
                cancelacion.Usuario_ID      = Sesion.Usuario_ID;
                cancelacion.Create();

                //  Consultamos la orden de trabajo
                Entities.OrdenesTrabajos ot = Entities.OrdenesTrabajos.Read(this.OrdenTrabajo_ID);

                //  Realizamos el ajuste, en caso de haber
                this.InsertCuentaUnidad(ot);

                //  Cambiamos el estatus de la orden
                ot.EstatusOrdenTrabajo_ID = 5;
                ot.Update();
            }
예제 #7
0
        private void BuscarOrdenTrabajo()
        {
            int ordentrabajo_id = Convert.ToInt32(this.OrdenTrabajoTextBox.Text);

            OrdenTrabajo = Entities.OrdenesTrabajos.Read(ordentrabajo_id);

            if (OrdenTrabajo.EstatusOrdenTrabajo_ID == 5)
            {
                throw new Exception("La orden de trabajo está cancelada");
            }

            Vista_OSR = Entities.Vista_OrdenesServiciosRefaccionesAlmacen.Get(Sesion.Empresa_ID.Value, Sesion.Estacion_ID.Value, ordentrabajo_id);

            if (Vista_OSR.Count == 0)
            {
                AppHelper.ThrowException("No existen refacciones para la orden de trabajo");
            }

            this.vista_OrdenesServiciosRefaccionesAlmacenBindingSource.DataSource = Vista_OSR;
        }
        private void DisplayReport()
        {
            AppHelper.Try(delegate
            {
                Entities.OrdenesTrabajos OrdenTrabajo = Entities.OrdenesTrabajos.Read(this.OrdenTrabajo_ID);

                List <Entities.OrdenesServiciosRefacciones> OrdenesServiciosRefacciones = new List <Entities.OrdenesServiciosRefacciones>();
                foreach (Entities.OrdenesServicios os in OrdenTrabajo.OrdenesServicios)
                {
                    OrdenesServiciosRefacciones.AddRange(os.OrdenesServiciosRefacciones);
                }

                OrdenesTrabajosBindingSource.DataSource             = OrdenTrabajo;
                OrdenesServiciosBindingSource.DataSource            = OrdenTrabajo.OrdenesServicios;
                OrdenesServiciosRefaccionesBindingSource.DataSource = OrdenesServiciosRefacciones;

                OrdenTrabajoReportViewer.RefreshReport();
                this.Show();
            });
        }
예제 #9
0
        public void ImprimirOrdenTrabajoActual()
        {
            try
            {
                Padre.OrdenTrabajo.Empresa_ID             = Sesion.Empresa_ID.Value;
                Padre.OrdenTrabajo.Estacion_ID            = Sesion.Estacion_ID.Value;
                Padre.OrdenTrabajo.FechaAlta              = DB.GetDate();
                Padre.OrdenTrabajo.Usuario_ID             = Sesion.Usuario_ID;
                Padre.OrdenTrabajo.EstatusOrdenTrabajo_ID = 1;
                Padre.OrdenTrabajo.CB_Activo              = true;
                Padre.OrdenTrabajo.CodigoBarras           = "SINCODIGO";

                OrdenTrabajo = Padre.OrdenTrabajo;
                OrdenesServiciosRefacciones = new List <Entities.OrdenesServiciosRefacciones>();

                foreach (Entities.OrdenesServicios os in OrdenTrabajo.OrdenesServicios)
                {
                    OrdenesServiciosRefacciones.AddRange(os.OrdenesServiciosRefacciones);
                }

                System.Drawing.Printing.PrintDocument PrintDoc2 = new System.Drawing.Printing.PrintDocument();
                System.Drawing.Printing.PrintDocument PrintDoc  = new System.Drawing.Printing.PrintDocument();

                PrintDoc2.DocumentName = "OrdenDeTrabajo" + OrdenTrabajo.OrdenTrabajo_ID.ToString();
                PrintDoc.DocumentName  = "OrdenDeTrabajo" + OrdenTrabajo.OrdenTrabajo_ID.ToString();

                PrintDoc2.PrintPage += PrintDoc_PrintPageSinEncuesta;
                PrintDoc.PrintPage  += PrintDoc_PrintPage;

                PrintDoc2.Print();
                PrintDoc.Print();
            }
            catch (Exception ex)
            {
                AppHelper.Error(ex.Message);
            }
        }
            } // end void

            /// <summary>
            /// Registra el movimiento como gasto en la cuenta de la unidad
            /// </summary>
            private void InsertCuentaUnidad(Entities.OrdenesTrabajos ordentrabajo)
            {
                if (ordentrabajo.EstatusOrdenTrabajo_ID == 3 || ordentrabajo.EstatusOrdenTrabajo_ID == 4)
                {
                    Entities.Unidades unidad = Entities.Unidades.Read(ordentrabajo.Unidad_ID);

                    Entities.CuentaUnidades cu = new Entities.CuentaUnidades();
                    cu.Abono           = this.OrdenTrabajo.Total;
                    cu.Caja_ID         = null;
                    cu.Comentarios     = "AJUSTE POR CANCELACION DE ORDEN DE TRABAJO";
                    cu.Concepto_ID     = 3; // CARGO DE TALLER
                    cu.Conductor_ID    = unidad.ConductorOperativo_ID;
                    cu.Cuenta_ID       = 4; // TALLER
                    cu.Empresa_ID      = unidad.Empresa_ID;
                    cu.Estacion_ID     = Sesion.Estacion_ID.Value;
                    cu.Fecha           = DB.GetDate();
                    cu.Saldo           = 0; // Se calcula al insertar;
                    cu.Ticket_ID       = null;
                    cu.Unidad_ID       = ordentrabajo.Unidad_ID;
                    cu.Usuario_ID      = Sesion.Usuario_ID;
                    cu.OrdenTrabajo_ID = ordentrabajo.OrdenTrabajo_ID;
                    cu.Create();
                }
            } // end void
예제 #11
0
 public NuevaOrdenTrabajo()
 {
     InitializeComponent();
     OrdenTrabajo = new Entities.OrdenesTrabajos();
     LoadUserControls();
 }