Пример #1
0
        public ListResult Post(ParametrosGastoInforme Datos)
        {
            SqlCommand comando = new SqlCommand("ConfrontarGastoInforme")
            {
                CommandType = CommandType.StoredProcedure
            };

            //Declaracion de parametros
            comando.Parameters.Add("@idinforme", SqlDbType.Int);
            comando.Parameters.Add("@idgasto", SqlDbType.Int);
            comando.Parameters.Add("@idmovbanco", SqlDbType.Int);
            comando.Parameters.Add("@chkok", SqlDbType.Int);
            //Asignacion de valores a parametros
            comando.Parameters["@idinforme"].Value  = Datos.IdInforme;
            comando.Parameters["@idgasto"].Value    = Datos.IdGasto;
            comando.Parameters["@idmovbanco"].Value = Datos.IdMovBanco;
            comando.Parameters["@chkok"].Value      = Datos.ChkOk;

            bool   RConfrontarOk = false;
            string RDescripcion  = "";

            try
            {
                comando.Connection     = new SqlConnection(VariablesGlobales.CadenaConexion);
                comando.CommandTimeout = 0;
                comando.Connection.Open();

                DataTable      DT = new DataTable();
                SqlDataAdapter DA = new SqlDataAdapter(comando);
                comando.Connection.Close();

                DA.Fill(DT);

                RConfrontarOk = true;
                RDescripcion  = "Gasto-Informe Confrontado";
            }
            catch (Exception ex)
            {
                var error = Convert.ToString(ex);

                RConfrontarOk = false;
                RDescripcion  = "Error al Confrontado Gasto-Informe. " + error;
            }
            ListResult resultado = new ListResult
            {
                ConfrontarOk = RConfrontarOk,
                Descripcion  = RDescripcion
            };

            return(resultado);
        }
        public string Post(ParametrosGastoInforme Datos)
        {
            SqlCommand comando = new SqlCommand("ExcelExport");

            comando.CommandType = CommandType.StoredProcedure;

            //Declaracion de parametros
            comando.Parameters.Add("@idinforme", SqlDbType.Int);

            //Asignacion de valores a parametros
            comando.Parameters["@idinforme"].Value = Datos.IdInforme;// Datos.idinforme;

            comando.Connection     = new SqlConnection(VariablesGlobales.CadenaConexion);
            comando.CommandTimeout = 0;
            comando.Connection.Open();

            DataTable      DT = new DataTable();
            SqlDataAdapter DA = new SqlDataAdapter(comando);

            comando.Connection.Close();
            DA.Fill(DT);

            List <ObtieneInformeResult> lista = new List <ObtieneInformeResult>();


            DocumentoEntrada entrada = new DocumentoEntrada
            {
                Usuario     = Datos.RmReqUsuarioAlta,
                Origen      = "AdminWEB",
                Transaccion = 120872,
                Operacion   = 16
            };


            entrada.agregaElemento("FiCenId", Datos.RmReqCentro);

            DocumentoSalida respuesta = PeticionCatalogo(entrada.Documento);

            DataTable DTDepto            = new DataTable();
            string    NombreDepartamento = "";
            string    NombreArea         = "";

            if (respuesta.Resultado == "1")
            {
                DTDepto = respuesta.obtieneTabla("Departamento");
                for (int i = 0; i < DTDepto.Rows.Count; i++)
                {
                    NombreDepartamento = Convert.ToString(DTDepto.Rows[i]["NombreDepartamento"]);
                    NombreArea         = Convert.ToString(DTDepto.Rows[i]["NombreArea"]);
                }
            }

            var workbook  = new XLWorkbook();
            var worksheet = workbook.Worksheets.Add("Comprobacion de Gastos");

            //encabezado
            worksheet.Range("A2:I2").SetValue("Formato de Comprobación de Gastos")
            .Merge()
            .Style
            .Font.SetFontSize(16)
            .Font.SetBold(true)
            .Font.SetFontColor(XLColor.FromArgb(89, 89, 89))
            .Alignment.SetHorizontal(XLAlignmentHorizontalValues.Center);

            worksheet.Range("A4:B4").SetValue("Nombre:")
            .Merge()
            .Style
            .Font.SetFontSize(11)
            .Font.SetBold(true)
            .Font.SetFontColor(XLColor.Black)
            .Alignment.SetHorizontal(XLAlignmentHorizontalValues.Left);
            worksheet.Range("C4:D4").SetValue(Datos.NmbSolicitante)
            .Merge()
            .Style
            .Font.SetFontSize(11)
            .Font.SetFontColor(XLColor.Black)
            .Alignment.SetVertical(XLAlignmentVerticalValues.Center)
            .Alignment.SetHorizontal(XLAlignmentHorizontalValues.Center)
            .Border.SetOutsideBorder(XLBorderStyleValues.Thin);


            worksheet.Range("A5:B5").SetValue("Puesto:")
            .Merge()
            .Style
            .Font.SetFontSize(11)
            .Font.SetBold(true)
            .Font.SetFontColor(XLColor.Black)
            .Alignment.SetHorizontal(XLAlignmentHorizontalValues.Left);
            worksheet.Range("C5:D5").SetValue(Datos.Puesto)
            .Merge()
            .Style
            .Font.SetFontSize(11)
            .Font.SetFontColor(XLColor.Black)
            .Alignment.SetVertical(XLAlignmentVerticalValues.Center)
            .Alignment.SetHorizontal(XLAlignmentHorizontalValues.Center)
            .Border.SetOutsideBorder(XLBorderStyleValues.Thin);

            worksheet.Range("A6:B6").SetValue("Tipo De Requisición:")
            .Merge()
            .Style
            .Font.SetFontSize(11)
            .Font.SetBold(true)
            .Font.SetFontColor(XLColor.Black)
            .Alignment.SetHorizontal(XLAlignmentHorizontalValues.Left);
            worksheet.Range("C6:D6").SetValue(Datos.TipoReq)
            .Merge()
            .Style
            .Font.SetFontSize(11)
            .Font.SetFontColor(XLColor.Black)
            .Alignment.SetVertical(XLAlignmentVerticalValues.Center)
            .Alignment.SetHorizontal(XLAlignmentHorizontalValues.Center)
            .Border.SetOutsideBorder(XLBorderStyleValues.Thin);

            worksheet.Range("A7:B7").SetValue("Requisición:")
            .Merge()
            .Style
            .Font.SetFontSize(11)
            .Font.SetBold(true)
            .Font.SetFontColor(XLColor.Black)
            .Alignment.SetHorizontal(XLAlignmentHorizontalValues.Left);
            worksheet.Range("C7:D7").SetValue(Datos.IdRequisicion)
            .Merge()
            .Style
            .Font.SetFontSize(11)
            .Font.SetFontColor(XLColor.Black)
            .Alignment.SetVertical(XLAlignmentVerticalValues.Center)
            .Alignment.SetHorizontal(XLAlignmentHorizontalValues.Center)
            .Border.SetOutsideBorder(XLBorderStyleValues.Thin);

            worksheet.Range("F1:I1").SetValue((DateTime.Now.ToString("dddd, dd De MMMM De yyyy", System.Globalization.CultureInfo.CreateSpecificCulture("es-MX"))).ToLower())
            .Merge()
            .Style
            .Font.SetFontSize(11)
            .Font.SetBold(true)
            .Font.SetFontColor(XLColor.Black)
            .Alignment.SetHorizontal(XLAlignmentHorizontalValues.Center);
            worksheet.Range("E3:F3").SetValue("Folio:")
            .Merge()
            .Style
            .Font.SetFontSize(11)
            .Font.SetBold(true)
            .Font.SetFontColor(XLColor.Black)
            .Alignment.SetHorizontal(XLAlignmentHorizontalValues.Right);
            worksheet.Range("G3:I3").SetValue(Datos.NoInforme)
            .Merge()
            .Style
            .Font.SetFontSize(11)
            .Font.SetFontColor(XLColor.Black)
            .Alignment.SetVertical(XLAlignmentVerticalValues.Center)
            .Alignment.SetHorizontal(XLAlignmentHorizontalValues.Center)
            .Border.SetOutsideBorder(XLBorderStyleValues.Thin);

            worksheet.Range("E4:F4").SetValue("Departamento:")
            .Merge()
            .Style
            .Font.SetFontSize(11)
            .Font.SetBold(true)
            .Font.SetFontColor(XLColor.Black)
            .Alignment.SetHorizontal(XLAlignmentHorizontalValues.Right);
            worksheet.Range("G4:I4").SetValue(NombreDepartamento)
            .Merge()
            .Style
            .Font.SetFontSize(11)
            .Font.SetFontColor(XLColor.Black)
            .Alignment.SetVertical(XLAlignmentVerticalValues.Center)
            .Alignment.SetHorizontal(XLAlignmentHorizontalValues.Center)
            .Border.SetOutsideBorder(XLBorderStyleValues.Thin);

            worksheet.Range("E5:F5").SetValue("Area:")
            .Merge()
            .Style
            .Font.SetFontSize(11)
            .Font.SetBold(true)
            .Font.SetFontColor(XLColor.Black)
            .Alignment.SetHorizontal(XLAlignmentHorizontalValues.Right);
            worksheet.Range("G5:I5").SetValue(NombreArea)
            .Merge()
            .Style
            .Font.SetFontSize(11)
            .Font.SetFontColor(XLColor.Black)
            .Alignment.SetVertical(XLAlignmentVerticalValues.Center)
            .Alignment.SetHorizontal(XLAlignmentHorizontalValues.Center)
            .Border.SetOutsideBorder(XLBorderStyleValues.Thin);

            worksheet.Range("E6:F6").SetValue("Oficina:")
            .Merge()
            .Style
            .Font.SetFontSize(11)
            .Font.SetBold(true)
            .Font.SetFontColor(XLColor.Black)
            .Alignment.SetHorizontal(XLAlignmentHorizontalValues.Right);
            worksheet.Range("G6:I6").SetValue(Datos.Oficina)
            .Merge()
            .Style
            .Font.SetFontSize(11)
            .Font.SetFontColor(XLColor.Black)
            .Alignment.SetVertical(XLAlignmentVerticalValues.Center)
            .Alignment.SetHorizontal(XLAlignmentHorizontalValues.Center)
            .Border.SetOutsideBorder(XLBorderStyleValues.Thin);

            worksheet.Range("E7:F7").SetValue("Centro:")
            .Merge()
            .Style
            .Font.SetFontSize(11)
            .Font.SetBold(true)
            .Font.SetFontColor(XLColor.Black)
            .Alignment.SetHorizontal(XLAlignmentHorizontalValues.Right);
            worksheet.Range("G7:I7").SetValue(Datos.Centro)
            .Merge()
            .Style
            .Font.SetFontSize(11)
            .Font.SetFontColor(XLColor.Black)
            .Alignment.SetVertical(XLAlignmentVerticalValues.Center)
            .Alignment.SetHorizontal(XLAlignmentHorizontalValues.Center)
            .Border.SetOutsideBorder(XLBorderStyleValues.Thin);

            //detalle
            int nFilaEncabezados = 9;

            worksheet.Cell(nFilaEncabezados, 1).Value = "Fecha";
            worksheet.Cell(nFilaEncabezados, 2).Value = "Factura";
            worksheet.Cell(nFilaEncabezados, 3).Value = "Categoría";
            worksheet.Cell(nFilaEncabezados, 4).Value = "Justificacion de Gasto";
            worksheet.Cell(nFilaEncabezados, 5).Value = "Comensales";
            worksheet.Cell(nFilaEncabezados, 6).Value = "Total";
            worksheet.Cell(nFilaEncabezados, 7).Value = "XML";
            worksheet.Cell(nFilaEncabezados, 8).Value = "PDF";
            worksheet.Cell(nFilaEncabezados, 9).Value = "IMG";

            var Rango = worksheet.Range("A" + nFilaEncabezados + ":I" + nFilaEncabezados);

            Rango.Style.Fill.BackgroundColor = XLColor.FromArgb(128, 0, 0);
            Rango.Style.Font.Bold            = true;
            Rango.Style.Font.FontColor       = XLColor.White;

            int ContadorIni = nFilaEncabezados + 1;
            int Contador    = ContadorIni;

            if (DT.Rows.Count > 0)
            {
                String strPathAndQuery = HttpContext.Current.Request.Url.PathAndQuery;
                String strUrl          = HttpContext.Current.Request.Url.AbsoluteUri.Replace(strPathAndQuery, "/");

                foreach (DataRow row in DT.Rows)
                {
                    worksheet.Cell(Contador, 1).Value = (row["Fecha"]);
                    worksheet.Cell(Contador, 2).Value = (Convert.ToString(row["Serie"]) + "-" + Convert.ToString(row["Folio"]));
                    worksheet.Cell(Contador, 3).Value = (row["DescripcionGasto"]);
                    worksheet.Cell(Contador, 4).Value = (row["Justificacion"]);
                    worksheet.Cell(Contador, 5).Value = (row["nmbcomensales"]);
                    worksheet.Cell(Contador, 6)
                    .SetValue(row["importe"])
                    .Style.NumberFormat.SetFormat("$ #,##0.#00");
                    if (row["g_dirxml"].ToString() != "")
                    {
                        //XLHyperlink LINK = new XLHyperlink(strUrl + row["g_dirxml"].ToString(), "XML");
                        //worksheet.Hyperlinks.Add(LINK)
                        worksheet.Cell(Contador, 7)
                        .SetFormulaA1("=HYPERLINK(\"" + strUrl + row["g_dirxml"].ToString() + "\",\"Ver\")")
                        .Style
                        .Alignment.SetHorizontal(XLAlignmentHorizontalValues.Center);
                    }
                    if (row["g_dirpdf"].ToString() != "")
                    {
                        worksheet.Cell(Contador, 8)
                        .SetFormulaA1("=HYPERLINK(\"" + strUrl + row["g_dirpdf"].ToString() + "\",\"Ver\")")
                        .Style
                        .Alignment.SetHorizontal(XLAlignmentHorizontalValues.Center);
                    }
                    if (row["g_dirotros"].ToString() != "")
                    {
                        worksheet.Cell(Contador, 9)
                        .SetFormulaA1("=HYPERLINK(\"" + strUrl + row["g_dirotros"].ToString() + "\",\"Ver\")")
                        .Style
                        .Alignment.SetHorizontal(XLAlignmentHorizontalValues.Center);
                    }


                    Contador += 1;
                }
            }

            worksheet.Cell("E" + Contador).SetValue("Total");
            worksheet.Cell("F" + Contador)
            .SetFormulaA1("=SUM(F" + ContadorIni + ":F" + (Contador - 1) + ")")
            .Style
            .Border.SetTopBorder(XLBorderStyleValues.Medium)
            .NumberFormat.SetFormat("$ #,##0.#00");

            worksheet.Range("E" + Contador + ":F" + Contador)
            .Style
            .Fill.SetBackgroundColor(XLColor.FromArgb(128, 0, 0))
            .Font.SetBold(true)
            .Font.SetFontColor(XLColor.White)
            .Font.SetFontSize(12);


            string nmbExcel     = "Comprobante de Gastos (No_Inf_" + Datos.NoInforme + ").xlsx";
            string url          = HttpContext.Current.Request.Url.AbsoluteUri;
            string RutaCompleta = HttpContext.Current.Server.MapPath("/temp/") + nmbExcel;

            workbook.SaveAs(RutaCompleta);


            return(RutaCompleta + "," + url + "," + nmbExcel);
        }
