예제 #1
0
        public ActionResult CorteInventario(int id)
        {
            EPRTA_CORTE_INVENTARIO corte = null;
            JObject retorno = new JObject();

            if (id > 0)
            {
                corte = unitOfWork.CorteInventarioRepository.GetById(id);
                //var tmp = new { FECHA_CIERRE = cierre.FECHA_CIERRE,
                //    DETALLLE = (from t in cierre.EPRTA_CIERRE_INVENTARIO_DET select new {
                //        CODIGO = t.EPRTA_ITEM.CODIGO,
                //        ITEM = t.EPRTA_ITEM.DESCRIPCION,
                //        t.CANTIDAD_ACTUAL,
                //        t.COSTO_PROMEDIO,
                //        }).ToList()};
                //retorno.Add("resultado", "success");
                //retorno.Add("data", JObject.FromObject(tmp));
            }
            else
            {
                corte             = new EPRTA_CORTE_INVENTARIO();
                corte.FECHA_CORTE = DateTime.Now;
                corte.ID_CORTE    = 0;
            }
            //return Content(retorno.ToString(), "application/json");
            return(View(corte));
        }
예제 #2
0
        public ActionResult CorteInventarioFiltro(int pid_corte, string pfiltro)
        {
            JArray  jArray  = new JArray();
            JObject retorna = new JObject();

            try
            {
                EPRTA_CORTE_INVENTARIO corte = unitOfWork.CorteInventarioRepository.GetById(pid_corte);
                var tmp = (from p in corte.EPRTA_CORTE_INVENTARIO_DET
                           select new
                {
                    CODIGO = p.EPRTA_ITEM.CODIGO,
                    ITEM = p.EPRTA_ITEM.DESCRIPCION,
                    p.CANTIDAD_ACTUAL,
                    p.COSTO_PROMEDIO,
                    p.TOTAL_STOCK
                }).ToList();
                if (pfiltro == "S")
                {
                    tmp = tmp.Where(p => p.CANTIDAD_ACTUAL > 0).ToList();
                }
                retorna.Add("resultado", "success");
                retorna.Add("data", JArray.FromObject(tmp));
            }catch (Exception ex)
            {
                retorna.Add("resultado", "error");
                retorna.Add("msg", ex.Message);
                logger.Error(ex, ex.Message);
            }

            return(Content(retorna.ToString(), "application/json"));
        }
예제 #3
0
        public FileResult CorteInventarioExcel(int pid_corte, string pfiltro)
        {
            MemoryStream           stream        = new MemoryStream();
            string                 nombrearchivo = "CORTE_TODOS_";
            EPRTA_CORTE_INVENTARIO corte         = new EPRTA_CORTE_INVENTARIO();

            try
            {
                corte = unitOfWork.CorteInventarioRepository.GetById(pid_corte);

                DataTable dt = new DataTable("Items");
                dt.Columns.Add("CODIGO");
                dt.Columns.Add("ITEM");
                dt.Columns.Add("CANTIDAD_ACTUAL");
                dt.Columns.Add("COSTO_PROMEDIO");

                var detalle = (from p in corte.EPRTA_CORTE_INVENTARIO_DET
                               select new
                {
                    CODIGO = p.EPRTA_ITEM.CODIGO,
                    ITEM = p.EPRTA_ITEM.DESCRIPCION,
                    p.CANTIDAD_ACTUAL,
                    p.COSTO_PROMEDIO,
                    p.TOTAL_STOCK
                }).ToList();
                if (pfiltro == "S")
                {
                    nombrearchivo = "CORTE_CONSALDO_";
                    detalle       = detalle.Where(p => p.CANTIDAD_ACTUAL > 0).ToList();
                }
                foreach (var item in detalle)
                {
                    dt.Rows.Add(
                        item.CODIGO,
                        item.ITEM,
                        item.CANTIDAD_ACTUAL,
                        item.COSTO_PROMEDIO
                        );
                }
                using (XLWorkbook workbook = new XLWorkbook())
                {
                    workbook.Worksheets.Add(dt);
                    using (stream = new MemoryStream())
                    {
                        workbook.SaveAs(stream);
                    }
                }
            }
            catch (Exception ex)
            {
                logger.Error(ex, ex.Message);
            }

            nombrearchivo += corte.FECHA_CORTE?.ToString("ddMMyyyy") + ".xlsx";
            return(File(stream.ToArray(), "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", nombrearchivo));
        }
예제 #4
0
        public ActionResult GenerarCorteInventario()
        {
            JObject retorna   = new JObject();
            Int32   pid_corte = 0;

            using (OracleConnection con = new OracleConnection(System.Configuration.ConfigurationManager.ConnectionStrings["ConnectionStringReports"].ConnectionString.ToString()))
            {
                OracleCommand oc = new OracleCommand();
                oc.Connection = con;

                oc.CommandText = @"eprpr_genera_corte_inventario";
                oc.CommandType = CommandType.StoredProcedure;
                oc.Parameters.Add("pusuario", OracleDbType.Varchar2).Value   = Session["usuario"];
                oc.Parameters.Add("pid_bodega", OracleDbType.Int16).Value    = Session["bodega_id"];
                oc.Parameters.Add("pid_corte", OracleDbType.Int32).Direction = ParameterDirection.Output;

                try
                {
                    con.Open();
                    oc.ExecuteNonQuery();
                    OracleDataAdapter da = new OracleDataAdapter(oc);
                    pid_corte = Int32.Parse(oc.Parameters["pid_corte"].Value.ToString());
                    EPRTA_CORTE_INVENTARIO corte = unitOfWork.CorteInventarioRepository.GetById(pid_corte);
                    var tmp = new { FECHA_CORTE   = corte.FECHA_CORTE,
                                    USUARIO_CORTE = corte.USUARIO_CORTE,
                                    DETALLE       = (from p in corte.EPRTA_CORTE_INVENTARIO_DET
                                                     select new { p.EPRTA_ITEM.CODIGO,
                                                                  ITEM = p.EPRTA_ITEM.DESCRIPCION,
                                                                  p.COSTO_PROMEDIO,
                                                                  p.CANTIDAD_ACTUAL,
                                                                  p.CANTIDAD_BAJA,
                                                                  p.CANTIDAD_CRITICA,
                                                                  p.CANTIDAD_INICIO,
                                                                  p.CANTIDAD_MAXIMA,
                                                                  p.CANTIDAD_MINIMA,
                                                                  p.CANTIDAD_OC }) };
                    retorna.Add("resultado", "success");
                    retorna.Add("data", JObject.FromObject(tmp));
                }
                catch (Exception ex)
                {
                    retorna.Add("resultado", "error");
                    retorna.Add("mensaje", ex.ToString());
                    logger.Error(ex, ex.Message);
                }
                con.Close();
            }
            return(Content(retorna.ToString(), "application/json"));
        }