Пример #1
0
        void grabar()
        {
            try
            {
                txtObservacion.Focus();
                decimal idEnsamb          = 0;
                decimal idMovIng          = 0;
                decimal idMovEg           = 0;
                string  msg               = "";
                string  mensaje_cbte_cble = "";
                mv_cab.IdMovi_inven_tipo          = Convert.ToInt32(paramCidersus.IdMovi_inven_tipo_egr_Ensamblado);
                mv_cab.cm_tipo                    = "-";
                mv_cab.cm_observacion             = " Egr Suc " + UCSuc_Bod.cmb_sucursal.Text + " Bod " + UCSuc_Bod.cmb_bodega.Text + Ensamblado.Observacion;
                mv_cab.listmovi_inve_detalle_Info = Lst_mv_detalle_eg;
                if (Bus_mv.GrabarDB(mv_cab, ref idMovEg, ref mensaje_cbte_cble, ref msg))
                {
                    Lst_mv_detalle_eg.ForEach(var => var.IdNumMovi = idMovEg);
                    int et_anterior = etapaanterior(GT.IdEtapa, GT.IdProcesoProductivo);
                    if (et_anterior == 0)
                    {
                        Lst_mv_detalleXprod_eg.ForEach(var => var.IdNumMovi = idMovEg);
                    }
                    else
                    {
                        Lst_mv_detalleXprod_eg.ForEach(var =>
                        {
                            var.et_IdEmpresa           = param.IdEmpresa;
                            var.IdNumMovi              = idMovEg;
                            var.et_IdProcesoProductivo = GT.IdProcesoProductivo;
                            var.et_IdEtapa             = et_anterior;
                        });
                    }
                }

                {
                    mv_cab.IdMovi_inven_tipo = Convert.ToInt32(paramCidersus.IdMovi_inven_tipo_ing_Ensamblado);
                    mv_cab.cm_tipo           = "+";
                    mv_cab.cm_observacion    = " Ing Suc " + UCSuc_Bod.cmb_sucursal.Text +
                                               " Bod " + UCSuc_Bod.cmb_bodega.Text + Ensamblado.Observacion;
                }
                mv_cab.IdNumMovi = 0;



                if (Bus_mv.GrabarDB(mv_cab, ref idMovIng, ref mensaje_cbte_cble, ref msg))
                {
                    Lst_mv_detalle_ing.ForEach(var => var.IdNumMovi      = idMovIng);
                    Lst_mv_detalleXprod_ing.ForEach(var => var.IdNumMovi = idMovIng);

                    if (Bus_mv_det.GrabarDB(Lst_mv_detalle_ing, ref msg))
                    {
                        Lst_mv_detalleXprod_ing.ForEach(var =>
                        {
                            var.et_IdEmpresa           = GT.IdEmpresa;
                            var.et_IdProcesoProductivo = GT.IdProcesoProductivo;
                            var.et_IdEtapa             = GT.IdEtapa;
                        });

                        if (Bus_mv_detXpro.GuardarDB(Lst_mv_detalleXprod_ing, ref msg))
                        {
                            if (Bus_prodxbod.ActualizarStock_x_Bodega_con_moviInven(Lst_mv_detalle_ing, ref msg))
                            {
                                MessageBox.Show("Movimiento Inventario No. " + idMovIng
                                                + " Ingreso de Bodega de Produccion por Etapa de Ensamblado. \n Grabado Satisfactoriamente",
                                                "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            }
                        }
                    }
                }



                var detalleingreso = Bus_mv_detXpro.ConsultaxMovInvTipo(param.IdEmpresa,
                                                                        mv_cab.IdSucursal, mv_cab.IdBodega, idMovIng, mv_cab.IdMovi_inven_tipo);
                foreach (var item in detalleingreso)
                {
                    txtCodBarra.Text = item.CodigoBarra;
                }
                Ensamblado.CodigoBarra = txtCodBarra.Text;
                Ensamblado.Observacion = Ensamblado.Observacion + "Mov Eg" + idMovEg + "Mov Ing" + idMovIng;

                if (BusEnsamblado.GuardarDB(Ensamblado, DetalleEnsam, ref idEnsamb, ref msg))
                {
                    infoTI.en_IdEmpresa      = infoTI.IdEmpresa = Ensamblado.IdEmpresa;
                    infoTI.en_IdSucursal     = infoTI.IdSucursal = Ensamblado.IdSucursal;
                    infoTI.en_IdEnsamblado   = idEnsamb;
                    infoTI.IdBodega          = mv_cab.IdBodega;
                    infoTI.IdMovi_inven_tipo = Convert.ToInt32(paramCidersus.IdMovi_inven_tipo_egr_Ensamblado);
                    infoTI.IdNumMovi         = idMovEg;


                    if (busTI.GuardarDB(infoTI, ref msg))
                    {
                        infoTI.IdMovi_inven_tipo = Convert.ToInt32(paramCidersus.IdMovi_inven_tipo_ing_Ensamblado);
                        infoTI.IdNumMovi         = idMovIng;

                        if (busTI.GuardarDB(infoTI, ref msg))
                        {
                            MessageBox.Show("Ensamblado No. " + idEnsamb + "\n Grabado Satisfactoriamente", "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            txtEnsamblado.Text = Convert.ToString(idEnsamb);
                            set_Accion(Cl_Enumeradores.eTipo_action.consultar);
                            Ensamblado.IdEnsamblado = idEnsamb;
                            setCab(Ensamblado);
                        }
                    }
                }

                else
                {
                }
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                MessageBox.Show(ex.ToString());
            }
        }
Пример #2
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            try
            {
                txtIdGestion.Focus();
                Get();

                string mensaje_cbte_cble = "";


                if (validar())
                {
                    decimal Id = 0;
                    prod_GestionProductivaTechos_CusTalme_X_in_movi_inve_Bus BusprodXMovi = new prod_GestionProductivaTechos_CusTalme_X_in_movi_inve_Bus();
                    if (Bus.GuardarDB(Info, ref Id))
                    {
                        var Parametros_Techo = ((List <prod_ModeloProduccion_CusTalme_Info>)CmbTipoModelo.Properties.DataSource).First(var => var.IdModeloProd == Convert.ToInt32(CmbTipoModelo.EditValue));
                        #region MovimientoInventarioMateriaPrima


                        var ProdMateriaPrima       = _ProdXBode_B.Get_Info_Producto_x_Producto(param.IdEmpresa, Convert.ToInt32(Parametros_Techo.IdSucursal_EgrxMateriaPrima), Convert.ToInt32(Parametros_Techo.IdBodega_EgrxMateriaPrima), Convert.ToDecimal(cmbMateriaPrima.EditValue));
                        in_movi_inve_Info InfoMovi = new in_movi_inve_Info();
                        InfoMovi.IdEmpresa         = param.IdEmpresa;
                        InfoMovi.cm_observacion    = "Egr. Materia P. X Gestion Productiva " + CmbTipoModelo.Text + "# " + Id;
                        InfoMovi.cm_tipo           = "-";
                        InfoMovi.cm_fecha          = DateTime.Now;
                        InfoMovi.Fecha_Transac     = param.Fecha_Transac;
                        InfoMovi.IdUsuario         = param.IdUsuario;
                        InfoMovi.IdUsuarioUltModi  = param.IdUsuario;
                        InfoMovi.Fecha_UltMod      = param.Fecha_Transac;
                        InfoMovi.IdBodega          = Convert.ToInt32(Parametros_Techo.IdBodega_EgrxMateriaPrima);
                        InfoMovi.IdSucursal        = Convert.ToInt32(Parametros_Techo.IdSucursal_EgrxMateriaPrima);
                        InfoMovi.IdMovi_inven_tipo = Convert.ToInt32(Parametros_Techo.IdMovi_inven_tipo_x_EgrxProduc_MatPri);
                        InfoMovi.nom_pc            = param.nom_pc;
                        Info.ip = param.ip;
                        string  men    = "";
                        decimal Idmovi = 0;
                        if (_movi_B.GrabarDB(InfoMovi, ref Idmovi, ref mensaje_cbte_cble, ref men) == false)
                        {
                            MessageBox.Show(men);
                        }
                        prod_GestionProductivaTechos_CusTalme_X_in_movi_inve_Info InfoMovxPro = new prod_GestionProductivaTechos_CusTalme_X_in_movi_inve_Info();
                        InfoMovxPro.IdEmpresa           = InfoMovxPro.prod_IdEmpresa = param.IdEmpresa;
                        InfoMovxPro.IdBodega            = InfoMovi.IdBodega;
                        InfoMovxPro.IdGestionProductiva = Id;
                        InfoMovxPro.IdMovi_inven_tipo   = InfoMovi.IdMovi_inven_tipo;
                        InfoMovxPro.IdNumMovi           = Idmovi;
                        InfoMovxPro.IdSucursal          = InfoMovi.IdSucursal;
                        if (BusprodXMovi.Guardar(InfoMovxPro, ref men) == false)
                        {
                            MessageBox.Show(men);
                        }


                        #region DetalleMovimiento
                        List <in_movi_inve_detalle_Info> ListDetalle = new List <in_movi_inve_detalle_Info>();
                        in_movi_inve_detalle_Info        _DetMovi_I  = new in_movi_inve_detalle_Info();
                        _DetMovi_I.IdBodega          = Convert.ToInt32(Parametros_Techo.IdBodega_EgrxMateriaPrima);
                        _DetMovi_I.IdEmpresa         = param.IdEmpresa;
                        _DetMovi_I.IdMovi_inven_tipo = Convert.ToInt32(Parametros_Techo.IdMovi_inven_tipo_x_EgrxProduc_MatPri);
                        _DetMovi_I.IdNumMovi         = Idmovi;
                        _DetMovi_I.IdProducto        = Info.IdProducto_MateriaPrima;
                        _DetMovi_I.IdSucursal        = Convert.ToInt32(Parametros_Techo.IdSucursal_EgrxMateriaPrima);
                        _DetMovi_I.dm_cantidad       = Convert.ToDouble(txtConsumo.EditValue);
                        _DetMovi_I.dm_observacion    = InfoMovi.cm_observacion;
                        _DetMovi_I.dm_precio         = ProdMateriaPrima.pr_precio_publico;
                        _DetMovi_I.mv_costo          = ProdMateriaPrima.pr_costo_promedio;
                        _DetMovi_I.mv_tipo_movi      = "-";
                        _DetMovi_I.dm_stock_ante     = ProdMateriaPrima.pr_stock;
                        _DetMovi_I.dm_stock_actu     = ProdMateriaPrima.pr_stock - _DetMovi_I.dm_cantidad;
                        ListDetalle.Add(_DetMovi_I);

                        #endregion
                        if (_movidet_b.GrabarDB(ListDetalle, ref men) == false)
                        {
                            MessageBox.Show(men);
                        }
                        ListDetalle.ForEach(var => var.dm_cantidad = var.dm_cantidad * -1);
                        _ProdXBode_B.ActualizarStock_x_Bodega_con_moviInven(ListDetalle, ref men);
                        #endregion
                        #region MovimientoInvenarioProducto
                        InfoMovi                   = new in_movi_inve_Info();
                        ListDetalle                = new List <in_movi_inve_detalle_Info>();
                        InfoMovi.IdEmpresa         = param.IdEmpresa;
                        InfoMovi.cm_observacion    = "Ing. Produ Ter. X Gestion Productiva " + CmbTipoModelo.Text + "# " + Id;
                        InfoMovi.cm_tipo           = "+";
                        InfoMovi.cm_fecha          = DateTime.Now;
                        InfoMovi.Fecha_Transac     = param.Fecha_Transac;
                        InfoMovi.IdUsuario         = param.IdUsuario;
                        InfoMovi.IdUsuarioUltModi  = param.IdUsuario;
                        InfoMovi.Fecha_UltMod      = param.Fecha_Transac;
                        InfoMovi.IdBodega          = Convert.ToInt32(Parametros_Techo.IdBodega_IngxProduc);
                        InfoMovi.IdSucursal        = Convert.ToInt32(Parametros_Techo.IdSucursal_IngxProduc);
                        InfoMovi.IdMovi_inven_tipo = Convert.ToInt32(Parametros_Techo.IdMovi_inven_tipo_x_IngxProduc_ProdTermi);
                        InfoMovi.nom_pc            = param.nom_pc;
                        Info.ip = param.ip;
                        if (_movi_B.GrabarDB(InfoMovi, ref Idmovi, ref mensaje_cbte_cble, ref men) == false)
                        {
                            MessageBox.Show(men);
                        }
                        InfoMovxPro                     = new prod_GestionProductivaTechos_CusTalme_X_in_movi_inve_Info();
                        InfoMovxPro.IdEmpresa           = InfoMovxPro.prod_IdEmpresa = param.IdEmpresa;
                        InfoMovxPro.IdBodega            = InfoMovi.IdBodega;
                        InfoMovxPro.IdGestionProductiva = Id;
                        InfoMovxPro.IdMovi_inven_tipo   = InfoMovi.IdMovi_inven_tipo;
                        InfoMovxPro.IdNumMovi           = Idmovi;
                        InfoMovxPro.IdSucursal          = InfoMovi.IdSucursal;
                        if (BusprodXMovi.Guardar(InfoMovxPro, ref men) == false)
                        {
                            MessageBox.Show(men);
                        }
                        Boolean segunda = false;
                        foreach (var item in Info.ListaDetalle)
                        {
                            var Producto = _ProdXBode_B.Get_Info_Producto_x_Producto(param.IdEmpresa, Convert.ToInt32(Parametros_Techo.IdSucursal_EgrxMateriaPrima), Convert.ToInt32(Parametros_Techo.IdBodega_EgrxMateriaPrima), Convert.ToDecimal(cmbMateriaPrima.EditValue));
                            _DetMovi_I                   = new in_movi_inve_detalle_Info();
                            _DetMovi_I.IdBodega          = Convert.ToInt32(Parametros_Techo.IdBodega_IngxProduc);
                            _DetMovi_I.IdEmpresa         = param.IdEmpresa;
                            _DetMovi_I.IdMovi_inven_tipo = Convert.ToInt32(Parametros_Techo.IdMovi_inven_tipo_x_IngxProduc_ProdTermi);
                            _DetMovi_I.IdNumMovi         = Idmovi;
                            _DetMovi_I.IdProducto        = item.Prod_IdProducto;
                            _DetMovi_I.IdSucursal        = Convert.ToInt32(Parametros_Techo.IdSucursal_IngxProduc);
                            _DetMovi_I.dm_cantidad       = item.Prducc_Unidades;
                            _DetMovi_I.dm_observacion    = InfoMovi.cm_observacion;
                            _DetMovi_I.dm_precio         = Producto.pr_precio_publico;
                            _DetMovi_I.mv_costo          = Producto.pr_costo_promedio;
                            _DetMovi_I.mv_tipo_movi      = "+";
                            _DetMovi_I.dm_stock_ante     = Producto.pr_stock;
                            _DetMovi_I.dm_stock_actu     = Producto.pr_stock - _DetMovi_I.dm_cantidad;
                            ListDetalle.Add(_DetMovi_I);

                            if (segunda)
                            {
                                _DetMovi_I = new in_movi_inve_detalle_Info();
                                var Producto2 = _ProdXBode_B.Get_Info_Producto_x_Producto(param.IdEmpresa, Convert.ToInt32(Parametros_Techo.IdSucursal_EgrxMateriaPrima), Convert.ToInt32(Parametros_Techo.IdBodega_EgrxMateriaPrima), Convert.ToDecimal(item.Segunda_IdProducto));
                                _DetMovi_I                   = new in_movi_inve_detalle_Info();
                                _DetMovi_I.IdBodega          = Convert.ToInt32(Parametros_Techo.IdBodega_IngxProduc);
                                _DetMovi_I.IdEmpresa         = param.IdEmpresa;
                                _DetMovi_I.IdMovi_inven_tipo = Convert.ToInt32(Parametros_Techo.IdMovi_inven_tipo_x_IngxProduc_ProdTermi);
                                _DetMovi_I.IdNumMovi         = Idmovi;
                                _DetMovi_I.IdProducto        = item.Segunda_IdProducto;
                                _DetMovi_I.IdSucursal        = Convert.ToInt32(Parametros_Techo.IdSucursal_IngxProduc);
                                _DetMovi_I.dm_cantidad       = item.Segunda_Unidades;
                                _DetMovi_I.dm_observacion    = InfoMovi.cm_observacion;
                                _DetMovi_I.dm_precio         = Producto2.pr_precio_publico;
                                _DetMovi_I.mv_costo          = Producto2.pr_costo_promedio;
                                _DetMovi_I.mv_tipo_movi      = "+";
                                _DetMovi_I.dm_stock_ante     = Producto2.pr_stock;
                                _DetMovi_I.dm_stock_actu     = Producto2.pr_stock - _DetMovi_I.dm_cantidad;
                                ListDetalle.Add(_DetMovi_I);
                            }
                            _ProdXBode_B.ActualizarStock_x_Bodega_con_moviInven(ListDetalle, ref men);
                        }
                        if (_movidet_b.GrabarDB(ListDetalle, ref men) == false)
                        {
                            MessageBox.Show(men);
                        }
                        ;

                        #endregion
                        txtIdGestion.EditValue = Id;

                        MessageBox.Show("Se ha Ingresado con exito el Registro #: " + Id);
                        btnGuardar.Enabled       = false;
                        btnGuardarYSalir.Enabled = false;
                    }
                }
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
            }
        }
Пример #3
0
        void grabar()
        {
            try
            {
                txtObservacion.Focus();
                decimal idEnsamb          = 0;
                decimal idMovIng          = 0;
                decimal idMovEg           = 0;
                string  msg               = "";
                string  mensaje_cbte_cble = "";


                {
                    mv_cab.IdMovi_inven_tipo = Convert.ToInt32(paramCidersus.IdMovi_inven_tipo_egr_Ensamblado);
                    mv_cab.cm_tipo           = "-";
                    mv_cab.cm_observacion    = " Egr Suc " + UCSuc_Bod.cmb_sucursal.Text +
                                               " Bod " + UCSuc_Bod.cmb_bodega.Text + Ensamblado.Observacion;
                }

                GT = busGT.OBtenerGT(param.IdEmpresa, Ensamblado.IdSucursal,
                                     Convert.ToDecimal(gridLkUGrupoTrabajo.EditValue));

                if (Bus_mv.GrabarDB(mv_cab, ref idMovEg, ref mensaje_cbte_cble, ref msg))
                {
                    Lst_mv_detalle_eg.ForEach(var => var.IdNumMovi = idMovEg);
                    int et_anterior = etapaanterior(GT.IdEtapa, GT.IdProcesoProductivo);
                    if (et_anterior == 0)
                    {
                        Lst_mv_detalleXprod_eg.ForEach(var => var.IdNumMovi = idMovEg);
                    }
                    else
                    {
                        Lst_mv_detalleXprod_eg.ForEach(var =>
                        {
                            var.et_IdEmpresa           = param.IdEmpresa;
                            var.IdNumMovi              = idMovEg;
                            var.et_IdProcesoProductivo = GT.IdProcesoProductivo;
                            var.et_IdEtapa             = et_anterior;
                        });
                    }
                    if (Bus_mv_det.GrabarDB(Lst_mv_detalle_eg, ref msg))
                    {
                        if (Bus_mv_detXpro.GuardarDB(Lst_mv_detalleXprod_eg, ref msg))
                        {
                            if (Bus_prodxbod.ActualizarStock_x_Bodega_con_moviInven(Lst_mv_detalle_eg, ref msg))
                            {
                                messOk = true;
                            }
                            else
                            {
                                messOk = false;
                            }
                        }
                    }
                }

                {
                    mv_cab.IdMovi_inven_tipo = Convert.ToInt32(paramCidersus.IdMovi_inven_tipo_ing_Ensamblado);
                    mv_cab.cm_tipo           = "+";
                    mv_cab.cm_observacion    = " Ing Suc " + UCSuc_Bod.cmb_sucursal.Text +
                                               " Bod " + UCSuc_Bod.cmb_bodega.Text + Ensamblado.Observacion;
                }
                mv_cab.IdNumMovi = 0;
                if (Bus_mv.GrabarDB(mv_cab, ref idMovIng, ref mensaje_cbte_cble, ref msg))
                {
                    Lst_mv_detalle_ing.ForEach(var => var.IdNumMovi      = idMovIng);
                    Lst_mv_detalleXprod_ing.ForEach(var => var.IdNumMovi = idMovIng);

                    if (Bus_mv_det.GrabarDB(Lst_mv_detalle_ing, ref msg))
                    {
                        //GT = busGT.OBtenerGT(param.IdEmpresa,Ensamblado.IdSucursal,Convert.ToDecimal( gridLkUOrdenTaller.EditValue),
                        //    Convert.ToDecimal( gridLkUGrupoTrabajo.EditValue) );

                        Lst_mv_detalleXprod_ing.ForEach(var =>
                        {
                            var.et_IdEmpresa           = GT.IdEmpresa;
                            var.et_IdProcesoProductivo = GT.IdProcesoProductivo;
                            var.et_IdEtapa             = GT.IdEtapa;
                        });

                        if (Bus_mv_detXpro.GuardarDB(Lst_mv_detalleXprod_ing, ref msg))
                        {
                            if (Bus_prodxbod.ActualizarStock_x_Bodega_con_moviInven(Lst_mv_detalle_ing, ref msg))
                            {
                                messOk = true;
                            }
                            else
                            {
                                messOk = false;
                            }
                        }
                    }
                }

                var detalleingreso = Bus_mv_detXpro.ConsultaxMovInvTipo(param.IdEmpresa,
                                                                        mv_cab.IdSucursal, mv_cab.IdBodega, idMovIng, mv_cab.IdMovi_inven_tipo);
                foreach (var item in detalleingreso)
                {
                    txtCodBarra.Text = item.CodigoBarra;
                }
                // obtener el codigo de barra a ingresasar

                //Ensamblado.CodigoBarra = txtCodBarra.Text = Lst_mv_detalleXprod_ing[0].CodigoBarra;
                Ensamblado.CodigoBarra = txtCodBarra.Text;
                Ensamblado.Observacion = Ensamblado.Observacion + "Mov Eg" + idMovEg + "Mov Ing" + idMovIng;

                if (BusEnsamblado.GuardarDB(Ensamblado, DetalleEnsam, ref idEnsamb, ref msg))
                {
                    infoTI.en_IdEmpresa      = infoTI.IdEmpresa = Ensamblado.IdEmpresa;
                    infoTI.en_IdSucursal     = infoTI.IdSucursal = Ensamblado.IdSucursal;
                    infoTI.en_IdEnsamblado   = idEnsamb;
                    infoTI.IdBodega          = mv_cab.IdBodega;
                    infoTI.IdMovi_inven_tipo = Convert.ToInt32(paramCidersus.IdMovi_inven_tipo_egr_Ensamblado);
                    infoTI.IdNumMovi         = idMovEg;


                    if (busTI.GuardarDB(infoTI, ref msg))
                    {
                        infoTI.IdMovi_inven_tipo = Convert.ToInt32(paramCidersus.IdMovi_inven_tipo_ing_Ensamblado);
                        infoTI.IdNumMovi         = idMovIng;

                        if (busTI.GuardarDB(infoTI, ref msg))
                        {
                            if (messOk == true)
                            {
                                MessageBox.Show("Grabado correcto", "Sistemas", MessageBoxButtons.OK);
                                txtEnsamblado.Text = Convert.ToString(idEnsamb);
                                set_Accion(Cl_Enumeradores.eTipo_action.consultar);
                                Ensamblado.IdEnsamblado = idEnsamb;
                                setCab(Ensamblado);
                            }
                        }
                    }
                }

                else
                {
                }
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                MessageBox.Show(ex.ToString());
            }
        }
Пример #4
0
        void grabar()
        {
            try
            {
                txtObservacion.Focus();
                decimal idEnsamb          = 0;
                decimal idMovIng          = 0;
                decimal idMovEg           = 0;
                string  msg               = "";
                string  mensaje_cbte_cble = "";


                {
                    mv_cab.IdMovi_inven_tipo = Convert.ToInt32(paramCidersus.IdMovi_inven_tipo_egr_Ensamblado);
                    mv_cab.cm_tipo           = "-";
                    mv_cab.cm_observacion    = " Egr Suc " + UCSuc_Bod.cmb_sucursal.Text +
                                               " Bod " + UCSuc_Bod.cmb_bodega.Text + Ensamblado.Observacion;
                }

                GT = busGT.OBtenerGT(param.IdEmpresa, Ensamblado.IdSucursal,
                                     Convert.ToDecimal(gridLkUGrupoTrabajo.EditValue));

                if (Bus_mv.GrabarDB(mv_cab, ref idMovEg, ref mensaje_cbte_cble, ref msg))
                {
                    Lst_mv_detalle_eg.ForEach(var => var.IdNumMovi = idMovEg);
                    int et_anterior = etapaanterior(GT.IdEtapa, GT.IdProcesoProductivo);
                    if (et_anterior == 0)
                    {
                        Lst_mv_detalleXprod_eg.ForEach(var => var.IdNumMovi = idMovEg);
                    }
                    else
                    {
                        Lst_mv_detalleXprod_eg.ForEach(var =>
                        {
                            var.et_IdEmpresa           = param.IdEmpresa;
                            var.IdNumMovi              = idMovEg;
                            var.et_IdProcesoProductivo = GT.IdProcesoProductivo;
                            var.et_IdEtapa             = et_anterior;
                        });
                    }
                    if (Bus_mv_det.GrabarDB(Lst_mv_detalle_eg, ref msg))
                    {
                        if (Bus_mv_detXpro.GuardarDB(Lst_mv_detalleXprod_eg, ref msg))
                        {
                            if (Bus_prodxbod.ActualizarStock_x_Bodega_con_moviInven(Lst_mv_detalle_eg, ref msg))
                            {
                                MessageBox.Show("Movimiento Inventario No. " + idMovEg
                                                + " Egreso de Bodega de Produccion. \n Grabado Satisfactoriamente",
                                                "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            }
                        }
                    }
                }

                {
                    mv_cab.IdMovi_inven_tipo = Convert.ToInt32(paramCidersus.IdMovi_inven_tipo_ing_Ensamblado);
                    mv_cab.cm_tipo           = "+";
                    mv_cab.cm_observacion    = " Ing Suc " + UCSuc_Bod.cmb_sucursal.Text +
                                               " Bod " + UCSuc_Bod.cmb_bodega.Text + Ensamblado.Observacion;
                }
                mv_cab.IdNumMovi = 0;
                if (Bus_mv.GrabarDB(mv_cab, ref idMovIng, ref mensaje_cbte_cble, ref msg))
                {
                    Lst_mv_detalle_ing.ForEach(var => var.IdNumMovi      = idMovIng);
                    Lst_mv_detalleXprod_ing.ForEach(var => var.IdNumMovi = idMovIng);

                    if (Bus_mv_det.GrabarDB(Lst_mv_detalle_ing, ref msg))
                    {
                        //GT = busGT.OBtenerGT(param.IdEmpresa,Ensamblado.IdSucursal,Convert.ToDecimal( gridLkUOrdenTaller.EditValue),
                        //    Convert.ToDecimal( gridLkUGrupoTrabajo.EditValue) );

                        Lst_mv_detalleXprod_ing.ForEach(var =>
                        {
                            var.et_IdEmpresa           = GT.IdEmpresa;
                            var.et_IdProcesoProductivo = GT.IdProcesoProductivo;
                            var.et_IdEtapa             = GT.IdEtapa;
                        });

                        if (Bus_mv_detXpro.GuardarDB(Lst_mv_detalleXprod_ing, ref msg))
                        {
                            if (Bus_prodxbod.ActualizarStock_x_Bodega_con_moviInven(Lst_mv_detalle_ing, ref msg))
                            {
                                MessageBox.Show("Movimiento Inventario No. " + idMovIng
                                                + " Ingreso de Bodega de Produccion por Etapa de Ensamblado. \n Grabado Satisfactoriamente",
                                                "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            }
                        }
                    }
                }

                Ensamblado.CodigoBarra = txtCodBarra.Text = Lst_mv_detalleXprod_ing[0].CodigoBarra;
                Ensamblado.Observacion = Ensamblado.Observacion + "Mov Eg" + idMovEg + "Mov Ing" + idMovIng;

                if (BusEnsamblado.GuardarDB(Ensamblado, DetalleEnsam, ref idEnsamb, ref msg))
                {
                    infoTI.en_IdEmpresa      = infoTI.IdEmpresa = Ensamblado.IdEmpresa;
                    infoTI.en_IdSucursal     = infoTI.IdSucursal = Ensamblado.IdSucursal;
                    infoTI.en_IdEnsamblado   = idEnsamb;
                    infoTI.IdBodega          = mv_cab.IdBodega;
                    infoTI.IdMovi_inven_tipo = Convert.ToInt32(paramCidersus.IdMovi_inven_tipo_egr_Ensamblado);
                    infoTI.IdNumMovi         = idMovEg;


                    if (busTI.GuardarDB(infoTI, ref msg))
                    {
                        infoTI.IdMovi_inven_tipo = Convert.ToInt32(paramCidersus.IdMovi_inven_tipo_ing_Ensamblado);
                        infoTI.IdNumMovi         = idMovIng;

                        if (busTI.GuardarDB(infoTI, ref msg))
                        {
                            MessageBox.Show("Ensamblado No. " + idEnsamb + "\n Grabado Satisfactoriamente", "Sistemas", MessageBoxButtons.OK, MessageBoxIcon.Information);
                            txtEnsamblado.Text = Convert.ToString(idEnsamb);
                            // btn_guardar.Enabled = false;
                            Ensamblado.IdEnsamblado = idEnsamb;
                            setCab(Ensamblado);
                        }
                    }
                }

                else
                {
                }
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
                MessageBox.Show(ex.ToString());
            }
        }
        private void toolStripButton2_Click_1(object sender, EventArgs e)
        {
            try
            {
                Get_info();

                BusAjusDeta.Eliminar(param.IdEmpresa, Convert.ToDecimal(txtNumAjusteFisico.Text));
                int s = 1;
                ListaAjuste = new List <Info.Inventario.in_AjusteFisico_Detalle_Info>();
                foreach (var item in ListaPorductos)
                {
                    in_AjusteFisico_Detalle_Info infoAjusteDetalle = new in_AjusteFisico_Detalle_Info();
                    infoAjusteDetalle.IdAjusteFisico   = Convert.ToDecimal(txtNumAjusteFisico.Text);
                    infoAjusteDetalle.IdEmpresa        = param.IdEmpresa;
                    infoAjusteDetalle.Secuencia        = s;
                    infoAjusteDetalle.IdProducto       = item.IdProducto;
                    infoAjusteDetalle.CantidadAjustada = Convert.ToDouble(item.CantidadAjustada);
                    infoAjusteDetalle.StockFisico      = Convert.ToDouble(item.StockFisico);
                    infoAjusteDetalle.StockSistema     = item.pr_stock;
                    s++;
                    ListaAjuste.Add(infoAjusteDetalle);
                }
                // ListaAjuste.ForEach(v=>v.IdAjusteFisico = );

                BusAjusDeta.GuardarBase(ListaAjuste);
                //string MenMovi ="";
                //in_movi_inve_Info movi_I = new in_movi_inve_Info();
                //movi_I.IdEmpresa = param.IdEmpresa;
                //movi_I.IdSucursal = _Info.IdSucursal;
                //movi_I.IdBodega = _Info.IdBodega;

                //BusMoviInven.AnularCabeceraYDetalleyActualizaStock(movi_I, ref MenMovi);

                string mensaje = "";

                var TIngreso = (from q in ListaPorductos
                                where q.CantidadAjustada > 0
                                select q).Count();

                var TEgresos = (from q in ListaPorductos
                                where q.CantidadAjustada < 0
                                select q).Count();


                HayIngresos = (Convert.ToDouble(TIngreso) > 0) ? true : false;

                #region HayIngreso

                if (HayIngresos == true)
                {
                    in_movi_inve_Info InfoMOviIngreso = new in_movi_inve_Info();

                    #region InfoMoviIngres
                    InfoMOviIngreso.IdEmpresa         = param.IdEmpresa;
                    InfoMOviIngreso.IdSucursal        = _Info.IdSucursal;
                    InfoMOviIngreso.IdBodega          = _Info.IdBodega;
                    InfoMOviIngreso.IdMovi_inven_tipo = _Info.IdMovi_inven_tipo_Ing;
                    InfoMOviIngreso.cm_tipo           = "+";
                    InfoMOviIngreso.cm_observacion    = _Info.Observacion;
                    InfoMOviIngreso.IdUsuario         = param.IdUsuario;
                    InfoMOviIngreso.nom_pc            = param.nom_pc;
                    InfoMOviIngreso.ip           = param.ip;
                    InfoMOviIngreso.Estado       = "A";
                    InfoMOviIngreso.cm_fecha     = dtp_fecha.Value;
                    InfoMOviIngreso.CodMoviInven = "AJU";

                    #endregion
                    if (BusMoviInven.GrabarDB(InfoMOviIngreso, ref IdNumMovi_Ing, ref mensaje))
                    {
                        var SelectDetMoviIng = from q in ListaPorductos
                                               where q.CantidadAjustada > 0
                                               select q;

                        int c = 1;
                        foreach (var item in SelectDetMoviIng)
                        {
                            in_movi_inve_detalle_Info detMovInfo = new in_movi_inve_detalle_Info();



                            detMovInfo.dm_stock_ante     = item.pr_stock;
                            detMovInfo.dm_stock_actu     = Convert.ToDouble(item.StockFisico);
                            detMovInfo.dm_cantidad       = Convert.ToDouble(item.CantidadAjustada);
                            detMovInfo.IdProducto        = item.IdProducto;
                            detMovInfo.Secuencia         = c;
                            detMovInfo.IdEmpresa         = param.IdEmpresa;
                            detMovInfo.IdBodega          = InfoMOviIngreso.IdBodega;
                            detMovInfo.IdSucursal        = InfoMOviIngreso.IdSucursal;
                            detMovInfo.IdMovi_inven_tipo = InfoMOviIngreso.IdMovi_inven_tipo;
                            detMovInfo.IdNumMovi         = IdNumMovi_Ing;
                            detMovInfo.mv_tipo_movi      = InfoMOviIngreso.cm_tipo;
                            detMovInfo.dm_observacion    = _Info.Observacion;
                            detMovInfo.dm_precio         = item.pr_precio_publico;
                            detMovInfo.mv_costo          = item.pr_costo_promedio;


                            listDetMoviIngreso.Add(detMovInfo);



                            c++;
                        }
                        //guarda los ingresos
                        BusDetMOvi.GrabarDB(listDetMoviIngreso, ref mensaje);

                        // actualizo el stokc x bodega


                        PrxBoBUS.ActualizarStock_x_Bodega_con_moviInven(listDetMoviIngreso, ref mensaje);
                    }
                }

                #endregion
                #region HayEgreso
                HayEgresos = (Convert.ToDouble(TEgresos) > 0) ? true : false;

                if (HayEgresos == true)
                {
                    #region InfoMoviEgreso
                    in_movi_inve_Info InfoMOviEgres = new in_movi_inve_Info();
                    InfoMOviEgres.IdEmpresa         = param.IdEmpresa;
                    InfoMOviEgres.IdSucursal        = _Info.IdSucursal;
                    InfoMOviEgres.IdBodega          = _Info.IdBodega;
                    InfoMOviEgres.IdMovi_inven_tipo = _Info.IdMovi_inven_tipo_Egr;
                    InfoMOviEgres.cm_tipo           = "-";
                    InfoMOviEgres.cm_observacion    = _Info.Observacion;
                    InfoMOviEgres.IdUsuario         = param.IdUsuario;
                    InfoMOviEgres.nom_pc            = param.nom_pc;
                    InfoMOviEgres.ip           = param.ip;
                    InfoMOviEgres.Estado       = "A";
                    InfoMOviEgres.cm_fecha     = dtp_fecha.Value;
                    InfoMOviEgres.CodMoviInven = "AJU";
                    #endregion
                    if (BusMoviInven.GrabarDB(InfoMOviEgres, ref IdNumMovi_Egr, ref mensaje))
                    {
                        var SelectDetMoviEgre = from q in ListaPorductos
                                                where q.CantidadAjustada < 0
                                                select q;



                        int c = 1;

                        foreach (var item in SelectDetMoviEgre)
                        {
                            in_movi_inve_detalle_Info detMovInfo = new in_movi_inve_detalle_Info();
                            detMovInfo.IdEmpresa         = param.IdEmpresa;
                            detMovInfo.IdBodega          = InfoMOviEgres.IdBodega;
                            detMovInfo.IdSucursal        = InfoMOviEgres.IdSucursal;
                            detMovInfo.IdMovi_inven_tipo = InfoMOviEgres.IdMovi_inven_tipo;
                            detMovInfo.IdNumMovi         = IdNumMovi_Egr;
                            detMovInfo.Secuencia         = c;
                            c++;
                            detMovInfo.mv_tipo_movi   = InfoMOviEgres.cm_tipo;
                            detMovInfo.IdProducto     = item.IdProducto;
                            detMovInfo.dm_cantidad    = Convert.ToDouble(item.CantidadAjustada);
                            detMovInfo.dm_stock_actu  = Convert.ToDouble(item.StockFisico);
                            detMovInfo.dm_stock_ante  = item.pr_stock;
                            detMovInfo.dm_observacion = _Info.Observacion;
                            detMovInfo.dm_precio      = item.pr_precio_publico;
                            detMovInfo.mv_costo       = item.pr_costo_promedio;

                            listDetMoviEgreso.Add(detMovInfo);
                        }

                        BusDetMOvi.GrabarDB(listDetMoviEgreso, ref mensaje);
                        PrxBoBUS.ActualizarStock_x_Bodega_con_moviInven(listDetMoviEgreso, ref mensaje);
                    }
                }
                #endregion

                if (BusAjusteFisico.Modificar(param.IdEmpresa, Convert.ToDecimal(txtNumAjusteFisico.Text), "APRO", IdNumMovi_Egr, IdNumMovi_Ing))
                {
                    MessageBox.Show("Aprobado Con exito..");
                }
                else
                {
                    MessageBox.Show("Error Al Aprobar");
                }
            }
            catch (Exception ex)
            {
                Log_Error_bus.Log_Error(ex.ToString());
            }
        }