private void Reporte_Cargar()
        {
            List <Reporte_Venta_TransfResult> lstDocumentos = new List <Reporte_Venta_TransfResult>();

            try
            {
                ReporteContabilidadWCFClient objReporteContabilidadWCF = new ReporteContabilidadWCFClient();
                DateTime fechaInicio = new DateTime(dpFecInicio.SelectedDate.Value.Year, dpFecInicio.SelectedDate.Value.Month, 1);
                DateTime fechaFinal  = new DateTime(dpFecFinal.SelectedDate.Value.Year, dpFecFinal.SelectedDate.Value.Month, 1).AddMonths(1).AddDays(-1);
                int      formaPago   = Convert.ToInt32(ddlFormaPago.SelectedValue);
                int      tipoMoneda  = Convert.ToInt32(ddlMoneda.SelectedValue);
                int?     kardex      = null;
                if (!string.IsNullOrEmpty(txtKardex.Text))
                {
                    kardex = Convert.ToInt32(txtKardex.Text);
                }
                if (fechaFinal < fechaInicio)
                {
                    rwmReporte.RadAlert("Ud. debe ingresar un periodo final mayor o igual al periodo inicial", 500, 100,
                                        "Validación de fechas", "");
                }
                else
                {
                    lstDocumentos =
                        objReporteContabilidadWCF.ReporteVenta(((Usuario_LoginResult)Session["Usuario"]).idEmpresa,
                                                               ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario,
                                                               fechaInicio, fechaFinal, formaPago, tipoMoneda, kardex).ToList();
                }



                grdVentas.DataSource = lstDocumentos;
                string mensaje = "Se han encontrado " + lstDocumentos.Count.ToString() + " registros.";
                lblMensaje.Text     = mensaje;
                lblMensaje.CssClass = "mensajeExito";
                grdVentas.DataBind();

                ViewState["lstDocumentos"] = JsonHelper.JsonSerializer(lstDocumentos);

                Session["mensaje"] = mensaje;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        private void Reporte_Cargar()
        {
            List <gsVoucher_fechContaVSfechaAplicResult> lstDocumentos;

            try {
                ReporteContabilidadWCFClient objReporteWCF = new ReporteContabilidadWCFClient();
                lstDocumentos = objReporteWCF.Voucher_FechContaVSFechaAplic(((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario,
                                                                            dpFecInicio.SelectedDate.Value, dpFecFinal.SelectedDate.Value).ToList();
                grdDocumentos.DataSource = lstDocumentos;
                grdDocumentos.DataBind();
                lblMensaje.Text     = "Se han encontrado " + lstDocumentos.Count.ToString() + " registro.";
                lblMensaje.CssClass = "mensajeExito";

                ViewState["lstDocumentos"] = JsonHelper.JsonSerializer(lstDocumentos);
            }
            catch (Exception ex) {
                throw ex;
            }
        }
        private void Reporte_Cargar()
        {
            List <Reporte_CostoProduccionResult> lstDocumentos;

            try
            {
                ReporteContabilidadWCFClient objReporteContabilidadWCF = new ReporteContabilidadWCFClient();
                DateTime fechaInicio = new DateTime(dpFecInicio.SelectedDate.Value.Year, dpFecInicio.SelectedDate.Value.Month, 1);
                DateTime fechaFinal  = new DateTime(dpFecFinal.SelectedDate.Value.Year, dpFecFinal.SelectedDate.Value.Month, 1).AddMonths(1).AddDays(-1);

                DateTime mesEvaluado = new DateTime(dpFecVariacion.SelectedDate.Value.Year, dpFecVariacion.SelectedDate.Value.Month, 1);

                if (fechaFinal < fechaInicio)
                {
                    rwmReporte.RadAlert("Ud. debe ingresar un periodo final mayor o igual al periodo inicial", 500, 100, "Validación de fechas", "");
                }

                else if (mesEvaluado < fechaInicio)
                {
                    rwmReporte.RadAlert("Ud. debe ingresar un mes evaluado que pertenezca al rango del Periodo Inicio y Final", 500, 100, "Validación de fechas", "");
                }

                else if (mesEvaluado > fechaFinal)
                {
                    rwmReporte.RadAlert("Ud. debe ingresar un mes evaluado que pertenezca al rango del Periodo Inicio y Final", 500, 100, "Validación de fechas", "");
                }

                else
                {
                    lstDocumentos = objReporteContabilidadWCF.ReporteCostoProduccion(((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario,
                                                                                     fechaInicio, fechaFinal).ToList();

                    var       dtLstDocumento = new DataTable();
                    DataTable dtDoc          = ToDataTable(lstDocumentos, "dtLstDoc");
                    dtLstDocumento = dtDoc;
                    if (lstDocumentos.Any())
                    {
                        PivotTable objPivotTable = new PivotTable();

                        var moneda  = ddlMoneda.SelectedValue;
                        var lstRows = new List <string>();
                        lstRows.Add("PT_Kardex");
                        lstRows.Add("PT_Descripcion");
                        lstRows.Add("cantidadTotal");
                        if (moneda == "0")
                        {
                            lstRows.Add("costoTotalSol");
                            lstRows.Add("hhSol");
                            lstRows.Add("hhMaqSol");
                            lstRows.Add("costoDistribuidoSol");
                            lstRows.Add("costoProdTerminadoSol");
                        }
                        else
                        {
                            lstRows.Add("costoTotalDol");
                            lstRows.Add("hhDol");
                            lstRows.Add("hhMaqDol");
                            lstRows.Add("costoDistribuidoDol");
                            lstRows.Add("costoProdTerminadoDol");
                        }
                        dtLstDocumento = objPivotTable.Generate(dtDoc, lstRows, "Mes", "cuSol");

                        string mesVariacion = "c/u " + dpFecVariacion.SelectedDate.Value.Year.ToString() + " - " +
                                              dpFecVariacion.SelectedDate.Value.Month.ToString();

                        if (dtLstDocumento.Columns.Contains(mesVariacion))
                        {
                            foreach (DataRow row in dtLstDocumento.Select())
                            {
                                if (moneda == "0")
                                {
                                    string cuMesEvaluado = string.IsNullOrEmpty(row[mesVariacion].ToString()) ? "0" : row[mesVariacion].ToString();
                                    row["Variacion"]     = 1 - Math.Round((Convert.ToDecimal(cuMesEvaluado) / (Convert.ToDecimal(row["Variacion"]) / dtLstDocumento.Columns.Count - 8)), 2);
                                    row["cantidadTotal"] = row["cantidadTotal"] == null ? 0m : Math.Round(Convert.ToDecimal(row["cantidadTotal"]), 2);
                                    row["hhSol"]         = row["hhSol"] == null ? 0m : Math.Round(Convert.ToDecimal(row["hhSol"]), 2);
                                    row["hhMaqSol"]      = row["hhMaqSol"] == null ? 0m : Math.Round(Convert.ToDecimal(row["hhMaqSol"]), 2);
                                    row["costoTotalSol"] = row["costoTotalSol"] == null ? 0m : Math.Round(Convert.ToDecimal(row["costoTotalSol"]), 2);
                                }

                                else
                                {
                                    string cuMesEvaluado = string.IsNullOrEmpty(row[mesVariacion].ToString()) ? "0" : row[mesVariacion].ToString();
                                    row["Variacion"]     = 1 - Math.Round((Convert.ToDecimal(cuMesEvaluado) / (Convert.ToDecimal(row["Variacion"]) / dtLstDocumento.Columns.Count - 8)), 2);
                                    row["cantidadTotal"] = row["cantidadTotal"] == null ? 0m : Math.Round(Convert.ToDecimal(row["cantidadTotal"]), 2);
                                    row["hhDol"]         = row["hhDol"] == null ? 0m : Math.Round(Convert.ToDecimal(row["hhDol"]), 2);
                                    row["hhMaqDol"]      = row["hhMaqDol"] == null ? 0m : Math.Round(Convert.ToDecimal(row["hhMaqDol"]), 2);
                                    row["costoTotalDol"] = row["costoTotalDol"] == null ? 0m : Math.Round(Convert.ToDecimal(row["costoTotalDol"]), 2);
                                }
                            }
                        }
                        else
                        {
                            foreach (DataRow row in dtLstDocumento.Select())
                            {
                                if (moneda == "0")
                                {
                                    row["Variacion"]     = 0;
                                    row["cantidadTotal"] = row["cantidadTotal"] == null ? 0m : Math.Round(Convert.ToDecimal(row["cantidadTotal"]), 2);
                                    row["hhSol"]         = row["hhSol"] == null ? 0m : Math.Round(Convert.ToDecimal(row["hhSol"]), 2);
                                    row["hhMaqSol"]      = row["hhMaqSol"] == null ? 0m : Math.Round(Convert.ToDecimal(row["hhMaqSol"]), 2);
                                    row["costoTotalSol"] = row["costoTotalSol"] == null ? 0m : Math.Round(Convert.ToDecimal(row["costoTotalSol"]), 2);
                                }

                                else
                                {
                                    row["Variacion"]     = 0;
                                    row["cantidadTotal"] = row["cantidadTotal"] == null ? 0m : Math.Round(Convert.ToDecimal(row["cantidadTotal"]), 2);
                                    row["hhDol"]         = row["hhDol"] == null ? 0m : Math.Round(Convert.ToDecimal(row["hhDol"]), 2);
                                    row["hhMaqDol"]      = row["hhMaqDol"] == null ? 0m : Math.Round(Convert.ToDecimal(row["hhMaqDol"]), 2);
                                    row["costoTotalDol"] = row["costoTotalDol"] == null ? 0m : Math.Round(Convert.ToDecimal(row["costoTotalDol"]), 2);
                                }
                            }
                        }

                        dtLstDocumento.Columns["PT_Kardex"].ColumnName      = "Kardex";
                        dtLstDocumento.Columns["PT_Descripcion"].ColumnName = "Descripcion";
                        dtLstDocumento.Columns["cantidadTotal"].ColumnName  = "Cantidad de Produccion";
                        dtLstDocumento.Columns["Variacion"].ColumnName      = "% Variacion " + mesVariacion;

                        if (moneda == "0")
                        {
                            dtLstDocumento.Columns["costoTotalSol"].ColumnName         = "Costo de Material Consumido (S/)";
                            dtLstDocumento.Columns["hhSol"].ColumnName                 = "Costo Inductor H/H (S/)";
                            dtLstDocumento.Columns["hhMaqSol"].ColumnName              = "Costo Inductor H/MAQ (S/)";
                            dtLstDocumento.Columns["costoDistribuidoSol"].ColumnName   = "Costo Gasto Distribuido (S/)";
                            dtLstDocumento.Columns["costoProdTerminadoSol"].ColumnName = "Costo de Produccion Producto Terminado (S/)";
                        }
                        else
                        {
                            dtLstDocumento.Columns["costoTotalDol"].ColumnName         = "Costo de Material Consumido ($)";
                            dtLstDocumento.Columns["hhDol"].ColumnName                 = "Costo Inductor H/H ($)";
                            dtLstDocumento.Columns["hhMaqDol"].ColumnName              = "Costo Inductor H/MAQ ($)";
                            dtLstDocumento.Columns["costoDistribuidoDol"].ColumnName   = "Costo Gasto Distribuido ($)";
                            dtLstDocumento.Columns["costoProdTerminadoDol"].ColumnName = "Costo de Produccion Producto Terminado ($)";
                        }
                    }

                    List <DataRow> rows = dtLstDocumento.Rows.Cast <DataRow>().ToList();

                    foreach (var row in rows)
                    {
                        foreach (var column in row.Table.Columns)
                        {
                            string HeaderName = column.ToString();

                            if (HeaderName.Contains("201") && !HeaderName.Contains("Variaci"))
                            {
                                if (string.IsNullOrEmpty(row[HeaderName].ToString()))
                                {
                                    row[HeaderName] = 0;
                                }
                                else
                                {
                                    row[HeaderName] = Math.Round(Convert.ToDecimal(row[HeaderName]), 2);
                                }
                            }
                        }
                    }

                    grdDocumentos01.DataSource = rows;
                    string mensaje = "Se han encontrado " + rows.Count.ToString() + " registros.";
                    //lblMensaje.Text = "Se han encontrado " + rows.Count.ToString() + " registros.";
                    //lblMensaje.CssClass = "mensajeExito";
                    grdDocumentos01.DataBind();

                    ViewState["lstDocumentos"]          = JsonHelper.JsonSerializer(lstDocumentos);
                    HttpContext.Current.Session["rows"] = rows;
                    Session["mensaje"]  = mensaje;
                    Session["cantidad"] = rows.Count;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Beispiel #4
0
        private void Reporte_Cargar()
        {
            List <Reporte_CostoVentaResult> lstDocumentos;

            try
            {
                ReporteContabilidadWCFClient objReporteContabilidadWCF = new ReporteContabilidadWCFClient();
                grdDocumentos01.Columns.Clear();
                //valores seleccionados
                DateTime fechaInicio = new DateTime(dpFecInicio.SelectedDate.Value.Year, dpFecInicio.SelectedDate.Value.Month, 1);
                DateTime fechaFinal  = new DateTime(dpFecFinal.SelectedDate.Value.Year, dpFecFinal.SelectedDate.Value.Month, 1).AddMonths(1).AddDays(-1);
                int      idMoneda    = ddlMoneda.SelectedIndex == -1 ? 1 : Convert.ToInt32(ddlMoneda.SelectedValue);
                int      mesEvaluar  = this.dpFecVariacion.SelectedDate.Value.Month;
                int      kardex      = string.IsNullOrEmpty(this.txtKardex.Text.Trim()) ? 0 : Convert.ToInt32(this.txtKardex.Text.Trim());

                int mesInicio = dpFecInicio.SelectedDate.Value.Month;
                int mesFin    = dpFecFinal.SelectedDate.Value.Month;

                int difMesesFecha = 12 * (fechaFinal.Year - fechaInicio.Year) + (mesFin - mesInicio) + 1;

                if (fechaInicio > fechaFinal)
                {
                    throw new System.ArgumentException("Ud. debe ingresar un periodo final mayor o igual al periodo inicial");
                }

                if ((mesInicio < mesFin && mesEvaluar < mesInicio) || (mesInicio < mesFin && mesEvaluar > mesFin) || (mesInicio > mesFin && mesEvaluar < mesInicio && mesEvaluar > mesFin))
                {
                    throw new System.ArgumentException("Ud. debe ingresar un mes evaluado que pertenezca al rango del Periodo Inicio y Final");
                }

                if (difMesesFecha > 12)
                {
                    throw new System.ArgumentException("El rango no debe de superar los 12 meses");
                }

                if (this.txtKardex.Text.Trim().Length > 0 && this.txtKardex.Text.Trim().Length < 4)
                {
                    throw new System.ArgumentException("Ud. debe ingresar mínimo 4 dígitos, para iniciar la búsqueda");
                }

                if (mesInicio > mesFin)
                {
                    mesFin = mesFin + 12;
                }

                int difMeses = (mesFin - mesInicio) + 1;

                int id_forma = int.Parse(cboTipoPago.SelectedValue);

                lstDocumentos = objReporteContabilidadWCF.ReporteCostoVenta(((Usuario_LoginResult)Session["Usuario"]).idEmpresa, ((Usuario_LoginResult)Session["Usuario"]).codigoUsuario,
                                                                            idMoneda, fechaInicio, fechaFinal, mesEvaluar, kardex, id_forma).ToList();

                Dictionary <int, string> MesesAnio = new Dictionary <int, string>();
                MesesAnio.Add(1, "Enero");
                MesesAnio.Add(2, "Febrero");
                MesesAnio.Add(3, "Marzo");
                MesesAnio.Add(4, "Abril");
                MesesAnio.Add(5, "Mayo");
                MesesAnio.Add(6, "Junio");
                MesesAnio.Add(7, "Julio");
                MesesAnio.Add(8, "Agosto");
                MesesAnio.Add(9, "Setiembre");
                MesesAnio.Add(10, "Octubre");
                MesesAnio.Add(11, "Noviembre");
                MesesAnio.Add(12, "Diciembre");

                GridBoundColumn columnaGrid;

                columnaGrid = new GridBoundColumn();
                grdDocumentos01.Columns.Add(columnaGrid);
                columnaGrid.DataField         = "Marca";
                columnaGrid.HeaderText        = "Marca";
                columnaGrid.HeaderStyle.Width = Unit.Pixel(100);

                columnaGrid = new GridBoundColumn();
                grdDocumentos01.Columns.Add(columnaGrid);
                columnaGrid.DataField         = "NombreFKNiv01";
                columnaGrid.HeaderText        = "NombreFKNiv01";
                columnaGrid.HeaderStyle.Width = Unit.Pixel(100);

                columnaGrid = new GridBoundColumn();
                grdDocumentos01.Columns.Add(columnaGrid);
                columnaGrid.DataField         = "NombreFKNiv02";
                columnaGrid.HeaderText        = "NombreFKNiv02";
                columnaGrid.HeaderStyle.Width = Unit.Pixel(100);


                columnaGrid = new GridBoundColumn();
                grdDocumentos01.Columns.Add(columnaGrid);
                columnaGrid.DataField         = "kardex";
                columnaGrid.HeaderText        = "Nro. Kardex";
                columnaGrid.HeaderStyle.Width = Unit.Pixel(45);


                columnaGrid = new GridBoundColumn();
                grdDocumentos01.Columns.Add(columnaGrid);
                columnaGrid.DataField         = "descripcion";
                columnaGrid.HeaderText        = "Descripción";
                columnaGrid.HeaderStyle.Width = Unit.Pixel(300);

                columnaGrid = new GridBoundColumn();
                grdDocumentos01.Columns.Add(columnaGrid);
                columnaGrid.DataField         = "cantidad_ME";
                columnaGrid.HeaderText        = "Cantidad " + MesesAnio[mesEvaluar];
                columnaGrid.DataFormatString  = "{0:#,#0.00}";
                columnaGrid.HeaderStyle.Width = Unit.Pixel(80);

                columnaGrid = new GridBoundColumn();
                grdDocumentos01.Columns.Add(columnaGrid);
                columnaGrid.DataField         = "formapago";
                columnaGrid.HeaderText        = "Forma de Pago";
                columnaGrid.HeaderStyle.Width = Unit.Pixel(150);

                columnaGrid = new GridBoundColumn();
                grdDocumentos01.Columns.Add(columnaGrid);
                columnaGrid.DataField         = "moneda";
                columnaGrid.HeaderText        = "Moneda";
                columnaGrid.HeaderStyle.Width = Unit.Pixel(150);

                columnaGrid = new GridBoundColumn();
                grdDocumentos01.Columns.Add(columnaGrid);
                columnaGrid.DataField         = "precioventa_me";
                columnaGrid.HeaderText        = "Precio Total - " + MesesAnio[mesEvaluar];
                columnaGrid.DataFormatString  = "{0:#,#0.00}";
                columnaGrid.HeaderStyle.Width = Unit.Pixel(80);

                columnaGrid = new GridBoundColumn();
                grdDocumentos01.Columns.Add(columnaGrid);
                columnaGrid.DataField         = "costoventa_me";
                columnaGrid.HeaderText        = "Costo Total - " + MesesAnio[mesEvaluar];
                columnaGrid.DataFormatString  = "{0:#,#0.00}";
                columnaGrid.HeaderStyle.Width = Unit.Pixel(80);

                columnaGrid = new GridBoundColumn();
                grdDocumentos01.Columns.Add(columnaGrid);
                columnaGrid.DataField         = "margen_me";
                columnaGrid.HeaderText        = "Margen Total - " + MesesAnio[mesEvaluar];
                columnaGrid.DataFormatString  = "{0:#,#0.00}";
                columnaGrid.HeaderStyle.Width = Unit.Pixel(80);



                for (int i = 0; i <= difMeses - 1; i++)
                {
                    string cadena_mes  = "";
                    string cadena_anio = "";

                    if ((mesInicio + i) > 12)
                    {
                        cadena_mes  = MesesAnio[(mesInicio + i) - 12];
                        cadena_anio = fechaFinal.Year.ToString();
                    }
                    else
                    {
                        cadena_mes  = MesesAnio[mesInicio + i];
                        cadena_anio = fechaInicio.Year.ToString();
                    }

                    columnaGrid = new GridBoundColumn();
                    grdDocumentos01.Columns.Add(columnaGrid);
                    columnaGrid.DataField         = "Q_" + cadena_mes;
                    columnaGrid.HeaderText        = "Cantidad " + cadena_mes.ToUpper().Substring(0, 3) + " - " + cadena_anio;
                    columnaGrid.DataFormatString  = "{0:#,#0}";
                    columnaGrid.HeaderStyle.Width = Unit.Pixel(80);

                    columnaGrid = new GridBoundColumn();
                    grdDocumentos01.Columns.Add(columnaGrid);
                    columnaGrid.DataField         = "pv_" + cadena_mes;
                    columnaGrid.HeaderText        = "Precio Vta Uni " + cadena_mes.ToUpper().Substring(0, 3) + " - " + cadena_anio;
                    columnaGrid.DataFormatString  = "{0:#,#0.00}";
                    columnaGrid.HeaderStyle.Width = Unit.Pixel(80);

                    columnaGrid = new GridBoundColumn();
                    grdDocumentos01.Columns.Add(columnaGrid);
                    columnaGrid.DataField         = "ct_" + cadena_mes;
                    columnaGrid.HeaderText        = "Costo Uni - " + cadena_mes.ToUpper().Substring(0, 3) + " - " + cadena_anio;
                    columnaGrid.DataFormatString  = "{0:#,#0.00}";
                    columnaGrid.HeaderStyle.Width = Unit.Pixel(80);

                    columnaGrid = new GridBoundColumn();
                    grdDocumentos01.Columns.Add(columnaGrid);
                    columnaGrid.DataField         = "mg_" + cadena_mes;
                    columnaGrid.HeaderText        = "Margen Uni - " + cadena_mes.ToUpper().Substring(0, 3) + " - " + cadena_anio;
                    columnaGrid.DataFormatString  = "{0:#,#0.00}";
                    columnaGrid.HeaderStyle.Width = Unit.Pixel(80);
                }

                columnaGrid = new GridBoundColumn();
                grdDocumentos01.Columns.Add(columnaGrid);
                columnaGrid.DataField         = "variacion";
                columnaGrid.HeaderText        = "% de Variación";
                columnaGrid.DataFormatString  = "{0:#,#0.00}";
                columnaGrid.HeaderStyle.Width = Unit.Pixel(80);

                grdDocumentos01.DataSource = lstDocumentos;
                grdDocumentos01.DataBind();

                lblRegistros.Text     = "Se han encontrado " + lstDocumentos.Count.ToString() + " registros";
                lblRegistros.CssClass = "mensajeExito";


                ViewState["lstDocumentos"]          = JsonHelper.JsonSerializer(lstDocumentos);
                HttpContext.Current.Session["rows"] = lstDocumentos;
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }