private List <in_Ing_Egr_Inven_det_Info> GetDetalle_Ing_Egr_Inven(List <in_transferencia_det_Info> listDetalle, int IdSucursal, int IdBodega, string Signo, DateTime fecha) { try { List <in_Ing_Egr_Inven_det_Info> list_IngEgrDet = new List <in_Ing_Egr_Inven_det_Info>(); foreach (var item in listDetalle.Where(q => q.IdProducto != null).ToList()) { switch (Signo) { case "-": info_costo = bus_costo.get_UltimoCosto_x_Producto_Bodega(item.IdEmpresa, IdSucursal, IdBodega, item.IdProducto ?? 0, fecha); list_costo_historico.Add(info_costo); break; case "+": info_costo = list_costo_historico.FirstOrDefault(q => q.IdEmpresa == item.IdEmpresa && q.IdProducto == item.IdProducto); break; } in_Ing_Egr_Inven_det_Info info = new in_Ing_Egr_Inven_det_Info(); info.IdEmpresa = item.IdEmpresa; info.IdSucursal = IdSucursal; info.IdNumMovi = 0; info.Secuencia = item.dt_secuencia; info.IdBodega = IdBodega; info.IdProducto = item.IdProducto ?? 0; info.dm_cantidad = item.dt_cantidad; info.dm_observacion = item.tr_Observacion; info.dm_precio = info_costo == null ? 0 : info_costo.costo; info.mv_costo_sinConversion = info_costo == null ? 0 : info_costo.costo; info.mv_costo = info_costo == null ? 0 : info_costo.costo; info.dm_cantidad_sinConversion = item.dt_cantidad; info.dm_cantidad = item.dt_cantidad; info.IdUnidadMedida = item.IdUnidadMedida; info.IdUnidadMedida_sinConversion = item.IdUnidadMedida; info.IdCentroCosto = item.IdCentroCosto; info.IdCentroCosto_sub_centro_costo = item.IdCentroCosto_sub_centro_costo; info.pr_descripcion = item.pr_descripcion; info.IdPunto_cargo = item.IdPunto_cargo; info.IdPunto_cargo_grupo = item.IdPunto_cargo_grupo; list_IngEgrDet.Add(info); } return(list_IngEgrDet); } catch (Exception ex) { Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message); throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "GetDetalle_Ing_Egr_Inven", ex.Message), ex) { EntityType = typeof(in_transferencia_bus) }; } }
private List <in_Ing_Egr_Inven_det_Info> get_detalle(List <in_transferencia_det_Info> listDetalle, int IdSucursal, int IdBodega, string Signo, DateTime fecha) { try { List <in_Ing_Egr_Inven_det_Info> list_IngEgrDet = new List <in_Ing_Egr_Inven_det_Info>(); foreach (var item in listDetalle) { double costo = bus_costo.get_ultimo_costo(item.IdEmpresa, item.IdSucursalOrigen, item.IdBodegaOrigen, item.IdProducto, fecha); in_Ing_Egr_Inven_det_Info info = new in_Ing_Egr_Inven_det_Info { IdEmpresa = item.IdEmpresa, IdSucursal = IdSucursal, IdNumMovi = 0, Secuencia = item.dt_secuencia, IdBodega = IdBodega, IdProducto = item.IdProducto, dm_observacion = item.tr_Observacion, mv_costo = costo, mv_costo_sinConversion = costo, dm_cantidad_sinConversion = Math.Abs(item.dt_cantidad) * (Signo == "-" ? -1 : 1), dm_cantidad = Math.Abs(item.dt_cantidad) * (Signo == "-" ? -1 : 1), IdUnidadMedida = item.IdUnidadMedida, IdUnidadMedida_sinConversion = item.IdUnidadMedida, }; list_IngEgrDet.Add(info); } return(list_IngEgrDet); } catch (Exception) { throw; } }
private void Llamar_pantalla_subcentro_costo() { try { in_Ing_Egr_Inven_det_Info Row = (in_Ing_Egr_Inven_det_Info)gridViewProductos.GetRow(RowHandle); if (Row != null) { if (Row.IdCentroCosto != null) { List <ct_centro_costo_sub_centro_costo_Info> Lista_subcentro_consulta = new List <ct_centro_costo_sub_centro_costo_Info>(); Lista_subcentro_consulta = list_subcentro_combo.Where(q => q.IdEmpresa == param.IdEmpresa && q.IdCentroCosto == Row.IdCentroCosto).ToList(); if (Lista_subcentro_consulta != null && Lista_subcentro_consulta.Count != 0) { frmCon_ct_centro_costo_sub_centro_costo_Cons frm_combo = new frmCon_ct_centro_costo_sub_centro_costo_Cons(); frm_combo.Set_config_combo(Lista_subcentro_consulta); frm_combo.ShowDialog(); info_subcentro = frm_combo.Get_info_centro_sub_centro_costo(); //Se le asigna el IdRegistro al combo y el IdSubcentro a la columna de subcentro que se va a guardar gridViewProductos.SetRowCellValue(RowHandle, colIdRegistro_subcentro, info_subcentro == null ? null : info_subcentro.IdRegistro); gridViewProductos.SetRowCellValue(RowHandle, colIdCentroCosto_sub_centro_costo, info_subcentro == null ? null : info_subcentro.IdCentroCosto_sub_centro_costo); gridViewProductos.SetRowCellValue(RowHandle, col_cod_subcentro, info_subcentro == null ? null : info_subcentro.IdCentroCosto_sub_centro_costo); } } } } catch (Exception ex) { MessageBox.Show(ex.ToString()); Log_Error_bus.Log_Error(ex.ToString()); } }
public ActionResult EditingUpdate([ModelBinder(typeof(DevExpressEditorsBinder))] in_Ing_Egr_Inven_det_Info info_det) { int IdEmpresa = Convert.ToInt32(Session["IdEmpresa"]); if (info_det != null) { if (info_det.IdProducto != 0) { in_Producto_Info info_producto = bus_producto.get_info(IdEmpresa, info_det.IdProducto); if (info_producto != null) { info_det.pr_descripcion = info_producto.pr_descripcion_combo; info_det.IdUnidadMedida = info_producto.IdUnidadMedida; info_det.IdUnidadMedida_sinConversion = info_producto.IdUnidadMedida; } } } if (info_det.dm_cantidad_sinConversion > 0) { List_in_Ing_Egr_Inven_det.UpdateRow(info_det, Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)); } var model = List_in_Ing_Egr_Inven_det.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)); cargar_combos_detalle(); return(PartialView("_GridViewPartial_inv_det", model)); }
public ActionResult EditingUpdate([ModelBinder(typeof(DevExpressEditorsBinder))] in_Ing_Egr_Inven_det_Info info_det) { int IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa); if (info_det != null) { if (info_det.IdProducto != 0) { in_Producto_Info info_producto = bus_producto.get_info(IdEmpresa, info_det.IdProducto); if (info_producto != null) { info_det.pr_descripcion = info_producto.pr_descripcion_combo; info_det.tp_ManejaInven = info_producto.tp_ManejaInven; info_det.se_distribuye = info_producto.se_distribuye; info_det.mv_costo_sinConversion = bus_prod_x_bod.get_ultimo_costo(IdEmpresa, Convert.ToInt32(SessionFixed.IdSucursalInv), Convert.ToInt32(SessionFixed.IdBodegaInv), info_det.IdProducto, DateTime.Now.Date); } } } if (info_det.dm_cantidad_sinConversion > 0) { List_in_Ing_Egr_Inven_det.UpdateRow(info_det, Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)); } var model = List_in_Ing_Egr_Inven_det.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)); cargar_combos_detalle(); return(PartialView("_GridViewPartial_egr_inv_det", model)); }
private void armar_movimiento_inventario() { try { in_Ing_Egr_Inven_Info info_movimiento = new in_Ing_Egr_Inven_Info(); #region Cabecera info_movimiento = new in_Ing_Egr_Inven_Info { IdEmpresa = param.IdEmpresa, IdSucursal = ucIn_Sucursal_Bodega1.get_IdSucursal(), IdMovi_inven_tipo = ucIn_TipoMoviInv_Cmb1.get_TipoMoviInvInfo().IdMovi_inven_tipo, IdNumMovi = 0, IdBodega = ucIn_Sucursal_Bodega1.get_IdBodega(), signo = "+", CodMoviInven = "FACT" + info_aprobacion.Serie + "-" + info_aprobacion.Serie2 + "-" + info_aprobacion.num_documento, cm_observacion = txtObservacion.Text, cm_fecha = de_fecha.DateTime.Date, IdUsuario = param.IdUsuario, Estado = "A", Fecha_Transac = DateTime.Now, nom_pc = param.nom_pc, ip = param.ip, IdMotivo_Inv = ucIn_MotivoInvCmb1.get_MotivoInvInfo().IdMotivo_Inv }; #endregion #region Detalle foreach (var item in blst_det) { in_Ing_Egr_Inven_det_Info info_det = new in_Ing_Egr_Inven_det_Info { IdEmpresa = info_movimiento.IdEmpresa, IdSucursal = info_movimiento.IdSucursal, IdMovi_inven_tipo = info_movimiento.IdMovi_inven_tipo, IdNumMovi = info_movimiento.IdNumMovi, IdBodega = info_movimiento.IdBodega, IdProducto = Convert.ToDecimal(item.IdProducto), dm_observacion = "", dm_cantidad = item.Cantidad, dm_cantidad_sinConversion = item.Cantidad, mv_costo = item.Cost_uni_final, mv_costo_sinConversion = item.Cost_uni_final, IdUnidadMedida = item.IdUnidadMedida, IdUnidadMedida_sinConversion = item.IdUnidadMedida, }; info_movimiento.listIng_Egr.Add(info_det); } #endregion info_aprobacion.info_ing_x_compra = info_movimiento; } catch (Exception ex) { Log_Error_bus.Log_Error(ex.ToString()); MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public static void FileUploadComplete(object sender, DevExpress.Web.FileUploadCompleteEventArgs e) { #region Variables List <in_Ing_Egr_Inven_det_Info> Lista_IngresoInventarioDet = new List <in_Ing_Egr_Inven_det_Info>(); in_Ing_Egr_Inven_det_List ListaIngresoInventario = new in_Ing_Egr_Inven_det_List(); in_Producto_Bus bus_producto = new in_Producto_Bus(); int cont = 0; decimal IdTransaccionSession = Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual); int IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa); tb_sucursal_Bus bus_sucursal = new tb_sucursal_Bus(); #endregion Stream stream = new MemoryStream(e.UploadedFile.FileBytes); if (stream.Length > 0) { IExcelDataReader reader = null; reader = ExcelReaderFactory.CreateOpenXmlReader(stream); #region Ingreso Inventario var lst_producto = bus_producto.get_list(IdEmpresa, false); while (reader.Read()) { if (!reader.IsDBNull(0) && cont > 0) { var pr_codigo_producto = Convert.ToString(reader.GetValue(3)); var IdUnidadMedida = Convert.ToString(reader.GetValue(2)); var costo_total = Convert.ToDouble(reader.GetValue(6)); var cantidad = Convert.ToDouble(reader.GetValue(5)); var info_producto = lst_producto.Where(q => q.pr_codigo == pr_codigo_producto).FirstOrDefault(); if ((info_producto != null && info_producto.IdProducto != 0) && (costo_total > 0 && cantidad > 0)) { in_Ing_Egr_Inven_det_Info info_detalle = new in_Ing_Egr_Inven_det_Info { Secuencia = cont++, IdEmpresa = IdEmpresa, IdProducto = info_producto.IdProducto, pr_descripcion = info_producto.pr_descripcion, IdUnidadMedida_sinConversion = string.IsNullOrEmpty(IdUnidadMedida) ? info_producto.IdUnidadMedida_Consumo : IdUnidadMedida, dm_cantidad_sinConversion = cantidad, mv_costo_sinConversion = costo_total / cantidad, }; Lista_IngresoInventarioDet.Add(info_detalle); } } else { cont++; } } ListaIngresoInventario.set_list(Lista_IngresoInventarioDet, IdTransaccionSession); #endregion } }
public void AddRow(in_Ing_Egr_Inven_det_Info info_det_inv, decimal IdTransaccionSession) { List <in_Ing_Egr_Inven_det_Info> list = get_list(IdTransaccionSession); info_det_inv.Secuencia = list.Count == 0 ? 1 : list.Max(q => q.Secuencia) + 1; //info_det_inv.secuencia_inv = list.Count == 0 ? 1 : list.Max(q => q.Secuencia) + 1; //info_det_inv.Secuencia_oc = list.Count == 0 ? 1 : list.Max(q => q.Secuencia) + 1; list.Add(info_det_inv); }
public bool guardarDB(in_Ing_Egr_Inven_det_Info info) { try { using (Entities_inventario Context = new Entities_inventario()) { in_Ing_Egr_Inven_det Entity = new in_Ing_Egr_Inven_det { IdEmpresa = info.IdEmpresa, IdSucursal = info.IdSucursal, IdMovi_inven_tipo = info.IdMovi_inven_tipo, IdNumMovi = info.IdNumMovi, Secuencia = info.Secuencia, IdBodega = info.IdBodega, IdProducto = info.IdProducto, IdCentroCosto = info.IdCentroCosto, IdCentroCosto_sub_centro_costo = info.IdCentroCosto_sub_centro_costo, IdPunto_cargo = info.IdPunto_cargo, IdPunto_cargo_grupo = info.IdPunto_cargo_grupo, dm_observacion = info.dm_observacion, IdMotivo_Inv = info.IdMotivo_Inv, IdEstadoAproba = info.IdEstadoAproba, Motivo_Aprobacion = info.Motivo_Aprobacion, IdEmpresa_oc = info.IdEmpresa_oc, IdSucursal_oc = info.IdSucursal_oc, IdOrdenCompra = info.IdOrdenCompra, Secuencia_oc = info.Secuencia_oc, IdEmpresa_inv = info.IdEmpresa_inv, IdSucursal_inv = info.IdSucursal_inv, IdBodega_inv = info.IdBodega_inv, IdMovi_inven_tipo_inv = info.IdMovi_inven_tipo_inv, IdNumMovi_inv = info.IdNumMovi_inv, secuencia_inv = info.secuencia_inv, dm_cantidad_sinConversion = info.dm_cantidad_sinConversion, dm_cantidad = info.dm_cantidad = info.dm_cantidad_sinConversion, // IdUnidadMedida_sinConversion = info.IdUnidadMedida_sinConversion, IdUnidadMedida = info.IdUnidadMedida = info.IdUnidadMedida_sinConversion, // mv_costo_sinConversion = info.mv_costo_sinConversion, mv_costo = info.mv_costo = (double)info.mv_costo_sinConversion //, }; Context.in_Ing_Egr_Inven_det.Add(Entity); Context.SaveChanges(); } return(true); } catch (Exception) { throw; } }
public bool guardarDB(in_Ing_Egr_Inven_det_Info info) { try { return(odata.guardarDB(info)); } catch (Exception) { throw; } }
public void AddRow(in_Ing_Egr_Inven_det_Info info_det, decimal IdTransaccionSession) { List <in_Ing_Egr_Inven_det_Info> list = get_list(IdTransaccionSession); info_det.Secuencia = list.Count == 0 ? 1 : list.Max(q => q.Secuencia) + 1; info_det.IdProducto = info_det.IdProducto; info_det.IdUnidadMedida = info_det.IdUnidadMedida; info_det.mv_costo_sinConversion = info_det.mv_costo_sinConversion; info_det.dm_cantidad_sinConversion = info_det.dm_cantidad_sinConversion; list.Add(info_det); }
public void UpdateRow(in_Ing_Egr_Inven_det_Info info_det, decimal IdTransaccionSession) { in_Ing_Egr_Inven_det_Info edited_info = get_list(IdTransaccionSession).Where(m => m.Secuencia == info_det.Secuencia).First(); edited_info.IdProducto = info_det.IdProducto; edited_info.IdUnidadMedida = info_det.IdUnidadMedida; edited_info.mv_costo_sinConversion = info_det.mv_costo_sinConversion; edited_info.dm_cantidad_sinConversion = info_det.dm_cantidad_sinConversion; edited_info.pr_descripcion = info_det.pr_descripcion; edited_info.IdProducto = info_det.IdProducto; }
public in_Ing_Egr_Inven_det_Info get_info(int IdEmpresa, int IdSucursal, int IdMovi_inven_tipo, decimal IdNumMovi) { try { in_Ing_Egr_Inven_det_Info info = new in_Ing_Egr_Inven_det_Info(); using (Entities_inventario Context = new Entities_inventario()) { in_Ing_Egr_Inven_det Entity = Context.in_Ing_Egr_Inven_det.FirstOrDefault(q => q.IdEmpresa == IdEmpresa && q.IdSucursal == IdSucursal && q.IdMovi_inven_tipo == IdMovi_inven_tipo && q.IdNumMovi == IdNumMovi); if (Entity == null) { return(null); } info = new in_Ing_Egr_Inven_det_Info { IdEmpresa = Entity.IdEmpresa, IdSucursal = Entity.IdSucursal, IdMovi_inven_tipo = Entity.IdMovi_inven_tipo, IdNumMovi = Entity.IdNumMovi, IdBodega = Entity.IdBodega, dm_cantidad = Entity.dm_cantidad, dm_observacion = Entity.dm_observacion, IdMotivo_Inv = Entity.IdMotivo_Inv, IdEstadoAproba = Entity.IdEstadoAproba, IdOrdenCompra = Entity.IdOrdenCompra, IdProducto = Entity.IdProducto, IdUnidadMedida = Entity.IdUnidadMedida, IdPunto_cargo = Entity.IdPunto_cargo, IdPunto_cargo_grupo = Entity.IdPunto_cargo_grupo, mv_costo = Entity.mv_costo, Secuencia = Entity.Secuencia, IdSucursal_inv = Entity.IdSucursal_inv, IdSucursal_oc = Entity.IdSucursal_oc, IdEmpresa_inv = Entity.IdEmpresa_inv, IdEmpresa_oc = Entity.IdEmpresa_oc, IdBodega_inv = Entity.IdBodega_inv, IdMovi_inven_tipo_inv = Entity.IdMovi_inven_tipo_inv, IdNumMovi_inv = Entity.IdNumMovi_inv, dm_cantidad_sinConversion = Entity.dm_cantidad_sinConversion, IdUnidadMedida_sinConversion = Entity.IdUnidadMedida_sinConversion, mv_costo_sinConversion = Entity.mv_costo_sinConversion, secuencia_inv = Entity.secuencia_inv, Secuencia_oc = Entity.Secuencia_oc }; } return(info); } catch (Exception) { throw; } }
public JsonResult EditingAddNew(string IDs = "", decimal IdTransaccionSession = 0, int IdEmpresa = 0) { string ObservacionOC = string.Empty; if (IDs != "") { int IdEmpresaSesion = Convert.ToInt32(SessionFixed.IdEmpresa); var lst_x_ingresar = ListaPorIngresar.get_list(IdTransaccionSession); string[] array = IDs.Split(','); foreach (var item in array) { int IdEmpresaOC = Convert.ToInt32(item.Substring(0, 3)); int IdSucursalOC = Convert.ToInt32(item.Substring(3, 3)); int IdOrdenCompra = Convert.ToInt32(item.Substring(6, 6)); int Secuencia = Convert.ToInt32(item.Substring(12, 6)); var info_det = lst_x_ingresar.Where(q => q.IdEmpresa == IdEmpresaOC && q.IdSucursal == IdSucursalOC && q.IdOrdenCompra == IdOrdenCompra && q.Secuencia == Secuencia).FirstOrDefault(); in_Ing_Egr_Inven_det_Info info_det_inv; com_parametro_Info info_param_oc = bus_com_param.get_info(IdEmpresaSesion); if (info_det != null) { info_det_inv = new in_Ing_Egr_Inven_det_Info { IdEmpresa = info_det.IdEmpresa, IdSucursal = info_det.IdSucursal, IdOrdenCompra = info_det.IdOrdenCompra, IdProducto = info_det.IdProducto, pr_descripcion = info_det.pr_descripcion, mv_costo_sinConversion = info_det.do_precioFinal, dm_cantidad_sinConversion = info_det.do_Cantidad_vw, IdUnidadMedida_sinConversion = info_det.IdUnidadMedida, Saldo = info_det.Saldo, IdEmpresa_oc = IdEmpresaOC, IdSucursal_oc = IdSucursalOC, Secuencia_oc = Secuencia, IdCentroCosto = info_det.IdCentroCosto, IdPunto_cargo = info_det.IdPunto_cargo, IdPunto_cargo_grupo = info_det.IdPunto_cargo_grupo, cc_Descripcion = info_det.cc_Descripcion, SecuenciaTipo = info_det.SecuenciaTipo }; ObservacionOC = "OC# " + info_det.SecuenciaTipo + " " + info_det.oc_observacion; List_in_Ing_Egr_Inven_det.AddRow(info_det_inv, IdTransaccionSession); } } } //var model = List_in_Ing_Egr_Inven_det.get_list(IdTransaccionSession); return(Json(ObservacionOC, JsonRequestBehavior.AllowGet)); }
public Boolean ModificarDB(in_Ing_Egr_Inven_det_Info Info, ref string msg) { try { return(odata.ModificarDB(Info, ref msg)); } catch (Exception ex) { Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message); throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "ModificarDB", ex.Message), ex) { EntityType = typeof(in_Ing_Egr_Inven_det_Bus) }; } }
private in_Ing_Egr_Inven_Info get_ingreso(imp_liquidacion_Info info) { try { param = param_bus.get_info(info.IdEmpresa); in_Ing_Egr_Inven_Info ingreso = new in_Ing_Egr_Inven_Info(); ingreso.IdEmpresa = info.IdEmpresa; ingreso.IdNumMovi = 0; ingreso.CodMoviInven = "0"; ingreso.cm_fecha = info.oe_fecha; ingreso.IdUsuario = info.IdUsuario_creacion; ingreso.nom_pc = ""; ingreso.ip = ""; ingreso.Fecha_Transac = DateTime.Now; ingreso.signo = "+"; ingreso.IdSucursal = param.IdSucursal; ingreso.IdBodega = param.IdBodega; ingreso.cm_observacion = "Ingreso por importacion. " + info.li_observacion; ingreso.IdMovi_inven_tipo = param.IdMovi_inven_tipo_ing; ingreso.IdMotivo_Inv = param.IdMotivo_Inv_ing; foreach (var item in info.lst_detalle) { in_Ing_Egr_Inven_det_Info info_det = new in_Ing_Egr_Inven_det_Info(); info_det.IdEmpresa = item.IdEmpresa; info_det.IdSucursal = param.IdSucursal; info_det.IdNumMovi = 0; info_det.Secuencia = item.Secuencia; info_det.IdBodega = param.IdBodega; info_det.IdProducto = item.IdProducto; info_det.dm_cantidad = item.od_cantidad_recepcion; info_det.dm_observacion = "Ingreso por orden de compra del exterior"; info_det.mv_costo = Math.Round(item.od_costo_total / item.od_cantidad_recepcion, 2); info_det.mv_costo_sinConversion = Math.Round(item.od_costo_total / item.od_cantidad_recepcion, 2); info_det.dm_cantidad_sinConversion = item.od_cantidad_recepcion; info_det.dm_cantidad = item.od_cantidad_recepcion; info_det.IdUnidadMedida = item.IdUnidadMedida; info_det.IdUnidadMedida_sinConversion = item.IdUnidadMedida; ingreso.lst_in_Ing_Egr_Inven_det.Add(info_det); } return(ingreso); } catch (Exception) { throw; } }
public void UpdateRow(in_Ing_Egr_Inven_det_Info info_det, decimal IdTransaccionSession) { in_Ing_Egr_Inven_det_Info edited_info = get_list(IdTransaccionSession).Where(m => m.Secuencia == info_det.Secuencia).First(); edited_info.IdProducto = info_det.IdProducto; edited_info.IdUnidadMedida = info_det.IdUnidadMedida; edited_info.IdMotivo_Inv_det = info_det.IdMotivo_Inv_det; edited_info.mv_costo_sinConversion = info_det.mv_costo_sinConversion; edited_info.dm_cantidad_sinConversion = info_det.dm_cantidad_sinConversion; edited_info.pr_descripcion = info_det.pr_descripcion; edited_info.IdProducto = info_det.IdProducto; edited_info.tp_ManejaInven = info_det.tp_ManejaInven; edited_info.se_distribuye = info_det.se_distribuye; #region Centro de costo edited_info.IdCentroCosto = info_det.IdCentroCosto; if (string.IsNullOrEmpty(info_det.IdCentroCosto)) { edited_info.cc_Descripcion = string.Empty; } else { var cc = bus_cc.get_info(Convert.ToInt32(SessionFixed.IdEmpresa), info_det.IdCentroCosto); if (cc != null) { edited_info.cc_Descripcion = cc.cc_Descripcion; } } #endregion #region Motivo if (info_det.IdMotivo_Inv_det == 0) { edited_info.Desc_mov_inv = string.Empty; } else if (info_det.IdMotivo_Inv_det != edited_info.IdMotivo_Inv_det) { var motivo = bus_motivo.get_info(Convert.ToInt32(SessionFixed.IdEmpresa), info_det.IdMotivo_Inv_det); if (motivo != null) { edited_info.Desc_mov_inv = motivo.Desc_mov_inv; } } #endregion }
public void AddRow(in_Ing_Egr_Inven_det_Info info_det, decimal IdTransaccionSession) { List <in_Ing_Egr_Inven_det_Info> list = get_list(IdTransaccionSession); info_det.Secuencia = list.Count == 0 ? 1 : list.Max(q => q.Secuencia) + 1; info_det.IdProducto = info_det.IdProducto; info_det.IdUnidadMedida = info_det.IdUnidadMedida; info_det.IdMotivo_Inv_det = info_det.IdMotivo_Inv_det; info_det.mv_costo_sinConversion = info_det.mv_costo_sinConversion; info_det.dm_cantidad_sinConversion = info_det.dm_cantidad_sinConversion; #region Centro de costo if (string.IsNullOrEmpty(info_det.IdCentroCosto)) { info_det.cc_Descripcion = string.Empty; } else { var cc = bus_cc.get_info(Convert.ToInt32(SessionFixed.IdEmpresa), info_det.IdCentroCosto); if (cc != null) { info_det.cc_Descripcion = cc.cc_Descripcion; } } #endregion #region Motivo if (info_det.IdMotivo_Inv_det == 0) { info_det.Desc_mov_inv = string.Empty; } else { var motivo = bus_motivo.get_info(Convert.ToInt32(SessionFixed.IdEmpresa), info_det.IdMotivo_Inv_det); if (motivo != null) { info_det.Desc_mov_inv = motivo.Desc_mov_inv; } } #endregion list.Add(info_det); }
public ActionResult EditingUpdate([ModelBinder(typeof(DevExpressEditorsBinder))] in_Ing_Egr_Inven_det_Info info_det) { com_ordencompra_local_det_List Lista_OC = new com_ordencompra_local_det_List(); int IdEmpresa = Convert.ToInt32(SessionFixed.IdEmpresa); List <in_Ing_Egr_Inven_det_Info> lista_detalle = List_in_Ing_Egr_Inven_det.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)); List <com_ordencompra_local_Info> lista_detalle_oc = Lista_OC.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)); in_Ing_Egr_Inven_det_Info info_det_editar = lista_detalle.Where(q => q.Secuencia == info_det.Secuencia).FirstOrDefault(); com_ordencompra_local_Info info_oc = lista_detalle_oc.Where(q => q.IdEmpresa == info_det_editar.IdEmpresa && q.IdSucursal == info_det_editar.IdSucursal && q.IdOrdenCompra == info_det_editar.IdOrdenCompra && q.IdProducto == info_det_editar.IdProducto).FirstOrDefault(); info_det_editar.dm_cantidad_sinConversion = info_det.dm_cantidad_sinConversion; if (info_det_editar != null) { if (info_det_editar.IdProducto != 0) { in_Producto_Info info_producto = bus_producto.get_info(IdEmpresa, info_det_editar.IdProducto); if (info_producto != null) { info_det.Saldo = info_det_editar.Saldo; info_det.IdProducto = info_det_editar.IdProducto; info_det.pr_descripcion = info_producto.pr_descripcion_combo; info_det.IdUnidadMedida_sinConversion = info_producto.IdUnidadMedida; } } } if (info_det_editar.dm_cantidad_sinConversion > 0 && info_det_editar.dm_cantidad_sinConversion <= info_det_editar.Saldo) { List_in_Ing_Egr_Inven_det.UpdateRow(info_det_editar, Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)); } var model = List_in_Ing_Egr_Inven_det.get_list(Convert.ToDecimal(SessionFixed.IdTransaccionSessionActual)); cargar_combos_detalle(); return(PartialView("_GridViewPartial_inv_det", model)); }
private List <in_Ing_Egr_Inven_det_Info> get_detalle(List <in_transferencia_det_Info> listDetalle, int IdSucursal, int IdBodega, string Signo, DateTime fecha) { try { List <in_Ing_Egr_Inven_det_Info> list_IngEgrDet = new List <in_Ing_Egr_Inven_det_Info>(); foreach (var item in listDetalle) { double costo = bus_costo.get_ultimo_costo(item.IdEmpresa, item.IdSucursalOrigen, item.IdBodegaOrigen, item.IdProducto, fecha); in_Ing_Egr_Inven_det_Info info = new in_Ing_Egr_Inven_det_Info(); info.IdEmpresa = item.IdEmpresa; info.IdSucursal = IdSucursal; info.IdNumMovi = 0; info.Secuencia = item.dt_secuencia; info.IdBodega = IdBodega; info.IdProducto = item.IdProducto; info.dm_cantidad = item.dt_cantidad; info.dm_observacion = item.tr_Observacion; info.mv_costo = costo; info.mv_costo_sinConversion = costo; info.dm_cantidad_sinConversion = item.dt_cantidad; info.dm_cantidad = item.dt_cantidad; info.IdUnidadMedida = item.IdUnidadMedida; info.IdUnidadMedida_sinConversion = item.IdUnidadMedida; info.IdCentroCosto = item.IdCentroCosto; info.IdCentroCosto_sub_centro_costo = item.IdCentroCosto_sub_centro_costo; info.IdPunto_cargo = item.IdPunto_cargo; info.IdPunto_cargo_grupo = item.IdPunto_cargo_grupo; list_IngEgrDet.Add(info); } return(list_IngEgrDet); } catch (Exception ex) { throw; } }
private bool Get_Info() { try { int sec = 0; res = true; Asig_Imp_Info.IdAsignacion_Impl = txtIdAsignación.Text == "" ? 0 : Convert.ToDecimal(txtIdAsignación.Text); Asig_Imp_Info.IdEmpresa = param.IdEmpresa; Asig_Imp_Info.Fecha_Entrega = deFecha.EditValue == null ? DateTime.Now : (DateTime)deFecha.EditValue; Asig_Imp_Info.Estado = "A"; Asig_Imp_Info.Observacion = txtObservacion.Text; Asig_Imp_Info.Lst_ro_Asignacion_Implemento_x_Empleado_det = new List <ro_Asignacion_Implemento_x_Empleado_det_Info>(lista_detalle); Asig_Imp_Info.IdEmpleado = ucRo_Empleado1.get_IdEmpleado(); Asig_Imp_Info.IdNomina_Tipo = ucRo_Empleado1.get_EmpleadoInfo().IdNomina_Tipo; if (rbt_Egreso.Checked == true) { Asig_Imp_Info.Tipo_Movimiento = "-"; } else { Asig_Imp_Info.Tipo_Movimiento = "+"; } // movimiento de inventario Info_moviemiento_inventario.IdEmpresa = param.IdEmpresa; // Info_moviemiento_inventario.IdSucursal = paramatreo_info.IdSucursal; //Info_moviemiento_inventario.IdBodega = paramatreo_info.IdBodega; if (rbt_Egreso.Checked == true) { // Info_moviemiento_inventario.IdMovi_inven_tipo = paramatreo_info.IdTipo_mov_Egreso; Info_moviemiento_inventario.signo = "-"; } else { // Info_moviemiento_inventario.IdMovi_inven_tipo = paramatreo_info.IdTipo_mov_Egreso; Info_moviemiento_inventario.signo = "+"; } Info_moviemiento_inventario.cm_observacion = txtObservacion.Text; Info_moviemiento_inventario.cm_fecha = Convert.ToDateTime(deFecha.EditValue); Info_moviemiento_inventario.IdUsuario = param.IdUsuario; Info_moviemiento_inventario.Fecha_Transac = DateTime.Now; // movimiento de inventario Detalle foreach (var item in lista_detalle) { sec = sec + 1; in_Ing_Egr_Inven_det_Info info = new in_Ing_Egr_Inven_det_Info(); info.IdEmpresa = param.IdEmpresa; // info.IdSucursal = paramatreo_info.IdSucursal; if (rbt_Egreso.Checked == true) { // info.IdMovi_inven_tipo = paramatreo_info.IdTipo_mov_Egreso; Info_moviemiento_inventario.signo = "-"; } else { // info.IdMovi_inven_tipo = paramatreo_info.IdTipo_mov_Egreso; Info_moviemiento_inventario.signo = "+"; } info.Secuencia = sec; // info.IdBodega = paramatreo_info.IdBodega; info.IdProducto = item.IdProducto; info.dm_cantidad = item.Cantidad; info.dm_observacion = item.Detalle; info.mv_costo = item.Vida_Util; info.IdUnidadMedida = "UNID"; info.IdUnidadMedida_sinConversion = "UNID"; info.dm_cantidad_sinConversion = item.Cantidad; lista_detalle_movimiento.Add(info); } Info_moviemiento_inventario.listIng_Egr = lista_detalle_movimiento; Asig_Imp_Info.Movimiento_Inventario = Info_moviemiento_inventario; return(true); } catch (Exception ex) { Log_Error_bus.Log_Error(ex.ToString()); MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } }
private bool grabar_movimientos_x_distribucion() { try { info_param_in = bus_param_in.Get_Info_Parametro(param.IdEmpresa); lst_motivo_inve = bus_motivo_inve.Get_List_Motivo_Inven(param.IdEmpresa, ""); in_Ing_Egr_Inven_distribucion_Info distribucion_sin_lote = bus_distribucion.get_info(info_distribucion.IdEmpresa, info_distribucion.IdSucursal, info_distribucion.IdMovi_inven_tipo, info_distribucion.IdNumMovi, (info_distribucion.signo == "+" ? "-" : "+")); in_Ing_Egr_Inven_distribucion_Info distribucion_con_lote = bus_distribucion.get_info(info_distribucion.IdEmpresa, info_distribucion.IdSucursal, info_distribucion.IdMovi_inven_tipo, info_distribucion.IdNumMovi, info_distribucion.signo); in_Motivo_Inven_Info info_motivo = new in_Motivo_Inven_Info(); in_Ing_Egr_Inven_Bus bus_ing_egr = new in_Ing_Egr_Inven_Bus(); decimal Id = 0; string mensaje = ""; #region Crear movimiento sin lote in_Ing_Egr_Inven_Info mov_sin_lote = new in_Ing_Egr_Inven_Info(); #region Cabecera if (distribucion_sin_lote != null) { mov_sin_lote = bus_ing_egr.Get_Info_Ing_Egr_Inven(distribucion_sin_lote.IdEmpresa_dis, distribucion_sin_lote.IdSucursal_dis, distribucion_sin_lote.IdMovi_inven_tipo_dis, distribucion_sin_lote.IdNumMovi_dis); } else { info_motivo = lst_motivo_inve.FirstOrDefault(q => q.Genera_Movi_Inven == "S" && q.Tipo_Ing_Egr == (info_distribucion.signo == "+" ? ein_Tipo_Ing_Egr.EGR : ein_Tipo_Ing_Egr.ING)); if (info_motivo == null) { MessageBox.Show("No existe motivo de inventario parametrizado, por favor corregir", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return(false); } mov_sin_lote = new in_Ing_Egr_Inven_Info { IdEmpresa = param.IdEmpresa, IdSucursal = info_distribucion.IdSucursal, IdMovi_inven_tipo = info_distribucion.signo == "+" ? Convert.ToInt32(info_param_in.IdMovi_inven_tipo_x_distribucion_egr) : Convert.ToInt32(info_param_in.IdMovi_inven_tipo_x_distribucion_ing), IdNumMovi = 0, IdBodega = info_distribucion.IdBodega, signo = (info_distribucion.signo == "+" ? "-" : "+"), CodMoviInven = "Dis_" + info_distribucion.IdEmpresa.ToString("00") + "_" + info_distribucion.IdSucursal.ToString("00") + "_" + info_distribucion.IdMovi_inven_tipo.ToString("00") + "_" + info_distribucion.IdNumMovi.ToString("000000000"), cm_observacion = "Dis. x lote - Sucursal: " + info_distribucion.Su_Descripcion.Trim() + " # Movi: " + info_distribucion.IdNumMovi.ToString("000000000"), cm_fecha = DateTime.Now.Date, IdUsuario = param.IdUsuario, Estado = "A", Fecha_Transac = DateTime.Now, nom_pc = param.nom_pc, ip = param.ip, IdMotivo_Inv = info_motivo.IdMotivo_Inv }; } #endregion #region Detalle foreach (var item in blst_x_distribuir) { if (item.can_distribuida > 0) { in_Ing_Egr_Inven_det_Info info_det = new in_Ing_Egr_Inven_det_Info { IdEmpresa = mov_sin_lote.IdEmpresa, IdSucursal = mov_sin_lote.IdSucursal, IdMovi_inven_tipo = mov_sin_lote.IdMovi_inven_tipo, IdNumMovi = mov_sin_lote.IdNumMovi, IdBodega = mov_sin_lote.IdBodega, IdProducto = item.IdProducto, dm_observacion = "", dm_cantidad = item.can_distribuida == null ? 0 : Convert.ToDouble(item.can_distribuida) * (info_distribucion.signo == "+" ? -1 : 1), dm_cantidad_sinConversion = item.can_distribuida == null ? 0 : Convert.ToDouble(item.can_distribuida), mv_costo = item.mv_costo, mv_costo_sinConversion = item.mv_costo, IdUnidadMedida = item.IdUnidadMedida, IdUnidadMedida_sinConversion = item.IdUnidadMedida, }; mov_sin_lote.listIng_Egr.Add(info_det); } } #endregion #endregion #region Crear movimiento con lote in_Ing_Egr_Inven_Info mov_con_lote = new in_Ing_Egr_Inven_Info(); #region Cabecera if (distribucion_con_lote != null) { mov_con_lote = bus_ing_egr.Get_Info_Ing_Egr_Inven(distribucion_con_lote.IdEmpresa_dis, distribucion_con_lote.IdSucursal_dis, distribucion_con_lote.IdMovi_inven_tipo_dis, distribucion_con_lote.IdNumMovi_dis); } else { info_motivo = lst_motivo_inve.FirstOrDefault(q => q.Genera_Movi_Inven == "S" && q.Tipo_Ing_Egr == (info_distribucion.signo == "+" ? ein_Tipo_Ing_Egr.ING : ein_Tipo_Ing_Egr.EGR)); if (info_motivo == null) { MessageBox.Show("No existe motivo de inventario parametrizado, por favor corregir", param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Exclamation); return(false); } mov_con_lote = new in_Ing_Egr_Inven_Info { IdEmpresa = param.IdEmpresa, IdSucursal = info_distribucion.IdSucursal, IdMovi_inven_tipo = info_distribucion.signo == "+" ? Convert.ToInt32(info_param_in.IdMovi_inven_tipo_x_distribucion_ing) : Convert.ToInt32(info_param_in.IdMovi_inven_tipo_x_distribucion_egr), IdNumMovi = 0, IdBodega = info_distribucion.IdBodega, signo = info_distribucion.signo, CodMoviInven = "Dis_" + info_distribucion.IdEmpresa.ToString("00") + "_" + info_distribucion.IdSucursal.ToString("00") + "_" + info_distribucion.IdMovi_inven_tipo.ToString("00") + "_" + info_distribucion.IdNumMovi.ToString("000000000"), cm_observacion = "Dis. x lote - Sucursal: " + info_distribucion.Su_Descripcion.Trim() + " # Movi: " + info_distribucion.IdNumMovi.ToString("000000000"), cm_fecha = DateTime.Now.Date, IdUsuario = param.IdUsuario, Estado = "A", Fecha_Transac = DateTime.Now, nom_pc = param.nom_pc, ip = param.ip, IdMotivo_Inv = info_motivo.IdMotivo_Inv }; } #endregion #region Detalle foreach (var item in blst_distribuido) { in_Ing_Egr_Inven_det_Info info_det = new in_Ing_Egr_Inven_det_Info { IdEmpresa = mov_sin_lote.IdEmpresa, IdSucursal = mov_sin_lote.IdSucursal, IdMovi_inven_tipo = mov_sin_lote.IdMovi_inven_tipo, IdNumMovi = mov_sin_lote.IdNumMovi, IdBodega = mov_sin_lote.IdBodega, IdProducto = item.IdProducto, dm_observacion = "", dm_cantidad = item.dm_cantidad == null ? 0 : Convert.ToDouble(item.dm_cantidad) * (info_distribucion.signo == "+" ? 1 : -1), dm_cantidad_sinConversion = item.dm_cantidad == null ? 0 : Convert.ToDouble(item.dm_cantidad), mv_costo = item.mv_costo, mv_costo_sinConversion = item.mv_costo, IdUnidadMedida = item.IdUnidadMedida, IdUnidadMedida_sinConversion = item.IdUnidadMedida, }; mov_con_lote.listIng_Egr.Add(info_det); } #endregion #endregion #region guardar movimientos y distribucion if (distribucion_sin_lote == null) { if (!bus_ing_egr.GuardarDB(mov_sin_lote, ref Id, ref mensaje)) { return(false); } distribucion_sin_lote = new in_Ing_Egr_Inven_distribucion_Info { IdEmpresa = info_distribucion.IdEmpresa, IdSucursal = info_distribucion.IdSucursal, IdMovi_inven_tipo = info_distribucion.IdMovi_inven_tipo, IdNumMovi = info_distribucion.IdNumMovi, IdEmpresa_dis = mov_sin_lote.IdEmpresa, IdSucursal_dis = mov_sin_lote.IdSucursal, IdMovi_inven_tipo_dis = mov_sin_lote.IdMovi_inven_tipo, IdNumMovi_dis = mov_sin_lote.IdNumMovi, signo = mov_sin_lote.signo, estado = true, }; if (!bus_distribucion.guardarDB(distribucion_sin_lote)) { return(false); } } else { if (!bus_ing_egr.Reversar_Aprobacion(distribucion_sin_lote.IdEmpresa_dis, distribucion_sin_lote.IdSucursal_dis, distribucion_sin_lote.IdMovi_inven_tipo_dis, distribucion_sin_lote.IdNumMovi_dis, "S")) { return(false); } if (!bus_ing_egr.ModificarDB(mov_sin_lote, ref mensaje)) { return(false); } } if (distribucion_con_lote == null) { if (!bus_ing_egr.GuardarDB(mov_con_lote, ref Id, ref mensaje)) { return(false); } distribucion_con_lote = new in_Ing_Egr_Inven_distribucion_Info { IdEmpresa = info_distribucion.IdEmpresa, IdSucursal = info_distribucion.IdSucursal, IdMovi_inven_tipo = info_distribucion.IdMovi_inven_tipo, IdNumMovi = info_distribucion.IdNumMovi, IdEmpresa_dis = mov_con_lote.IdEmpresa, IdSucursal_dis = mov_con_lote.IdSucursal, IdMovi_inven_tipo_dis = mov_con_lote.IdMovi_inven_tipo, IdNumMovi_dis = mov_con_lote.IdNumMovi, signo = mov_con_lote.signo, estado = true, }; if (!bus_distribucion.guardarDB(distribucion_con_lote)) { return(false); } } else { if (!bus_ing_egr.Reversar_Aprobacion(distribucion_con_lote.IdEmpresa_dis, distribucion_con_lote.IdSucursal_dis, distribucion_con_lote.IdMovi_inven_tipo_dis, distribucion_con_lote.IdNumMovi_dis, "S")) { return(false); } if (!bus_ing_egr.ModificarDB(mov_con_lote, ref mensaje)) { return(false); } } #endregion return(true); } catch (Exception ex) { Log_Error_bus.Log_Error(ex.ToString()); MessageBox.Show(ex.ToString(), param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } }
private bool Generar_info_ing_egr(in_ajusteFisico_Info info_ajuste, ref decimal IdNumMovi_ing, ref decimal IdNumMovi_egr) { try { in_Ing_Egr_Inven_Info info_ing_egr = new in_Ing_Egr_Inven_Info(); bool HayIngresos = false; bool HayEgresos = false; var TIngreso = (from q in info_ajuste.list_det_AjusteFisico where q.CantidadAjustada > 0 select q).Count(); var TEgresos = (from q in info_ajuste.list_det_AjusteFisico where q.CantidadAjustada < 0 select q).Count(); HayIngresos = (Convert.ToDouble(TIngreso) > 0) ? true : false; #region HayIngreso if (HayIngresos == true) { info_ing_egr = new in_Ing_Egr_Inven_Info(); info_ing_egr.IdEmpresa = info_ajuste.IdEmpresa; info_ing_egr.IdSucursal = info_ajuste.IdSucursal; info_ing_egr.IdBodega = info_ajuste.IdBodega; info_ing_egr.IdMovi_inven_tipo = info_ajuste.IdMovi_inven_tipo_Ing; info_ing_egr.signo = "+"; info_ing_egr.cm_observacion = info_ajuste.Observacion; info_ing_egr.IdUsuario = info_ajuste.IdUsuario; info_ing_egr.nom_pc = info_ajuste.nom_pc; info_ing_egr.ip = info_ajuste.ip; info_ing_egr.Estado = "A"; info_ing_egr.cm_fecha = info_ajuste.Fecha; info_ing_egr.CodMoviInven = "AJU"; info_ing_egr.IdMotivo_Inv = 1; /// obteniendo el detalle del movimiento de invetario var SelectDetMoviIng = from q in info_ajuste.list_det_AjusteFisico where q.CantidadAjustada > 0 select q; int c = 1; foreach (var item in SelectDetMoviIng) { info_costo_historico = bus_costo_historico.get_UltimoCosto_x_Producto_Bodega(info_ajuste.IdEmpresa, info_ajuste.IdSucursal, info_ajuste.IdBodega, item.IdProducto, info_ing_egr.cm_fecha); in_Ing_Egr_Inven_det_Info detMovInfo = new in_Ing_Egr_Inven_det_Info(); //detMovInfo.dm_peso = item.p; detMovInfo.dm_cantidad = Convert.ToDouble(item.CantidadAjustada); detMovInfo.dm_cantidad_sinConversion = Convert.ToDouble(item.CantidadAjustada); detMovInfo.IdProducto = item.IdProducto; detMovInfo.Secuencia = c; detMovInfo.IdEmpresa = info_ajuste.IdEmpresa; detMovInfo.IdBodega = info_ing_egr.IdBodega; detMovInfo.IdSucursal = info_ing_egr.IdSucursal; detMovInfo.IdMovi_inven_tipo = info_ing_egr.IdMovi_inven_tipo; detMovInfo.IdNumMovi = 0;//Nuevo detMovInfo.signo = info_ing_egr.signo; detMovInfo.dm_observacion = info_ajuste.Observacion; //Costo historico detMovInfo.mv_costo = info_costo_historico.costo; detMovInfo.mv_costo_sinConversion = info_costo_historico.costo; detMovInfo.IdCentroCosto = item.IdCentroCosto; info_ing_egr.listIng_Egr.Add(detMovInfo); c++; } bus_ing_egr.GuardarDB(info_ing_egr, ref IdNumMovi_ing, ref mensaje); } #endregion #region HayEgreso HayEgresos = (Convert.ToDouble(TEgresos) > 0) ? true : false; if (HayEgresos == true) { info_ing_egr = new in_Ing_Egr_Inven_Info(); info_ing_egr.IdEmpresa = info_ajuste.IdEmpresa; info_ing_egr.IdSucursal = info_ajuste.IdSucursal; info_ing_egr.IdBodega = info_ajuste.IdBodega; info_ing_egr.IdMovi_inven_tipo = info_ajuste.IdMovi_inven_tipo_Egr; info_ing_egr.signo = "-"; info_ing_egr.cm_observacion = info_ajuste.Observacion; info_ing_egr.IdUsuario = info_ajuste.IdUsuario; info_ing_egr.nom_pc = info_ajuste.nom_pc; info_ing_egr.ip = info_ajuste.ip; info_ing_egr.Estado = "A"; info_ing_egr.cm_fecha = info_ajuste.Fecha; info_ing_egr.CodMoviInven = "AJU"; info_ing_egr.IdMotivo_Inv = 1; /// encontrando el detalle de inventario /// var SelectDetMoviEgre = from q in info_ajuste.list_det_AjusteFisico where q.CantidadAjustada < 0 select q; int c = 1; foreach (var item in SelectDetMoviEgre) { info_costo_historico = bus_costo_historico.get_UltimoCosto_x_Producto_Bodega(info_ajuste.IdEmpresa, info_ajuste.IdSucursal, info_ajuste.IdBodega, item.IdProducto, info_ing_egr.cm_fecha); in_Ing_Egr_Inven_det_Info detMovInfo = new in_Ing_Egr_Inven_det_Info(); detMovInfo.IdEmpresa = info_ing_egr.IdEmpresa; detMovInfo.IdBodega = info_ing_egr.IdBodega; detMovInfo.IdSucursal = info_ing_egr.IdSucursal; detMovInfo.IdMovi_inven_tipo = info_ing_egr.IdMovi_inven_tipo; detMovInfo.IdNumMovi = 0;//Nuevo //detMovInfo.peso = item.pr_peso; detMovInfo.Secuencia = c; c++; detMovInfo.signo = info_ing_egr.signo; detMovInfo.IdProducto = item.IdProducto; detMovInfo.dm_cantidad = Convert.ToDouble(item.CantidadAjustada) * -1; detMovInfo.dm_cantidad_sinConversion = Convert.ToDouble(item.CantidadAjustada) * -1; detMovInfo.dm_observacion = info_ing_egr.cm_observacion; //Costo historico detMovInfo.mv_costo = info_costo_historico.costo; detMovInfo.mv_costo_sinConversion = info_costo_historico.costo; detMovInfo.IdCentroCosto = item.IdCentroCosto; info_ing_egr.listIng_Egr.Add(detMovInfo); } bus_ing_egr.GuardarDB(info_ing_egr, ref IdNumMovi_egr, ref mensaje); } #endregion return(true); } catch (Exception ex) { Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message); throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "Armar_info_ing_egr", ex.Message), ex) { EntityType = typeof(in_AjusteFisico_Bus) }; } }
public Boolean procesoGenerarMoviInve(in_Ing_Egr_Inven_Info info, decimal IdNumMovi, ref string mensajeError) { try { Boolean res = true; string IdEstadoAproba_Param = ""; string IdEstadoAproba = ""; in_Parametro_Bus busParam = new in_Parametro_Bus(); in_Parametro_Info infoParam = new in_Parametro_Info(); infoParam = busParam.Get_Info_Parametro(info.IdEmpresa); if (info.signo == "+") { IdEstadoAproba_Param = infoParam.IdEstadoAproba_x_Ing; } else { IdEstadoAproba_Param = infoParam.IdEstadoAproba_x_Egr; } //Recosteo ProcesoRecosteoInventario(info); var query = from bod in info.listIng_Egr group bod by bod.IdBodega into grupoBodega orderby grupoBodega.Key select grupoBodega; if (query.Count() > 1) { // Varias bodegas foreach (var grupoBodega in query) { // Detalle List <in_Ing_Egr_Inven_det_Info> list_IngEgrDet = new List <in_Ing_Egr_Inven_det_Info>(); foreach (var bod in grupoBodega) { in_Ing_Egr_Inven_det_Info infoDet = new in_Ing_Egr_Inven_det_Info(); //prueba infoDet.IdEmpresa = bod.IdEmpresa; infoDet.IdSucursal = bod.IdSucursal; infoDet.IdNumMovi = bod.IdNumMovi; infoDet.Secuencia = bod.Secuencia; //prueba infoDet.IdBodega = bod.IdBodega; infoDet.IdProducto = bod.IdProducto; infoDet.dm_cantidad = bod.dm_cantidad; infoDet.dm_observacion = bod.dm_observacion; infoDet.mv_costo = bod.mv_costo; infoDet.IdCentroCosto = bod.IdCentroCosto; infoDet.IdCentroCosto_sub_centro_costo = bod.IdCentroCosto_sub_centro_costo; infoDet.pr_descripcion = bod.pr_descripcion; infoDet.IdPunto_cargo = bod.IdPunto_cargo; infoDet.IdUnidadMedida = bod.IdUnidadMedida; infoDet.IdPunto_cargo_grupo = bod.IdPunto_cargo_grupo; infoDet.IdMotivo_Inv = bod.IdMotivo_Inv; if (bod.IdEstadoAproba == null) { infoDet.IdEstadoAproba = Get_EstadoApro(bod.IdEmpresa, bod.IdSucursal, Convert.ToInt32(bod.IdBodega), IdEstadoAproba_Param); } else { infoDet.IdEstadoAproba = bod.IdEstadoAproba; } if (infoDet.IdEstadoAproba == Cl_Enumeradores.eEstadoAprobacion_Ing_Egr.PEND.ToString()) { infoDet.Motivo_Aprobacion = null; } else { infoDet.Motivo_Aprobacion = (bod.Motivo_Aprobacion == null) ? "APROBADO POR SISTEMAS" : bod.Motivo_Aprobacion; } infoDet.IdUnidadMedida_sinConversion = bod.IdUnidadMedida_sinConversion; infoDet.mv_costo_sinConversion = bod.mv_costo_sinConversion; infoDet.dm_cantidad_sinConversion = bod.dm_cantidad_sinConversion; list_IngEgrDet.Add(infoDet); } //cabecera in_Ing_Egr_Inven_Info info_IngEgr = new in_Ing_Egr_Inven_Info(); info_IngEgr.IdEmpresa = info.IdEmpresa; info_IngEgr.IdNumMovi = info.IdNumMovi; info_IngEgr.IdSucursal = info.IdSucursal; info_IngEgr.IdBodega = info.IdBodega; info_IngEgr.CodMoviInven = info.CodMoviInven; info_IngEgr.cm_observacion = info.cm_observacion; info_IngEgr.IdMovi_inven_tipo = info.IdMovi_inven_tipo; info_IngEgr.cm_fecha = info.cm_fecha; info_IngEgr.IdUsuario = info.IdUsuario; info_IngEgr.nom_pc = info.nom_pc; info_IngEgr.ip = info.ip; info_IngEgr.Fecha_Transac = info.Fecha_Transac; info_IngEgr.signo = info.signo; info_IngEgr.IdMotivo_Inv = info.IdMotivo_Inv; info_IngEgr.listIng_Egr = list_IngEgrDet;//asignando el detalle res = Genera_Inventario(info_IngEgr, ref IdNumMovi, ref mensaje); } } else { IdEstadoAproba = Get_EstadoApro(Convert.ToInt32(info.IdEmpresa), Convert.ToInt32(info.IdSucursal), Convert.ToInt32(info.IdBodega), IdEstadoAproba_Param); foreach (var item in info.listIng_Egr) { if (item.IdEstadoAproba == null) { item.IdEstadoAproba = IdEstadoAproba; } if (item.IdEstadoAproba == Cl_Enumeradores.eEstadoAprobacion_Ing_Egr.PEND.ToString()) { item.Motivo_Aprobacion = null; } else { item.Motivo_Aprobacion = (item.Motivo_Aprobacion == null) ? "APROBADO POR SISTEMAS" : item.Motivo_Aprobacion; } } //una bodega res = Genera_Inventario(info, ref IdNumMovi, ref mensaje); } return(res); } catch (Exception ex) { Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message); throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "procesoGenerarMoviInve", ex.Message), ex) { EntityType = typeof(in_Ing_Egr_Inven_Bus) }; } }
private void gridViewProductos_CellValueChanged(object sender, DevExpress.XtraGrid.Views.Base.CellValueChangedEventArgs e) { try { InfoDet = new in_Ing_Egr_Inven_det_Info(); InfoDet = (in_Ing_Egr_Inven_det_Info)this.gridViewProductos.GetFocusedRow(); if (InfoDet == null) { return; } if (e.Column.Name == "colIdProducto") { var itemProd = listProducto.FirstOrDefault(p => p.IdProducto == InfoDet.IdProducto); InfoDet.cod_producto = itemProd.pr_codigo; InfoDet.mv_costo = 0; InfoDet.mv_costo_sinConversion = 0; InfoDet.pr_descripcion = itemProd.pr_descripcion; InfoDet.IdUnidadMedida = itemProd.IdUnidadMedida_Consumo; InfoDet.IdUnidadMedida_sinConversion = itemProd.IdUnidadMedida_Consumo; } if (e.Column == coldm_cantidad) { foreach (var item in ListaBind) { if (item.dm_cantidad_sinConversion < 0) { item.dm_cantidad_sinConversion = 0; } } } if (e.Column == colIdCentroCosto) { gridViewProductos.SetRowCellValue(RowHandle, colIdRegistro_subcentro, null); gridViewProductos.SetRowCellValue(RowHandle, colIdCentroCosto_sub_centro_costo, null); } if (e.Column == col_cod_subcentro) { if (InfoDet.IdCentroCosto != "" && InfoDet.IdCentroCosto != null) { string IdRegistro = InfoDet.IdCentroCosto; IdRegistro = IdRegistro + "-" + Convert.ToString(e.Value); info_subcentro = list_subcentro_combo.FirstOrDefault(q => q.IdCentroCosto == InfoDet.IdCentroCosto && q.IdCentroCosto_sub_centro_costo == InfoDet.IdCentroCosto_sub_centro_costo); if (info_subcentro != null) { gridViewProductos.SetRowCellValue(e.RowHandle, colIdRegistro_subcentro, info_subcentro.IdRegistro); gridViewProductos.SetRowCellValue(RowHandle, colIdCentroCosto_sub_centro_costo, info_subcentro.IdCentroCosto_sub_centro_costo); } else { gridViewProductos.SetRowCellValue(RowHandle, colIdRegistro_subcentro, null); //gridViewProductos.SetRowCellValue(RowHandle, colIdCentroCosto_sub_centro_costo, null); } } } } catch (Exception ex) { Log_Error_bus = new tb_sis_Log_Error_Vzen_Bus(); Log_Error_bus.Log_Error(ex.ToString()); MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private bool grabar_movimientos_x_distribucion(in_Ing_Egr_Inven_distribucion_Info info_distribucion) { try { info_info_distribucion_in = bus_info_distribucion_in.get_info(info_distribucion.IdEmpresa, info_distribucion.IdSucursal, info_distribucion.IdMovi_inven_tipo, info_distribucion.IdNumMovi, (info_distribucion.signo == "+" ? "-" : "+")); lst_motivo_inve = data_motivo.get_list(info_distribucion.IdEmpresa, false); distribucion_sin_lote = oData.get_info(info_distribucion.IdEmpresa, info_distribucion.IdSucursal, info_distribucion.IdMovi_inven_tipo, info_distribucion.IdNumMovi, (info_distribucion.signo == "+" ? "-" : "+")); distribucion_con_lote = oData.get_info(info_distribucion.IdEmpresa, info_distribucion.IdSucursal, info_distribucion.IdMovi_inven_tipo, info_distribucion.IdNumMovi, info_distribucion.signo); #region Crear movimiento sin lote if (info_info_distribucion_in == null) { info_info_distribucion_in = info_distribucion; } #region Cabecera if (distribucion_sin_lote != null) { mov_sin_lote = bus_ing_egr.get_info(distribucion_sin_lote.IdEmpresa_dis, distribucion_sin_lote.IdSucursal_dis, distribucion_sin_lote.IdMovi_inven_tipo_dis, distribucion_sin_lote.IdNumMovi_dis); } else { info_motivo = lst_motivo_inve.FirstOrDefault(q => q.Genera_Movi_Inven == "S" && q.Tipo_Ing_Egr == (info_distribucion.signo == "+" ? "EGR" : "ING")); if (info_motivo == null) { return(false); } mov_sin_lote = new in_Ing_Egr_Inven_Info { IdEmpresa = info_distribucion.IdEmpresa, IdSucursal = info_distribucion.IdSucursal, IdMovi_inven_tipo = info_distribucion.signo == "+" ? Convert.ToInt32(info_info_distribucion_in.IdMovi_inven_tipo) : Convert.ToInt32(info_info_distribucion_in.IdMovi_inven_tipo), IdNumMovi = 0, IdBodega = info_distribucion.IdBodega, signo = (info_distribucion.signo == "+" ? "-" : "+"), CodMoviInven = "Dis_" + info_distribucion.IdEmpresa.ToString("00") + "_" + info_distribucion.IdSucursal.ToString("00") + "_" + info_distribucion.IdMovi_inven_tipo.ToString("00") + "_" + info_distribucion.IdNumMovi.ToString("000000000"), cm_observacion = "Dis. x lote ", cm_fecha = DateTime.Now.Date, IdUsuario = info_distribucion.IdUsuario, Estado = "A", Fecha_Transac = DateTime.Now, IdMotivo_Inv = info_motivo.IdMotivo_Inv }; } #endregion #region Detalle foreach (var item in info_distribucion.lst_x_distribuir) { if (item.can_distribuida > 0) { in_Ing_Egr_Inven_det_Info info_det = new in_Ing_Egr_Inven_det_Info { IdEmpresa = mov_sin_lote.IdEmpresa, IdSucursal = mov_sin_lote.IdSucursal, IdMovi_inven_tipo = mov_sin_lote.IdMovi_inven_tipo, IdNumMovi = mov_sin_lote.IdNumMovi, IdBodega = (int)mov_sin_lote.IdBodega, IdProducto = item.IdProducto, dm_observacion = "", dm_cantidad = item.can_distribuida == null ? 0 : Convert.ToDouble(item.can_distribuida) * (info_distribucion.signo == "+" ? -1 : 1), dm_cantidad_sinConversion = item.can_distribuida == null ? 0 : Convert.ToDouble(item.can_distribuida), mv_costo = item.mv_costo, mv_costo_sinConversion = item.mv_costo, IdUnidadMedida = item.IdUnidadMedida, IdUnidadMedida_sinConversion = item.IdUnidadMedida, }; mov_sin_lote.lst_in_Ing_Egr_Inven_det.Add(info_det); } } #endregion #endregion #region Crear movimiento con lote in_Ing_Egr_Inven_Info mov_con_lote = new in_Ing_Egr_Inven_Info(); #region Cabecera if (distribucion_con_lote != null) { mov_con_lote = bus_ing_egr.get_info(distribucion_con_lote.IdEmpresa_dis, distribucion_con_lote.IdSucursal_dis, distribucion_con_lote.IdMovi_inven_tipo_dis, distribucion_con_lote.IdNumMovi_dis); } else { info_motivo = lst_motivo_inve.FirstOrDefault(q => q.Genera_Movi_Inven == "S" && q.Tipo_Ing_Egr == (info_distribucion.signo == "+" ? "ING" : "EGR")); if (info_motivo == null) { return(false); } mov_con_lote = new in_Ing_Egr_Inven_Info { IdEmpresa = info_distribucion.IdEmpresa, IdSucursal = info_distribucion.IdSucursal, IdMovi_inven_tipo = info_distribucion.signo == "+" ? Convert.ToInt32(info_info_distribucion_in.IdMovi_inven_tipo) : Convert.ToInt32(info_info_distribucion_in.IdMovi_inven_tipo), IdNumMovi = 0, IdBodega = info_distribucion.IdBodega, signo = info_distribucion.signo, CodMoviInven = "Dis_" + info_distribucion.IdEmpresa.ToString("00") + "_" + info_distribucion.IdSucursal.ToString("00") + "_" + info_distribucion.IdMovi_inven_tipo.ToString("00") + "_" + info_distribucion.IdNumMovi.ToString("000000000"), cm_observacion = "Dis. x lote - Sucursal: ", cm_fecha = DateTime.Now.Date, IdUsuario = info_distribucion.IdUsuario, Estado = "A", Fecha_Transac = DateTime.Now, nom_pc = "", ip = "", IdMotivo_Inv = info_motivo.IdMotivo_Inv }; } #endregion #region Detalle foreach (var item in info_distribucion.lst_distribuido) { in_Ing_Egr_Inven_det_Info info_det = new in_Ing_Egr_Inven_det_Info { IdEmpresa = mov_sin_lote.IdEmpresa, IdSucursal = mov_sin_lote.IdSucursal, IdMovi_inven_tipo = mov_sin_lote.IdMovi_inven_tipo, IdNumMovi = mov_sin_lote.IdNumMovi, IdBodega = (int)info_distribucion.IdBodega, IdProducto = item.IdProducto, dm_observacion = "", dm_cantidad = item.dm_cantidad * (info_distribucion.signo == "+" ? 1 : -1), dm_cantidad_sinConversion = item.dm_cantidad, mv_costo = item.mv_costo, mv_costo_sinConversion = item.mv_costo, IdUnidadMedida = item.IdUnidadMedida, IdUnidadMedida_sinConversion = item.IdUnidadMedida, }; mov_con_lote.lst_in_Ing_Egr_Inven_det.Add(info_det); } #endregion #endregion #region guardar movimientos y distribucion if (distribucion_sin_lote == null) { if (!bus_ing_egr.guardarDB(mov_sin_lote, "")) { return(false); } distribucion_sin_lote = new in_Ing_Egr_Inven_distribucion_Info { IdEmpresa = info_distribucion.IdEmpresa, IdSucursal = info_distribucion.IdSucursal, IdMovi_inven_tipo = info_distribucion.IdMovi_inven_tipo, IdNumMovi = info_distribucion.IdNumMovi, IdEmpresa_dis = mov_sin_lote.IdEmpresa, IdSucursal_dis = mov_sin_lote.IdSucursal, IdMovi_inven_tipo_dis = mov_sin_lote.IdMovi_inven_tipo, IdNumMovi_dis = mov_sin_lote.IdNumMovi, signo = mov_sin_lote.signo, estado = true, }; if (!oData.guardarDB(distribucion_sin_lote)) { return(false); } } else { /* if (!bus_ing_egr.Reversar_Aprobacion(distribucion_sin_lote.IdEmpresa_dis, distribucion_sin_lote.IdSucursal_dis, distribucion_sin_lote.IdMovi_inven_tipo_dis, distribucion_sin_lote.IdNumMovi_dis, "S")) * return false; */ if (!bus_ing_egr.modificarDB(mov_sin_lote)) { return(false); } } if (distribucion_con_lote == null) { if (!bus_ing_egr.guardarDB(mov_con_lote, mov_con_lote.signo)) { return(false); } distribucion_con_lote = new in_Ing_Egr_Inven_distribucion_Info { IdEmpresa = info_distribucion.IdEmpresa, IdSucursal = info_distribucion.IdSucursal, IdMovi_inven_tipo = info_distribucion.IdMovi_inven_tipo, IdNumMovi = info_distribucion.IdNumMovi, IdEmpresa_dis = mov_con_lote.IdEmpresa, IdSucursal_dis = mov_con_lote.IdSucursal, IdMovi_inven_tipo_dis = mov_con_lote.IdMovi_inven_tipo, IdNumMovi_dis = mov_con_lote.IdNumMovi, signo = mov_con_lote.signo, estado = true, }; if (!oData.guardarDB(distribucion_con_lote)) { return(false); } } else { /* * if (!bus_ing_egr.Reversar_Aprobacion(distribucion_con_lote.IdEmpresa_dis, distribucion_con_lote.IdSucursal_dis, distribucion_con_lote.IdMovi_inven_tipo_dis, distribucion_con_lote.IdNumMovi_dis, "S")) * return false; */ if (!bus_ing_egr.modificarDB(mov_con_lote)) { return(false); } } #endregion return(true); } catch (Exception) { return(false); } }
public Boolean Actualizar_Estados() { try { ucIn_Sucursal_Bodega1.Focus(); list_validar = new List <vwin_Ing_Egr_Inven_det_Info>(ListaBind.Where(q => q.Checked == true).ToList()); Buscar(); foreach (var item in list_validar) { Info_validar = ListaBind.FirstOrDefault(q => q.IdEmpresa == item.IdEmpresa && q.IdSucursal == item.IdSucursal && q.IdMovi_inven_tipo == item.IdMovi_inven_tipo && q.IdNumMovi == item.IdNumMovi && q.secuencia == item.secuencia); if (Info_validar != null) { ListaBind.FirstOrDefault(q => q.IdEmpresa == item.IdEmpresa && q.IdSucursal == item.IdSucursal && q.IdMovi_inven_tipo == item.IdMovi_inven_tipo && q.IdNumMovi == item.IdNumMovi && q.secuencia == item.secuencia).Checked = true; ListaBind.FirstOrDefault(q => q.IdEmpresa == item.IdEmpresa && q.IdSucursal == item.IdSucursal && q.IdMovi_inven_tipo == item.IdMovi_inven_tipo && q.IdNumMovi == item.IdNumMovi && q.secuencia == item.secuencia).IdEstadoAproba = "APRO"; } } gridControlCons.DataSource = ListaBind; List <in_Ing_Egr_Inven_det_Info> lista = new List <in_Ing_Egr_Inven_det_Info>(); foreach (var item in ListaBind) { in_Ing_Egr_Inven_det_Info info = new in_Ing_Egr_Inven_det_Info(); if (item.Checked == true) { //PK info.IdEmpresa = item.IdEmpresa; info.IdSucursal = item.IdSucursal; info.IdMovi_inven_tipo = item.IdMovi_inven_tipo; info.IdNumMovi = item.IdNumMovi; info.Secuencia = item.secuencia; info.IdBodega = item.IdBodega; info.IdProducto = item.IdProducto; info.dm_cantidad = item.dm_cantidad; info.dm_stock_ante = item.dm_stock_ante; info.dm_stock_actu = item.dm_stock_actu; info.dm_observacion = item.dm_observacion; info.dm_precio = item.dm_precio; info.mv_costo = item.mv_costo; info.dm_peso = item.dm_peso; info.IdCentroCosto = item.IdCentroCosto; info.IdCentroCosto_sub_centro_costo = item.IdCentroCosto_sub_centro_costo; info.IdPunto_cargo = item.IdPunto_cargo; info.IdUnidadMedida = item.IdUnidadMedida; info.IdEstadoAproba = item.IdEstadoAproba; info.Motivo_Aprobacion = item.Motivo_Aprobacion; info.IdMotivo_Inv = item.IdMotivo_Inv; info.IdUnidadMedida_sinConversion = item.IdUnidadMedida_sinConversion; info.dm_cantidad_sinConversion = item.dm_cantidad_sinConversion; info.mv_costo_sinConversion = item.mv_costo_sinConversion; lista.Add(info); } } var itemTipMov = cmbTipoMovInv.get_TipoMoviInvInfo(); if (itemTipMov != null) { tipo = itemTipMov.cm_tipo_movi; } string mensaje = ""; if (bus_IngEgrDet.Modificar_Estado_IngEgr_Det(lista, tipo, ref mensaje)) { MessageBox.Show(mensaje, param.Nombre_sistema, MessageBoxButtons.OK, MessageBoxIcon.Asterisk); } else { MessageBox.Show("Error al Actualizar Estados, " + mensaje, param.Nombre_sistema); return(false); } return(true); } catch (Exception ex) { Log_Error_bus.Log_Error(ex.ToString()); MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } }
private void Get_trans_checked() { try { cmbTipoMovInv.Focus(); list_aprobar = new List <in_Ing_Egr_Inven_det_Info>(); list_validar = new List <in_Ing_Egr_Inven_Info>(blist_ing_egr.Where(q => q.Checked == true).ToList()); //validación para el caso de que dos personas aprueben el mismo desde dos máquinas distintas. Buscar(); foreach (var item in list_validar) { Info_validar = blist_ing_egr.FirstOrDefault(q => q.IdEmpresa == item.IdEmpresa && q.IdSucursal == item.IdSucursal && q.IdMovi_inven_tipo == item.IdMovi_inven_tipo && q.IdNumMovi == item.IdNumMovi); if (Info_validar != null) { blist_ing_egr.FirstOrDefault(q => q.IdEmpresa == item.IdEmpresa && q.IdSucursal == item.IdSucursal && q.IdMovi_inven_tipo == item.IdMovi_inven_tipo && q.IdNumMovi == item.IdNumMovi).Checked = true; blist_ing_egr.FirstOrDefault(q => q.IdEmpresa == item.IdEmpresa && q.IdSucursal == item.IdSucursal && q.IdMovi_inven_tipo == item.IdMovi_inven_tipo && q.IdNumMovi == item.IdNumMovi).IdEstadoAproba = "APRO"; } } gridControlAprobación.DataSource = blist_ing_egr; foreach (var cabecera in blist_ing_egr) { if (cabecera.Checked == true) { List <in_Ing_Egr_Inven_det_Info> lista = new List <in_Ing_Egr_Inven_det_Info>(); lista = bus_ingr_egr_det.Get_List_Ing_Egr_Inven_det_x_Num_Movimiento(cabecera.IdEmpresa, cabecera.IdSucursal, cabecera.IdMovi_inven_tipo, cabecera.IdNumMovi); foreach (var item in lista) { in_Ing_Egr_Inven_det_Info info = new in_Ing_Egr_Inven_det_Info(); info.IdEmpresa = item.IdEmpresa; info.IdSucursal = item.IdSucursal; info.IdNumMovi = item.IdNumMovi; info.Secuencia = item.Secuencia; info.IdBodega = item.IdBodega; info.IdProducto = item.IdProducto; info.IdMovi_inven_tipo = item.IdMovi_inven_tipo; info.dm_cantidad = item.dm_cantidad; info.dm_observacion = item.dm_observacion; info.mv_costo = item.mv_costo; info.IdCentroCosto = item.IdCentroCosto; info.IdCentroCosto_sub_centro_costo = item.IdCentroCosto_sub_centro_costo; info.IdPunto_cargo = item.IdPunto_cargo; info.IdUnidadMedida = item.IdUnidadMedida; info.IdEstadoAproba = Cl_Enumeradores.eEstadoAprobacion_Ing_Egr.APRO.ToString(); info.Motivo_Aprobacion = "APROBADO POR SISTEMAS"; info.IdMotivo_Inv = item.IdMotivo_Inv; info.IdUnidadMedida_sinConversion = item.IdUnidadMedida_sinConversion; info.dm_cantidad_sinConversion = item.dm_cantidad_sinConversion; info.Checked = true; info.do_subtotal = item.mv_costo * item.dm_cantidad; list_aprobar.Add(info); } } } } catch (Exception ex) { Log_Error_bus.Log_Error(ex.ToString()); MessageBox.Show(ex.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public Boolean GuardarDB(in_devolucion_inven_Info info, ref decimal IdDev_Inven, ref string mensaje) { Boolean Respuesta = false; try { int c = 0; Respuesta = oDat.GuardarDB(info, ref IdDev_Inven, ref mensaje); if (Respuesta) { c = 0; foreach (var item in info.lista_detalle) { item.IdDev_Inven = IdDev_Inven; c++; item.secuencia = c; } in_devolucion_inven_det_Bus BusDev_inv_det = new in_devolucion_inven_det_Bus(); Respuesta = BusDev_inv_det.GuardarDB(info.lista_detalle, ref mensaje); in_Parametro_Bus BusParametro = new in_Parametro_Bus(); in_Parametro_Info InfoParametro = new in_Parametro_Info(); InfoParametro = BusParametro.Get_Info_Parametro(info.IdEmpresa); in_movi_inven_tipo_Info InfoMovi_tipo = new in_movi_inven_tipo_Info(); in_movi_inven_tipo_Bus BusMovi_tipo = new in_movi_inven_tipo_Bus(); InfoMovi_tipo = BusMovi_tipo.Get_Info_movi_inven_tipo(info.IdEmpresa, info.IdMovi_inven_tipo); // in_movi_inve_Bus BusMovi_Inven = new in_movi_inve_Bus(); // in_movi_inve_Info InfoMovi_Inven = new in_movi_inve_Info(); //InfoMovi_Inven = BusMovi_Inven.Get_Info_Movi_inven(info.IdEmpresa, info.IdSucursal_movi_inven, info.IdBodega_movi_inven, info.IdMovi_inven_tipo, info.IdNumMovi); in_Ing_Egr_Inven_Bus Bus_Ing_Egre = new in_Ing_Egr_Inven_Bus(); in_Ing_Egr_Inven_Info Info_Ing_Egr = new in_Ing_Egr_Inven_Info(); Info_Ing_Egr = Bus_Ing_Egre.Get_Info_Ing_Egr_Inven(info.IdEmpresa, info.IdSucursal_movi_inven, info.IdMovi_inven_tipo, info.IdNumMovi); Info_Ing_Egr.IdNumMovi = 0; Info_Ing_Egr.IdMotivo_Inv = 1; if (InfoMovi_tipo.cm_tipo_movi == "-")// si es positivo hacer un egreso { Info_Ing_Egr.IdMovi_inven_tipo = Convert.ToInt32(InfoParametro.IdMovi_Inven_tipo_x_Dev_Inv_x_Erg); Info_Ing_Egr.signo = "+"; } else { Info_Ing_Egr.IdMovi_inven_tipo = Convert.ToInt32(InfoParametro.IdMovi_Inven_tipo_x_Dev_Inv_x_Ing); Info_Ing_Egr.signo = "-"; } Info_Ing_Egr.CodMoviInven = ""; Info_Ing_Egr.cm_observacion = "Ing x Dev/Inv. " + info.observacion; Info_Ing_Egr.cm_fecha = info.Fecha.Date;//La fecha de devolución Info_Ing_Egr.IdUsuario = param.IdUsuario; Info_Ing_Egr.Estado = "A"; c = 0; foreach (var item in info.lista_detalle) { c = c + 1; in_movi_inve_detalle_Info info_det_movi = new in_movi_inve_detalle_Info(); in_movi_inve_detalle_Bus bus_det_movi = new in_movi_inve_detalle_Bus(); info_det_movi = bus_det_movi.Get_info_Movi_inven_det(item.IdEmpresa_movi_inv, item.IdSucursal_movi_inv, item.IdBodega_movi_inv, item.IdMovi_inven_tipo_movi_inv, item.IdNumMovi_movi_inv, item.Secuencia_movi_inv); in_Ing_Egr_Inven_det_Info InfoDet_Ing_Egr = new in_Ing_Egr_Inven_det_Info(); InfoDet_Ing_Egr.IdEmpresa = item.IdEmpresa; InfoDet_Ing_Egr.IdSucursal = item.IdSucursal_movi_inv; InfoDet_Ing_Egr.IdNumMovi = 0; InfoDet_Ing_Egr.Secuencia = c; InfoDet_Ing_Egr.IdBodega = item.IdBodega_movi_inv; InfoDet_Ing_Egr.IdProducto = info_det_movi.IdProducto; if (Info_Ing_Egr.signo == "+")// si es positivo hacer un egreso { InfoDet_Ing_Egr.dm_cantidad_sinConversion = Math.Abs(item.cantidad_a_devolver); InfoDet_Ing_Egr.dm_cantidad = Math.Abs(item.cantidad_a_devolver); InfoDet_Ing_Egr.IdEstadoAproba = "APRO";//Debe ir directamente aprobado para poder vincularlo al ing/egr que se va a devolver por cuestiones del recosteo } else { InfoDet_Ing_Egr.dm_cantidad_sinConversion = Math.Abs(item.cantidad_a_devolver); InfoDet_Ing_Egr.dm_cantidad = Math.Abs(item.cantidad_a_devolver) * -1; InfoDet_Ing_Egr.IdEstadoAproba = "APRO";//Debe ir directamente aprobado para poder vincularlo al ing/egr que se va a devolver por cuestiones del recosteo } //Se pasa directamente el costo y unidad de medida convertido InfoDet_Ing_Egr.mv_costo_sinConversion = (info_det_movi.mv_costo == null) ? 0 : Convert.ToDouble(info_det_movi.mv_costo); InfoDet_Ing_Egr.mv_costo = (info_det_movi.mv_costo == null) ? 0 : Convert.ToDouble(info_det_movi.mv_costo); InfoDet_Ing_Egr.IdUnidadMedida = info_det_movi.IdUnidadMedida; InfoDet_Ing_Egr.IdUnidadMedida_Consumo = info_det_movi.IdUnidadMedida; InfoDet_Ing_Egr.IdUnidadMedida_sinConversion = info_det_movi.IdUnidadMedida; //Ingreso los id del detalle que esta devolviendo InfoDet_Ing_Egr.IdEmpresa_dev = item.IdEmpresa_movi_inv; InfoDet_Ing_Egr.IdSucursal_dev = item.IdSucursal_movi_inv; InfoDet_Ing_Egr.IdBodega_dev = item.IdBodega_movi_inv; InfoDet_Ing_Egr.IdMovi_inven_tipo_dev = item.IdMovi_inven_tipo_movi_inv; InfoDet_Ing_Egr.IdNumMovi_dev = item.IdNumMovi_movi_inv; InfoDet_Ing_Egr.Secuencia_dev = item.Secuencia_movi_inv; //Campos de egresos InfoDet_Ing_Egr.IdPunto_cargo = info_det_movi.IdPunto_Cargo; InfoDet_Ing_Egr.IdPunto_cargo_grupo = info_det_movi.IdPunto_cargo_grupo; InfoDet_Ing_Egr.IdCentroCosto = info_det_movi.IdCentroCosto; InfoDet_Ing_Egr.IdCentroCosto_sub_centro_costo = info_det_movi.IdCentroCosto_sub_centro_costo; Info_Ing_Egr.listIng_Egr.Add(InfoDet_Ing_Egr); } decimal IdNumMovi = 0; Respuesta = Bus_Ing_Egre.GuardarDB(Info_Ing_Egr, ref IdNumMovi, ref mensaje); } return(Respuesta); } catch (Exception ex) { Core.Erp.Info.Log_Exception.LoggingManager.Logger.Log(Core.Erp.Info.Log_Exception.LoggingCategory.Error, ex.Message); throw new Core.Erp.Info.Log_Exception.DalException(string.Format("", "GuardarDB", ex.Message), ex) { EntityType = typeof(in_devolucion_inven_Bus) }; } }