Пример #3
0
        public List <ObtieneInformeResult> PostObtieneInformes(ParametrosGastoInforme Datos)
        {
            SqlCommand comando = new SqlCommand("BrowseGastosInformeV2")
            {
                CommandType = CommandType.StoredProcedure
            };//browseGastosInforme

            //Declaracion de parametros
            //comando.Parameters.Add("@idproyecto", SqlDbType.Int);
            comando.Parameters.Add("@idinforme", SqlDbType.Int);

            //Asignacion de valores a parametros
            //comando.Parameters["@idproyecto"].Value = Datos.idproyecto;
            comando.Parameters["@idinforme"].Value = Datos.idinforme;

            comando.Connection     = new SqlConnection(VariablesGlobales.CadenaConexion);
            comando.CommandTimeout = 0;
            comando.Connection.Open();
            //DA.SelectCommand = comando;

            DataTable      DT = new DataTable();
            SqlDataAdapter DA = new SqlDataAdapter(comando);

            comando.Connection.Close();
            DA.Fill(DT);

            //ObtieneInformeResult items;

            List <ObtieneInformeResult> lista = new List <ObtieneInformeResult>();

            if (DT.Rows.Count > 0)
            {
                // DataRow row = DT.Rows[0];
                foreach (DataRow row in DT.Rows)
                {
                    DateTime g_fgasto1 = Convert.ToDateTime(row["g_fgasto"]);
                    string   Fecha     = g_fgasto1.ToString("dd-MM-yyyy");

                    ObtieneInformeResult ent = new ObtieneInformeResult
                    {
                        g_id                 = Convert.ToInt32(row["g_id"]),
                        g_idinforme          = Convert.ToInt32(row["g_idinforme"]),
                        g_idproyecto         = Convert.ToInt32(row["g_idproyecto"]),
                        g_idgorigen          = Convert.ToInt32(row["g_idgorigen"]),
                        g_ugasto             = Convert.ToString(row["g_ugasto"]),
                        g_concepto           = Convert.ToString(row["g_concepto"]),
                        g_negocio            = Convert.ToString(row["g_negocio"]),
                        g_formapago          = Convert.ToString(row["g_formapago"]),
                        g_categoria          = Convert.ToInt32(row["g_categoria"]),
                        g_total              = Convert.ToDouble(row["g_total"]),
                        g_observaciones      = Convert.ToString(row["g_observaciones"]),
                        g_comprobante        = Convert.ToString(row["g_comprobante"]),
                        g_estatus            = Convert.ToInt32(row["g_estatus"]),
                        g_idapp              = Convert.ToString(row["g_idapp"]),
                        g_dirxml             = Convert.ToString(row["g_dirxml"]),
                        g_dirpdf             = Convert.ToString(row["g_dirpdf"]),
                        g_dirotros           = Convert.ToString(row["g_dirotros"]),
                        i_uresponsable       = Convert.ToString(row["i_uresponsable"]),
                        g_autorizado         = Convert.ToString(row["g_autorizado"]),
                        g_masmenos           = Convert.ToString(row["g_masmenos"]),
                        g_conciliacionbancos = Convert.ToString(row["g_conciliacionbancos"]),
                        g_idmovbanco         = Convert.ToInt32(row["g_idmovbanco"]),
                        g_contabilizar       = Convert.ToInt32(row["g_contabilizar"]),
                        g_aplica             = Convert.ToInt32(row["g_aplica"]),
                        g_rfc                = Convert.ToString(row["g_rfc"]),
                        g_contacto           = Convert.ToString(row["g_contacto"]),
                        g_telefono           = Convert.ToString(row["g_telefono"]),
                        g_correo             = Convert.ToString(row["g_correo"]),
                        g_fgasto             = Fecha,
                        g_comentarioaut      = Convert.ToString(row["g_comentarioaut"]),
                        g_hgasto             = Convert.ToString(row["hgasto"]),
                        i_id                 = Convert.ToInt32(row["i_id"]),
                        MONTO                = Convert.ToDouble(row["MONTO"]),
                        g_nombreCategoria    = Convert.ToString(row["g_nombreCategoria"]),
                        g_ivaCategoria       = Convert.ToDouble(row["g_ivaCategoria"]),


                        ncomensales           = Convert.ToInt32(row["ncomensales"]),
                        nmbcomensales         = Convert.ToString(row["nmbcomensales"]),
                        deducible             = Convert.ToInt32(row["deducible"]),
                        importenodeducible    = Convert.ToDouble(row["importenodeducible"]),
                        importereembolsable   = Convert.ToDouble(row["importereembolsable"]),
                        importenoreembolsable = Convert.ToDouble(row["importenoreembolsable"]),
                        importenoaceptable    = Convert.ToDouble(row["importenoaceptable"]),
                        importeaceptable      = Convert.ToDouble(row["importeaceptable"]),

                        tipoajuste = Convert.ToInt16(row["g_tipoajuste"]),
                        najustes   = Convert.ToInt16(row["g_najustes"]),

                        orden         = Convert.ToDecimal(row["orden"]),        //numero de orden de los gastos
                        valmaxpropina = Convert.ToDecimal(row["valmaxpropina"]) //importe maximo de una propina
                    };

                    lista.Add(ent);
                }

                return(lista);
            }
            else
            {
                return(lista);
            }
        }