コード例 #1
0
        private void BT_Imprimir_Click(object sender, EventArgs e)
        {
            try
            {
                if (TB_Desde.Text == "")
                {
                    TB_Desde.Text = "1";
                }

                if (TB_Hasta.Text == "")
                {
                    TB_Hasta.Text = "9999";
                }

                ReportDocument reporte = new ListadoTemas();

                VistaPrevia rp = new VistaPrevia();
                rp.CargarReporte(reporte, "{Curso.Codigo}>=" + TB_Desde.Text.Trim() + " AND {Curso.Codigo}<=" + TB_Hasta.Text.Trim() + " AND {Curso.Codigo}>0");
                rp.Imprimir();

                TB_Desde.Text = "";
                TB_Hasta.Text = "";

                TB_Desde.Focus();
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #2
0
        private VistaPrevia _PrepararReporte()
        {
            if (TB_Desde.Text == "")
            {
                TB_Desde.Text = "1";
            }
            if (TB_Hasta.Text == "")
            {
                TB_Hasta.Text = "9999";
            }

            int Desd;

            int.TryParse(TB_Desde.Text, out Desd);
            int Hast;

            int.TryParse(TB_Hasta.Text, out Hast);

            ReportDocument reporte = new imprelegajo();

            if (rbSi.Checked)
            {
                reporte = new imprelegajoii();
            }

            VistaPrevia frm = new VistaPrevia();

            frm.CargarReporte(reporte,
                              "{Legajo.Codigo} in " + Desd + " to " + Hast + " AND {Legajo.FEgreso} in '' to '00/00/0000'");
            return(frm);
        }
コード例 #3
0
        private VistaPrevia _PrepararReporte()
        {
            if (TB_DesdeSector.Text.Trim() == "")
            {
                TB_DesdeSector.Text = "0";
            }
            if (TB_HastaSector.Text.Trim() == "")
            {
                TB_HastaSector.Text = "9999";
            }

            // Eliminamos posibles nulos, actualizamos descripciones y reseteamos datos.
            _NormalizarDatos();

            string WDesdeSector = TB_DesdeSector.Text;
            string WHastaSector = TB_HastaSector.Text;

            DataTable WDatos = _ProcesarLegajos(WDesdeSector, WHastaSector);

            progressBar1.Visible = false;
            progressBar1.Value   = 0;

            VistaPrevia frm = new VistaPrevia();

            frm.CargarReporte(new wPromedioCalificacion(), "{Legajo.Renglon} = 1 AND {Legajo.PromedioII} = 1");
            return(frm);
        }
コード例 #4
0
        private VistaPrevia _PrepararReporte()
        {
            if (TB_Desde.Text == "")
            {
                TB_Desde.Text = "1";
            }

            if (TB_Hasta.Text == "")
            {
                TB_Hasta.Text = "9999";
            }

            ReportDocument reporte = new ListadoLegajos();

            string WFiltro = " AND ({Legajo.FEgreso} = '  /  /    ' OR {Legajo.FEgreso} = '00/00/0000') ";

            if (!checkBox1.Checked)
            {
                WFiltro = "";
            }

            VistaPrevia rp = new VistaPrevia();

            rp.CargarReporte(reporte, "{Legajo.Codigo}>=" + TB_Desde.Text + " AND {Legajo.Codigo}<=" + TB_Hasta.Text + " AND {Legajo.Renglon}=1" + WFiltro);
            return(rp);
        }
コード例 #5
0
        private void BT_Pantalla_Click(object sender, EventArgs e)
        {
            try
            {
                if (TB_Desde.Text == "")
                {
                    TB_Desde.Text = "1";
                }

                if (TB_Hasta.Text == "")
                {
                    TB_Hasta.Text = "9999";
                }

                ReportDocument reporte = new ListadoCursos();

                VistaPrevia rp = new VistaPrevia();
                rp.CargarReporte(reporte, "{Tema.Curso}>=" + TB_Desde.Text.Trim() + " AND {Tema.Curso}<=" + TB_Hasta.Text.Trim() + " AND {Tema.Curso}>0");
                rp.ShowDialog();
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #6
0
        private void btnImprimir_Click(object sender, EventArgs e)
        {
            ReportDocument reporte = new ListadoPerfiles();

            VistaPrevia rp = new VistaPrevia();

            rp.CargarReporte(reporte);
            rp.ShowDialog();
        }
コード例 #7
0
        private VistaPrevia _PrepararReporte()
        {
            // Actualizamos los datos de Personas y horas realizadas.
            Helper.ActualizarCantidadPersonasHoras(txtAno.Text);

            VistaPrevia frm = new VistaPrevia();

            frm.CargarReporte(new PlanCapacitacionAnual(), "{CronogramaII.Ano} = " + txtAno.Text + " AND {CronogramaII.Curso} = {Curso.Codigo}");
            return(frm);
        }
コード例 #8
0
        private VistaPrevia _PrepararVistaPrevia()
        {
            Helper.ActualizarCantidadPersonasHoras(txtAno.Text);
            Helper.ActualizarTipoCursada();

            CursosPendientesPorSector reporte = _PrepararReporte();

            VistaPrevia frm = new VistaPrevia();

            frm.CargarReporte(reporte);
            return(frm);
        }
コード例 #9
0
        private void btnImprimir_Click(object sender, EventArgs e)
        {
            if (!_ExisteCursada(txtCodigo.Text))
            {
                MessageBox.Show("No existe ninguna cursada con el codigo indicado");
                return;
            }

            if (MessageBox.Show("¿Desea Imprimir la Planilla?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
            {
                // Imprimimos la planilla con las personas indicadas.
                VistaPrevia frm = new VistaPrevia();
                frm.CargarReporte(new planillacursada(), "{Cursadas.Curso} = {Curso.Codigo} AND {Cursadas.Legajo} = {Legajo.Codigo} AND {Legajo.Renglon} = 1 AND {Cursadas.Codigo} = " + txtCodigo.Text);
                frm.Imprimir();
            }

            btnLimpiar.PerformClick();
        }
コード例 #10
0
        private VistaPrevia _PrepararReporte()
        {
            Helper.ActualizarTipoCursada(ref progressBar1);

            TB_Mes.Text = TB_Mes.Text.PadLeft(2, '0');
            _ActualizarHorasCursadasNoProgramadas(TB_Año.Text, TB_Mes.Text);


            string WDesde = TB_Año.Text + "0131";
            string WHasta = TB_Año.Text + TB_Mes.Text.PadLeft(2, '0') + "31";

            VistaPrevia frm = new VistaPrevia();

            frm.CargarReporte(new PlanillaTemasNoProgramados(),
                              "{Cursadas.Curso} = {Curso.Codigo} AND {Cursadas.TipoCursada} = 1 AND {Cursadas.OrdFecha} in '" + WDesde +
                              "' to '" + WHasta + "'");
            return(frm);
        }
コード例 #11
0
        private void Imprimir()
        {
            try
            {
                if (TB_Prove.Text == "")
                {
                    throw new Exception("Se debe ingresar el proveedor");
                }

                if (TB_Desde.Text == "")
                {
                    throw new Exception("Se debe ingresar la fecha desde donde se desea filtrar");
                }

                if (TB_Hasta.Text == "")
                {
                    throw new Exception("Se debe ingresar la fecha hasta donde se desea filtrar");
                }

                string PeriodoDesde = TB_Desde.Text.Substring(6, 4) + TB_Desde.Text.Substring(3, 2);

                string PeriodoHasta = TB_Hasta.Text.Substring(6, 4) + TB_Hasta.Text.Substring(3, 2);

                VistaPrevia frm = new VistaPrevia();
                frm.CargarReporte(new listaevaluatransportista(), "{EvaluaI.Periodo} IN '" + PeriodoDesde + "' to '" + PeriodoHasta + "' AND {EvaluaI.Proveedor} = '" + TB_Prove.Text + "' AND {EvaluaI.Proveedor} = {Proveedor.Proveedor}");
                if (Tipo == "Pantalla")
                {
                    frm.Show();
                }
                if (Tipo == "Imprimir")
                {
                    frm.Imprimir();
                }
                //DataTable dtEva = ETBOL.ListaListaProveFecha(PeriodoDesde, PeriodoHasta, TB_Prove.Text);

                //ImpreEvaTransp Impre = new ImpreEvaTransp(dtEva, Tipo, TB_Prove.Text, TB_DescProve.Text);
                //Impre.ShowDialog();
            }
            catch (Exception err)
            {
                MessageBox.Show(err.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #12
0
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            if (txtFecha.Text.Replace(" ", "").Length < 10)
            {
                return;
            }

            DataTable legajos = _TraerLegajos();

            VistaPrevia frm = new VistaPrevia();

            ReportDocument rpt = new ReporteListadoLegajosAActualizarAFecha();

            rpt.SetDataSource(legajos);
            rpt.SetParameterValue("Fecha", txtFecha.Text);

            frm.CargarReporte(rpt);
            frm.Show(this);
        }
コード例 #13
0
        private void btnImprimir_Click(object sender, EventArgs e)
        {
            VistaPrevia frm = new VistaPrevia();

            Reporte rpt = new Reporte();

            Detalles tabla = new Detalles();

            foreach (DataRow row in dtInformeDetalle.Rows)
            {
                DataRow _r = tabla.Tables[0].NewRow();

                _r["Clave"]               = row["Clave"];
                _r["Informe"]             = row["Informe"];
                _r["Orden"]               = row["Orden"];
                _r["Articulo"]            = row["Articulo"];
                _r["Aprobado"]            = (_EsPorDesvio(row["Laudo"].ToString()) || _DeterminarRechazado(row["Devuelta"].ToString()) == "") ? 1 : 0;
                _r["Desvio"]              = _EsPorDesvio(row["Laudo"].ToString()) ? 1 : 0;
                _r["Rechazado"]           = _DeterminarRechazado(row["Devuelta"].ToString()) == "X" ? 1 : 0;
                _r["Atraso"]              = _CalcularAtraso(Helper.OrdenarFecha(row["Fecha"].ToString()), Helper.OrdenarFecha(row["Fecha2"].ToString()));;
                _r["Cantidad"]            = double.Parse(row["Cantidad"].ToString());
                _r["SaldoOC"]             = double.Parse(row["SaldoOC"].ToString());
                _r["DesconOC"]            = double.Parse(row["DesconOC"].ToString());
                _r["EnvaseOC"]            = row["EnvaseOC"];
                _r["DescEnvaseOC"]        = row["DescEnvaseOC"];
                _r["FechaEntrega"]        = row["Fecha"];
                _r["FechaPosibleEntrega"] = "";
                _r["Proveedor"]           = WCodProv;
                _r["Plantas"]             = WPlantas;
                _r["Periodo"]             = WPeriodo;

                tabla.Tables[0].Rows.Add(_r);
            }

            rpt.SetDataSource(tabla);

            frm.CargarReporte(rpt);

            frm.Show();
        }
コード例 #14
0
        private VistaPrevia _PrepararReporteIII()
        {
            ReportDocument reporte = new imprelegajo();

            if (rbSi.Checked)
            {
                reporte = new imprelegajoii();
            }

            string WFiltro = "{Legajo.Perfil} = " + cmbPerfiles.SelectedValue;

            if (cmbPerfiles.SelectedIndex == 0)
            {
                WFiltro = "{Legajo.Perfil} in 0 to 9999";
            }

            VistaPrevia frm = new VistaPrevia();

            frm.CargarReporte(reporte,
                              "{Legajo.Codigo} in 0 to 9999 AND {Legajo.FEgreso} in '' to '00/00/0000' AND " + WFiltro);
            return(frm);
        }
コード例 #15
0
        private VistaPrevia _PrepararReporte()
        {
            ReportDocument reporte = new imprelegajo();

            if (CB_Observ.SelectedIndex == 1)
            {
                reporte = new imprelegajoii();
            }

            string WFiltroSectores = "{Legajo.Sector} = " + cmbSectores.SelectedValue;

            if (cmbSectores.SelectedIndex == 0)
            {
                WFiltroSectores = "{Legajo.Sector} in 0 to 9999";
            }

            VistaPrevia frm = new VistaPrevia();

            frm.CargarReporte(reporte,
                              "{Legajo.Codigo} in 0 to 9999 AND {Legajo.FEgreso} in '' to '00/00/0000' AND " + WFiltroSectores);
            return(frm);
        }
コード例 #16
0
        private void _MostrarReporte(string WTipoImpre)
        {
            try
            {
                string Desde = Helper.OrdenarFecha(TB_Desde.Text); //TB_Desde.Text.Substring(6, 4) + TB_Desde.Text.Substring(3, 2) + TB_Desde.Text.Substring(0, 2);
                string Hasta = Helper.OrdenarFecha(TB_Hasta.Text); //TB_Hasta.Text.Substring(6, 4) + TB_Hasta.Text.Substring(3, 2) + TB_Hasta.Text.Substring(0, 2);


                if (Desde == "0")
                {
                    return;               //throw new Exception("Se debe ingresar la fecha Desde donde desea listar");
                }
                if (Hasta == "0")
                {
                    return;               //throw new Exception("Se debe ingresar la fecha Hasta donde desea listar");
                }
                DataTable EvalSemProve = _GenerarTablaEvalSemProve();

                DataTable WProveedores = _ProcesarEvaluacionProveedoresFarma();

                DataRow[] WProveedoresFinales = WProveedores.Select("Pasa = 'S'");

                if (rbTodos.Checked)
                {
                    WProveedoresFinales = WProveedores.Select();
                }

                foreach (DataRow WProveedor in WProveedoresFinales)
                {
                    var ZMovimientos    = double.Parse(WProveedor["Movimientos"].ToString());
                    var ZCertificadosOk = double.Parse(WProveedor["CertificadosOk"].ToString());
                    if (ZCertificadosOk > ZMovimientos)
                    {
                        ZCertificadosOk = ZMovimientos;
                    }

                    var ZEnvasesOk = double.Parse(WProveedor["EnvasesOk"].ToString());
                    if (ZEnvasesOk > ZMovimientos)
                    {
                        ZEnvasesOk = ZMovimientos;
                    }

                    DataRow row = EvalSemProve.NewRow();

                    //row["MarcaPerformance"] = "0";
                    row["Proveedor"]      = WProveedor["Proveedor"];
                    row["Articulo"]       = WProveedor["Articulo"];
                    row["Razon"]          = WProveedor["Razon"];
                    row["Movimientos"]    = WProveedor["Movimientos"];
                    row["Aprobados"]      = WProveedor["Aprobados"];
                    row["Retrasos"]       = WProveedor["Retrasos"];
                    row["Desvios"]        = WProveedor["Desvios"];
                    row["Rechazados"]     = WProveedor["Rechazados"];
                    row["EnvasesOk"]      = ZEnvasesOk.ToString();
                    row["CertificadosOk"] = ZCertificadosOk.ToString();
                    row["PorCert"]        = Helper._DeterminarPorcentajeRelacion(ZMovimientos, ZCertificadosOk);
                    row["PorEnv"]         = Helper._DeterminarPorcentajeRelacion(ZMovimientos, ZEnvasesOk);
                    row["PorcTotal"]      = Helper._DeterminarPorcentajeTotal(ZMovimientos, ZCertificadosOk, ZEnvasesOk);

                    DataRow WDatoEvalua =
                        Query.GetSingle("SELECT EstadoMP, FechaEvaluaVto FROM EvaluacionProvMP WHERE Proveedor = '" +
                                        WProveedor["Proveedor"] + "' And Articulo = '" + WProveedor["Articulo"] + "'");

                    row["EvalCal"] = _TraerDescEvaluacion(0);

                    row["FechaEvaluaProvMPFarmaII"] = "";

                    if (WDatoEvalua != null)
                    {
                        row["EvalCal"] =
                            _TraerDescEvaluacion(WDatoEvalua["EstadoMP"]);

                        row["FechaEvaluaProvMPFarmaII"] =
                            Helper.OrDefault(WDatoEvalua["FechaEvaluaVto"], "");
                    }

                    EvalSemProve.Rows.Add(row);
                }

                EvalSemProve.DefaultView.Sort = "Razon ASC, Articulo ASC";

                VistaPrevia    frm = new VistaPrevia();
                ReportDocument rpt = new ReportEvaProveMPFarma();
                rpt.SetDataSource(EvalSemProve);
                frm.CargarReporte(rpt);

                frm.Show();
            }
            catch (Exception ex)
            {
                progressBar1.Visible = false;
                MessageBox.Show(
                    "Ocurrió un problema al querer procesar la información de las Evaluaciones Semestrales de los Proveedores de Materia Prima. Motivo: " +
                    ex.Message);
            }
        }
コード例 #17
0
        private void btnGuardar_Click(object sender, EventArgs e)
        {
            if (!DatosValidos())
            {
                return;
            }

            // Obtenemos los datos de la Cursada en caso de actualizar.
            DataTable WDatosAnteriores = new DataTable();

            using (SqlConnection conn = new SqlConnection())
            {
                conn.ConnectionString = ConfigurationManager.ConnectionStrings["Surfactan"].ConnectionString;
                conn.Open();
                var trans = conn.BeginTransaction();

                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.Connection  = conn;
                    cmd.CommandText = "SELECT * FROM Cursadas WHERE Codigo = '" + txtCodigo.Text + "'";
                    cmd.Transaction = trans;

                    using (SqlDataReader dr = cmd.ExecuteReader())
                    {
                        if (dr.HasRows)
                        {
                            WDatosAnteriores.Load(dr);
                        }
                    }

                    // Recorremos y restauramos los valores de 'Realizado' para cada legajo en el cronograma (Realizado - Horas).
                    foreach (DataRow WAnt in WDatosAnteriores.Rows)
                    {
                        cmd.CommandText = "UPDATE Cronograma SET Realizado = Realizado - " + Helper.FormatoNumerico(WAnt["Horas"]) + " WHERE Legajo = '" + WAnt["Legajo"] + "' AND Curso = '" + WAnt["Curso"] + "' AND Ano = '" + Helper.Right(WAnt["Fecha"].ToString(), 4) + "'";
                        cmd.ExecuteNonQuery();
                    }

                    // Borramos la cursada
                    cmd.CommandText = "DELETE FROM Cursadas WHERE Codigo = '" + txtCodigo.Text + "'";
                    cmd.ExecuteNonQuery();

                    // Grabamos con una hora en caso de que no se haya especificado algun valor.
                    if (txtHoras.Text.Trim() == "")
                    {
                        txtHoras.Text = "0";
                    }
                    if (double.Parse(txtHoras.Text) <= 0)
                    {
                        txtHoras.Text = "1";
                    }

                    // Regrabamos y actualizamos los datos de 'Realizado' en Cronograma.
                    int    WRenglon    = 0;
                    string WCodigo     = txtCodigo.Text;
                    string WHoras      = Helper.FormatoNumerico(txtHoras.Text);
                    string WTemas      = Helper.Left(txtTemas.Text, 100);
                    string WInstructor = Helper.Left(txtInstructor.Text, 50);
                    string WActividad  = Helper.Left(txtActividad.Text, 50);
                    int    WTipoI      = cmbTipo.SelectedIndex;
                    int    WTipoII     = cmbTipoProgramacion.SelectedIndex;
                    string WTema       = txtTema.Text;
                    string WCurso      = txtCurso.Text;
                    string WFecha      = txtFecha.Text;
                    string WFechaOrd   = Helper.OrdenarFecha(WFecha);

                    foreach (DataGridViewRow row in dgvGrilla.Rows)
                    {
                        WRenglon++;

                        string WClave         = Helper.Ceros(WCodigo, 6) + Helper.Ceros(WRenglon, 2);
                        var    WLegajo        = row.Cells["Legajo"].Value ?? "";
                        var    WObservaciones = row.Cells["Observaciones"].Value ?? "";
                        var    WDni           = row.Cells["Dni"].Value ?? "";

                        if (WLegajo.ToString() == "")
                        {
                            continue;
                        }

                        string WDescLegajo = "";
                        string WSector     = "";
                        string WDescSector = "";
                        string WPerfil     = "";

                        cmd.CommandText = "select l.Codigo, l.Descripcion as DescLegajo, l.Perfil, t.Sector, s.Descripcion from legajo l INNER JOIN Tarea t ON t.Codigo = l.Perfil and t.Renglon = 1 INNER JOIN Sector s ON s.Codigo = t.Sector where l.codigo = '" + WLegajo + "' and l.Renglon = 1";

                        using (SqlDataReader dr = cmd.ExecuteReader())
                        {
                            if (dr.HasRows)
                            {
                                dr.Read();
                                WSector     = dr["Sector"].ToString();
                                WDescSector = dr["Descripcion"].ToString();
                                WPerfil     = dr["Perfil"].ToString();
                                WDescLegajo = dr["DescLegajo"].ToString();
                            }
                        }

                        cmd.CommandText = "INSERT INTO Cursadas "
                                          + " (Clave, Codigo, Renglon, Curso, Tema, Fecha, OrdFecha, Horas, "
                                          + " TipoI, TipoII, Instructor, Actividad, Temas, Legajo, DesLegajo,"
                                          + " DesSector, DesCurso, DesTema, Observaciones, Perfil, Sector) "
                                          + " VALUES "
                                          + " ('" + WClave + "', " + WCodigo + "," + WRenglon + ", " + WTema + ", " + WCurso + ", '" + WFecha + "', '" + WFechaOrd + "', "
                                          + " " + WHoras + ", " + WTipoI + ", " + WTipoII + ", '" + WInstructor + "', '" + WActividad + "', '" + WTemas + "', "
                                          + " " + WLegajo + ", '" + WDescLegajo + "', '" + WDescSector + "', '', '', '" + WObservaciones + "', '" + WPerfil + "', '" + WSector + "' )";
                        cmd.ExecuteNonQuery();

                        cmd.CommandText = "UPDATE Legajo SET Dni = '" + WDni + "' WHERE Codigo = '" + WLegajo + "'";
                        cmd.ExecuteNonQuery();
                    }

                    foreach (var sql in new[] { "update cursadas set cursadas.DesLegajo = Legajo.Descripcion from Cursadas, Legajo WHERE cursadas.legajo = legajo.Codigo",
                                                "update cursadas set cursadas.DesSector = LTRIM(RTRIM(Sector.Descripcion)) from Cursadas, Sector WHERE cursadas.Sector = Sector.Codigo",
                                                "update cursadas set cursadas.DesSector = LTRIM(RTRIM(Sector.Descripcion)) from Cursadas, Sector WHERE cursadas.Sector = Sector.Codigo",
                                                "update cursadas set cursadas.DesCurso = LEFT(Curso.Descripcion, 50) from Cursadas, Curso WHERE cursadas.Curso = Curso.Codigo ",
                                                "update cursadas set cursadas.DesTema = LEFT(Tema.Descripcion, 50) from Cursadas, Tema WHERE cursadas.Curso = Tema.Curso AND Cursadas.Tema = tema.Tema" })
                    {
                        cmd.CommandText = sql;
                        cmd.ExecuteNonQuery();
                    }

                    trans.Commit();

                    if (
                        MessageBox.Show(
                            "Actualizado Correctamente!" + Environment.NewLine + "¿Desea Imprimir la Planilla?", "",
                            MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        // Imprimimos la planilla con las personas indicadas.
                        VistaPrevia frm = new VistaPrevia();
                        frm.CargarReporte(new planillacursada(), "{Cursadas.Curso} = {Curso.Codigo} AND {Cursadas.Legajo} = {Legajo.Codigo} AND {Legajo.Renglon} = 1 AND {Cursadas.Codigo} = " + WCodigo);
                        frm.Imprimir();
                    }

                    btnLimpiar.PerformClick();
                }
            }
        }
コード例 #18
0
        private VistaPrevia _PrepararReporte()
        {
            string WMes = TB_Mes.Text.PadLeft(2, '0');
            string WAno = TB_Año.Text;

            string WDesdeFecha = WAno + "0131";
            string WHastaFecha = WAno + WMes + "31";

            string ZCurso = "";
            int    ZPersonas = 0, ZPersonasRealizado = 0, ZPersonasRealizadoII = 0, ZMesesI = 0, ZMesesII = 0, ZPaso = 0;
            double ZHoras = 0, ZHorasRealizado = 0, ZHorasRealizadoII = 0, ZHorasII = 0, ZHorasRealizadosIII = 0;
            string ZCorte = "";

            DataTable WCronogramaII = new DataTable();

            DataTable WCronograma = new DataTable();

            WCronograma.Columns.Add("Legajo", typeof(string));
            WCronograma.Columns.Add("Curso", typeof(string));
            WCronograma.Columns.Add("Horas", typeof(double));

            using (SqlConnection conn = new SqlConnection())
            {
                conn.ConnectionString = ConfigurationManager.ConnectionStrings["Surfactan"].ConnectionString;
                conn.Open();

                using (SqlCommand cmd = new SqlCommand())
                {
                    WCronogramaII.Rows.Clear();

                    cmd.Connection  = conn;
                    cmd.CommandText =
                        "SELECT Curso, Mes1, Mes2, Mes3, Mes4, Mes5, Mes6, Mes7, Mes8, Mes9, Mes10, Mes11, Mes12 FROM CronogramaII WHERE Ano = '" +
                        WAno + "'";

                    using (SqlDataReader dr = cmd.ExecuteReader())
                    {
                        if (dr.HasRows)
                        {
                            WCronogramaII.Load(dr);
                        }
                    }

                    progressBar1.Visible = true;
                    progressBar1.Value   = 0;
                    progressBar1.Maximum = WCronogramaII.Rows.Count;

                    Helper.ActualizarTipoCursada(ref progressBar1);

                    foreach (DataRow WCurso in WCronogramaII.Rows)
                    {
                        ZPersonas            = 0;
                        ZHoras               = 0;
                        ZPersonasRealizado   = 0;
                        ZHorasRealizado      = 0;
                        ZHorasII             = 0;
                        ZPersonasRealizadoII = 0;
                        ZHorasRealizadoII    = 0;
                        ZMesesI              = 0;
                        ZMesesII             = 0;
                        ZCorte               = "";

                        ZCurso = WCurso["Curso"].ToString();
                        //string ZAno = WCurso["Ano"].ToString();

                        cmd.CommandText = "SELECT Legajo, Curso, Horas, Realizado FROM Cronograma WHERE Curso = '" + ZCurso +
                                          "' AND Ano = '" + WAno + "' ORDER BY Legajo, Curso";

                        WCronograma.Rows.Clear();

                        using (SqlDataReader dr = cmd.ExecuteReader())
                        {
                            if (dr.HasRows)
                            {
                                while (dr.Read())
                                {
                                    string TempRealizado = dr["Realizado"] == null ? "0" : dr["Realizado"].ToString();
                                    string TempHoras     = dr["Horas"] == null ? "0" : dr["Horas"].ToString();

                                    if (ZCorte != dr["Legajo"].ToString())
                                    {
                                        ZPersonas++;
                                        if (double.Parse(TempRealizado) > double.Parse(TempHoras))
                                        {
                                            ZPersonasRealizado++;
                                        }
                                        ZCorte = dr["Legajo"].ToString();
                                    }

                                    ZHoras          += double.Parse(TempHoras);
                                    ZHorasRealizado += double.Parse(TempRealizado);

                                    DataRow ZRow = WCronograma.NewRow();

                                    ZRow["Legajo"] = dr["Legajo"] == null ? "0" : dr["Legajo"].ToString();
                                    ZRow["Curso"]  = dr["Curso"] == null ? "0" : dr["Curso"].ToString();
                                    ZRow["Horas"]  = dr["Horas"] == null ? "0" : dr["Horas"].ToString();

                                    WCronograma.Rows.Add(ZRow);
                                }
                            }
                        }

                        for (int i = 1; i < 12; i++)
                        {
                            string XMes = WCurso["Mes" + i].ToString();

                            if (XMes.ToUpper() == "X")
                            {
                                ZMesesI++;

                                if (int.Parse(i.ToString()) <= int.Parse(WMes))
                                {
                                    ZMesesII++;
                                }
                            }
                        }

                        ZCorte = "";
                        ZPersonasRealizadoII = 0;

                        foreach (DataRow XCurso in WCronograma.Rows)
                        {
                            ZHorasRealizadosIII = 0;
                            ZCurso = XCurso["Curso"].ToString();

                            cmd.CommandText =
                                "SELECT isnull(Horas, 0) as Horas FROM Cursadas WHERE TIpoCursada = 0 AND Legajo = '" +
                                XCurso["Legajo"] + "' AND Curso = '" + ZCurso + "' AND OrdFecha BETWEEN " + WDesdeFecha +
                                " AND " + WHastaFecha + " ORDER BY Legajo";

                            using (SqlDataReader dr = cmd.ExecuteReader())
                            {
                                if (dr.HasRows)
                                {
                                    while (dr.Read())
                                    {
                                        ZHorasRealizadoII   += double.Parse(dr["Horas"].ToString());
                                        ZHorasRealizadosIII += double.Parse(dr["Horas"].ToString());
                                    }
                                }
                            }

                            if (ZCorte != XCurso["Legajo"].ToString())
                            {
                                ZCorte = XCurso["Legajo"].ToString();
                                if (ZHorasRealizadosIII >= double.Parse(XCurso["Horas"].ToString()))
                                {
                                    ZPersonasRealizadoII++;
                                }
                            }
                        }

                        ZHorasII = 0;

                        if (ZMesesI != 0)
                        {
                            ZHorasII = Math.Round((ZHoras / ZMesesI) * ZMesesII, 0);
                        }

                        double ZPorce = 0, ZPorceII = 0;

                        if (ZHorasII != 0)
                        {
                            ZPorce = ZHorasRealizadoII / (ZHorasII / 100);
                        }

                        cmd.CommandText = "UPDATE CronogramaII SET "
                                          + " Personas = '" + ZPersonas + "',"
                                          + " PersonasRealizado = '" + ZPersonasRealizado + "',"
                                          + " PersonasRealizadoII = '" + ZPersonasRealizadoII + "',"
                                          + " Horas = '" + ZHoras.ToString().Replace(',', '.') + "',"
                                          + " HorasII = '" + ZHorasII.ToString().Replace(',', '.') + "',"
                                          + " HorasRealizado = '" + ZHorasRealizado.ToString().Replace(',', '.') + "',"
                                          + " HorasRealizadoII = '" + ZHorasRealizadoII.ToString().Replace(',', '.') + "',"
                                          + " Mes = '" + TB_Mes.Text + "',"
                                          + " Porce = '" + ZPorce.ToString().Replace(',', '.') + "',"
                                          + " PorceII = '" + ZPorceII.ToString().Replace(',', '.') + "'"
                                          + " WHERE Ano = '" + WAno + "'"
                                          + " AND "
                                          + " Curso = '" + ZCurso + "'";

                        cmd.ExecuteNonQuery();

                        progressBar1.Increment(1);
                    }
                }
            }

            progressBar1.Visible = false;

            VistaPrevia frm = new VistaPrevia();

            frm.CargarReporte(new wlistaevolucionTemasProgramados(),
                              "{CronogramaII.Curso} = {Curso.Codigo} AND {CronogramaII.Ano} In " + WAno + " To " + WAno);
            return(frm);
        }
コード例 #19
0
        private VistaPrevia _PrepararReporte()
        {
            string hastaFecha = "31/05/" + (int.Parse(TB_AñoDesde.Text) + 1);
            string desdeFecha = "01/06/" + TB_AñoDesde.Text;

            Helper.PurgarOrdFechaCursadas();
            Helper._ReprocesoCursosProgramadosYNoProgramados(desdeFecha, hastaFecha, 1);

            string WDesdeOrd = Helper.OrdenarFecha(desdeFecha);
            string WHastaOrd = Helper.OrdenarFecha(hastaFecha);

            DataTable WCursadas = new DataTable();

            progressBar1.Value   = 0;
            progressBar1.Visible = true;

            using (SqlConnection conn = new SqlConnection())
            {
                conn.ConnectionString = ConfigurationManager.ConnectionStrings["Surfactan"].ConnectionString;
                conn.Open();

                using (SqlCommand cmd = new SqlCommand())
                {
                    cmd.Connection  = conn;
                    cmd.CommandText = "UPDATE Legajo SET Horas = 0, HorasTotal = 0, Puntaje = 9";
                    cmd.ExecuteNonQuery();

                    cmd.CommandText =
                        "SELECT c.Curso, c.Legajo, c.Horas, c.Fecha, c.Clave, c.Tema, l.Descripcion, l.Puntaje, l.FEgreso, Activo = case l.Fegreso WHEN '00/00/0000' THEN 'S' WHEN '  /  /    ' THEN 'S' ELSE 'N' END FROM Cursadas c LEFT OUTER JOIN Legajo l ON L.Codigo = C.Legajo AND L.Renglon = 1 WHERE c.Ordfecha BETWEEN '" + WDesdeOrd + "' And '" + WHastaOrd + "' ORDER BY c.Clave";

                    using (SqlDataReader dr = cmd.ExecuteReader())
                    {
                        if (dr.HasRows)
                        {
                            WCursadas.Load(dr);
                        }
                    }

                    progressBar1.Maximum = WCursadas.Rows.Count + 10;

                    foreach (DataRow WLegajo in WCursadas.Rows)
                    {
                        string WFEgreso = Helper.OrDefault(WLegajo["FEgreso"].ToString(), "00/00/0000").ToString();

                        WLegajo["Puntaje"] = "0";

                        if (CB_Tipo.SelectedIndex == 1)
                        {
                            if (WFEgreso != "  /  /    " && WFEgreso != "00/00/0000")
                            {
                                WLegajo["Puntaje"] = "9";
                            }
                        }

                        cmd.CommandText = "UPDATE Legajo SET Puntaje = '" + WLegajo["Puntaje"] + "', Horas = Horas +'" + WLegajo["Horas"].ToString().Replace(',', '.') +
                                          "' WHERE Codigo = '" + WLegajo["Legajo"] + "'";
                        cmd.ExecuteNonQuery();

                        cmd.CommandText = "UPDATE Legajo SET HorasTotal = HorasTotal + '" +
                                          WLegajo["Horas"].ToString().Replace(',', '.') + "' WHERE Descripcion = '" +
                                          WLegajo["Descripcion"] + "'";
                        cmd.ExecuteNonQuery();

                        progressBar1.Increment(1);
                    }

                    //if (CB_Tipo.SelectedIndex == 0)
                    //{
                    //    cmd.CommandText =
                    //        "UPDATE Legajo SET Puntaje = '0' WHERE RIGHT(ISNULL(FEgreso, '00/00/0000'), 4)*1 = 0 Or RIGHT(FEgreso, 4)*1 < " +
                    //       Helper.Right(TB_AñoDesde.Text, 4) + "";
                    //    cmd.ExecuteNonQuery();
                    //    progressBar1.Increment(9);
                    //}

                    //if (CB_Tipo.SelectedIndex == 1)
                    //{
                    //    cmd.CommandText = "UPDATE Legajo SET Puntaje = '9' WHERE ISNULL(FEgreso, '  /  /    ') NOT IN ('00/00/0000', '  /  /    ')";
                    //    cmd.ExecuteNonQuery();
                    //    progressBar1.Increment(9);
                    //}
                }
            }

            progressBar1.Visible = false;
            progressBar1.Value   = 0;

            VistaPrevia frm = new VistaPrevia();

            frm.CargarReporte(new wHorasCursadasPorLegajo(),
                              "{Legajo.Renglon} = 1 AND {Legajo.Descripcion} <> '' AND {Legajo.HorasTotal} IN 0 TO 9999 AND {Legajo.Puntaje} = 0");
            return(frm);
        }
コード例 #20
0
        private VistaPrevia _GenerarReporte()
        {
            if (txtAnio.Text.Trim() == "" || txtAnio.Text.Trim().Length < 4)
            {
                throw new Exception("No se ha cargado un Año válido de consulta.");
            }

            if (txtCurso.Text.Trim() != "")
            {
                DataRow WCurso = (new Curso())._BuscarCurso(txtCurso.Text, "Codigo");

                if (WCurso == null)
                {
                    throw new Exception("No se ha cargado un Curso válido de consulta.");
                }
            }

            if (txtLegajo.Text.Trim() != "")
            {
                DataTable WLegajo = (new Legajo())._BuscarLegajo(txtLegajo.Text, "Codigo");

                if (WLegajo.Rows.Count == 0)
                {
                    throw new Exception("No se ha cargado un Legajo válido de consulta.");
                }
            }

            /*
             * Recalculamos los datos a imprimir.
             */
            Helper.ActualizarCantidadPersonasHoras("01/06/" + txtAnio.Text, "31/05/" + (int.Parse(txtAnio.Text) + 1));
            Helper.ActualizarHorasRealizadas(txtAnio.Text);

            string WFormula = "{Cronograma.Ano}=" + txtAnio.Text +
                              " AND {Legajo.Renglon} = 1 ";

            if (txtCurso.Text.Trim() != "" && rbPorCurso.Checked)
            {
                WFormula += " AND {Cronograma.Curso} = " + txtCurso.Text + "";
            }

            if (txtLegajo.Text.Trim() != "")
            {
                WFormula += " AND {Legajo.Codigo} = " + txtLegajo.Text + "";
            }

            if (cmbTipo.SelectedIndex == 1 && rbPorCurso.Checked)
            {
                WFormula += " AND {Cronograma.Realizado} >= {Tema.Horas}";
            }

            if (cmbTipo.SelectedIndex == 2 && rbPorCurso.Checked)
            {
                WFormula += " AND {Cronograma.Realizado} < {Tema.Horas}";
            }

            if (cmbSector.SelectedIndex > 0 && txtLegajo.Text.Trim() == "")
            {
                DataRowView r = (DataRowView)cmbSector.SelectedItem;

                if (r != null)
                {
                    WFormula += " And {Legajo.Sector} = " + r["Codigo"];
                }
            }

            VistaPrevia frm = new VistaPrevia();

            ReportDocument rpt = rbPorCurso.Checked ? (ReportDocument) new ReporteInformeHorasRealizadasyProgramadasPorCurso() : new ReporteInformeHorasRealizadasyProgramadasPorLegajo();

            if (rbPorLegajo.Checked)
            {
                double[] Totales = _TraerTotalPersonas();

                rpt.SetParameterValue("TotalPersonas", Totales[0]);
                rpt.SetParameterValue("HorasTotales", Totales[1]);
                rpt.SetParameterValue("RealizadosTotales", Totales[2]);
                rpt.SetParameterValue("Todos", cmbTipo.SelectedIndex == 0);
                rpt.SetParameterValue("SoloCumplidos", cmbTipo.SelectedIndex == 1);
                rpt.SetParameterValue("SoloPendientes", cmbTipo.SelectedIndex == 2);
            }

            frm.CargarReporte(rpt, WFormula);

            return(frm);
        }
コード例 #21
0
        private void btnAceptar_Click(object sender, EventArgs e)
        {
            if (txtAno.Text.Trim().Length < 4)
            {
                return;
            }

            DataTable WDatos = _CargarDatosPorAnio(txtAno.Text);

            ReportDocument rpt      = null;
            string         WFormula = "";

            progressBar1.Value = 0;

            if (WDatos.Rows.Count == 0)
            {
                return;
            }

            if (rbPlanilla.Checked)
            {
                DataTable WDatosII = new DataTable();

                WDatosII.Columns.Add("Curso", typeof(int));
                WDatosII.Columns.Add("DescCurso");
                WDatosII.Columns.Add("Personas", typeof(int));

                progressBar1.Maximum = WDatos.Rows.Count;

                var WCursos = WDatos.DefaultView.ToTable(true, "Curso", "DescCurso");

                foreach (DataRow WCurso in WCursos.Select("", "Curso ASC"))
                {
                    if (int.Parse(WCurso["Curso"].ToString()) > 0)
                    {
                        DataRow r = WDatosII.NewRow();

                        var WPersonas = WDatos.Select("Curso = '" + WCurso["Curso"] + "'").ToArray().Count();

                        r["Curso"]     = WCurso["Curso"];
                        r["DescCurso"] = WCurso["DescCurso"];
                        r["Personas"]  = WPersonas;

                        WDatosII.Rows.Add(r);
                    }

                    progressBar1.Increment(1);
                }

                rpt = new PlanCapacitacionAnualTentativo();
                rpt.SetDataSource(WDatosII);
            }
            else if (rbPorLegajo.Checked)
            {
                DataTable WDatosII = new DBAuxi.ListadoTentativoDataTable();
                int       i        = 0;

                progressBar1.Maximum = WDatos.Rows.Count;

                foreach (DataRow row in WDatos.Rows)
                {
                    DataRow r = WDatosII.NewRow();

                    i++;
                    r["ID"]         = i;
                    r["Legajo"]     = row["Legajo"];
                    r["DescLegajo"] = row["DescLegajo"];
                    r["Curso"]      = row["Curso"];
                    r["DescCurso"]  = row["DescCurso"];
                    r["Tema"]       = row["Tema"];
                    r["DescTema"]   = row["DescTema"];
                    r["Horas"]      = row["Horas"];
                    r["Sector"]     = row["Sector"];
                    r["DescSector"] = row["DescSector"];
                    r["Año"]        = txtAno.Text;

                    WDatosII.Rows.Add(r);

                    progressBar1.Increment(1);
                }

                rpt = new ListadoPersonalCapacitacionAnualTentativo();
                rpt.SetDataSource(WDatosII);
            }
            else
            {
                progressBar1.Maximum = WDatos.Rows.Count;

                string WFiltroCursos = "";

                var WCursos = WDatos.DefaultView.ToTable(true, "Curso");

                foreach (DataRow WCurso in WCursos.Select("", "Curso ASC"))
                {
                    if (int.Parse(WCurso["Curso"].ToString()) > 0)
                    {
                        WFiltroCursos += WCurso["Curso"] + ",";
                    }

                    progressBar1.Increment(1);
                }

                rpt = new ListadoCursosIncluidos();

                if (WFiltroCursos.Trim() != "")
                {
                    WFiltroCursos = WFiltroCursos.Trim(',');

                    WFormula = "{Tema.Curso} IN [" + WFiltroCursos + "] And {Tema.Curso} > 0";
                }
            }

            progressBar1.Value = 0;

            VistaPrevia frm = new VistaPrevia();

            frm.CargarReporte(rpt, WFormula);

            frm.Show(this);
        }
コード例 #22
0
        private void _MostrarReporte(string WTipoImpre)
        {
            DataTable WProveedores = _ProcesarEvaluacionProveedores();

            DataRow[] WProveedoresFinales = WProveedores.Select("Pasa = 'S'");

            double ZMovimientos = 0, ZCertificadosOk = 0, ZEnvasesOk = 0, ZRetrasos = 0;
            string ZImpre1  = "",
                   ZImpre2  = "",
                   ZImpre3  = "",
                   ZImpre4  = "",
                   ZImpre5  = "",
                   ZImpre6  = "",
                   ZImpre7  = "",
                   ZImpre8  = "",
                   ZImpre9  = "",
                   ZImpre10 = "",
                   ZImpre11 = "",
                   ZImpre12 = "";

            SqlTransaction trans = null;

            try
            {
                using (SqlConnection conn = new SqlConnection())
                {
                    conn.ConnectionString = ConfigurationManager.ConnectionStrings["SurfactanSa"].ConnectionString;
                    conn.Open();
                    trans = conn.BeginTransaction();

                    using (SqlCommand cmd = new SqlCommand())
                    {
                        cmd.Connection  = conn;
                        cmd.CommandText = "";
                        cmd.Transaction = trans;

                        cmd.CommandText = "UPDATE Proveedor SET "
                                          + " Impre1 = " + "0" + ", "
                                          + " Impre2 = " + "0" + ", "
                                          + " Impre3 = " + "0" + ", "
                                          + " Impre4 = " + "0" + ", "
                                          + " Impre5 = " + "0" + ", "
                                          + " Impre6 = " + "0" + ", "
                                          + " Impre7 = '" + "" + "', "
                                          + " Impre8 = '" + "" + "', "
                                          + " Impre9 = '" + "" + "', "
                                          + " Impre10 = " + "0" + ", "
                                          + " Impre11 = '" + "" + "', "
                                          + " Impre12 = '" + "" + "', "
                                          + " Periodo = '" + "" + "'";

                        cmd.ExecuteNonQuery();

                        foreach (DataRow WProveedor in WProveedoresFinales)
                        {
                            //WRenglon = DGV_EvalSemProve.Rows.Add();

                            ZMovimientos    = double.Parse(WProveedor["Movimientos"].ToString());
                            ZCertificadosOk = double.Parse(WProveedor["CertificadosOk"].ToString());
                            ZEnvasesOk      = double.Parse(WProveedor["EnvasesOk"].ToString());
                            ZRetrasos       = int.Parse(WProveedor["Retrasos"].ToString());

                            ZImpre1 = WProveedor["Movimientos"].ToString();
                            ZImpre2 = WProveedor["Aprobados"].ToString();
                            ZImpre3 = WProveedor["Desvios"].ToString();
                            ZImpre4 = WProveedor["Rechazados"].ToString();
                            ZImpre5 = WProveedor["CertificadosOk"].ToString();
                            ZImpre6 = WProveedor["EnvasesOk"].ToString();

                            ZImpre7 = ZMovimientos != 0
                                ? Helper.FormatoNumerico((ZCertificadosOk / ZMovimientos) * 100)
                                : "";
                            ZImpre8 = ZMovimientos != 0 ? Helper.FormatoNumerico((ZEnvasesOk / ZMovimientos) * 100) : "";
                            ZImpre9 = ZMovimientos != 0
                                ? Helper.FormatoNumerico(((ZCertificadosOk + ZEnvasesOk) / (ZMovimientos * 2)) * 100)
                                : "";

                            ZImpre10 = ZRetrasos.ToString();

                            if (double.Parse(ZImpre10.Replace(".", ",")) <= 1)
                            {
                                ZImpre11 = "Muy Bueno";
                            }
                            else if (double.Parse(ZImpre10.Replace(".", ",")) <= 2)
                            {
                                ZImpre11 = "Bueno";
                            }
                            else if (double.Parse(ZImpre10.Replace(".", ",")) <= 7)
                            {
                                ZImpre11 = "Regular";
                            }
                            else
                            {
                                ZImpre11 = "Malo";
                            }


                            if (int.Parse(ZImpre4) == 0)
                            {
                                ZImpre12 = "A";
                            }
                            else if (int.Parse(ZImpre4) == 0)
                            {
                                ZImpre12 = "B";
                            }
                            else
                            {
                                ZImpre12 = "C";
                            }


                            cmd.CommandText = "UPDATE Proveedor SET "
                                              + " Impre1 = " + ZImpre1 + ", "
                                              + " Impre2 = " + ZImpre2 + ", "
                                              + " Impre3 = " + ZImpre3 + ", "
                                              + " Impre4 = " + ZImpre4 + ", "
                                              + " Impre5 = " + ZImpre5 + ", "
                                              + " Impre6 = " + ZImpre6 + ", "
                                              + " Impre7 = '" + ZImpre7 + "', "
                                              + " Impre8 = '" + ZImpre8 + "', "
                                              + " Impre9 = '" + ZImpre9 + "', "
                                              + " Impre10 = " + ZImpre10 + ", "
                                              + " Impre11 = '" + ZImpre11 + "', "
                                              + " Impre12 = '" + ZImpre12 + "', "
                                              + " Periodo = '" + "Del " + TB_Desde.Text + " al " + TB_Hasta.Text + "'"
                                              + " WHERE Proveedor = '" + WProveedor["Proveedor"] + "'";

                            cmd.ExecuteNonQuery();
                        }

                        cmd.CommandText = "UPDATE Proveedor SET "
                                          + " Periodo = '" + "Del " + TB_Desde.Text + " al " + TB_Hasta.Text + "     " +
                                          GenerarTextoPlantas() + "'";

                        cmd.ExecuteNonQuery();

                        trans.Commit();
                    }
                }

                string WFiltro = " AND {Proveedor.Impre1} > 0";

                if (rbTodos.Checked)
                {
                    WFiltro = "";
                }

                VistaPrevia frm = new VistaPrevia();
                frm.CargarReporte(new wcalificaenvase(), "{Proveedor.TipoProv}=2" + WFiltro);
                if (WTipoImpre == "Pantalla")
                {
                    frm.Show();
                }
                if (WTipoImpre == "Imprimir")
                {
                    frm.Imprimir();
                }
            }
            catch (Exception ex)
            {
                if (trans != null)
                {
                    trans.Rollback();
                }
                progressBar1.Visible = false;
                MessageBox.Show(
                    "Ocurrió un problema al querer procesar la información de las Evaluaciones Semestrales de los Proveedores de Materia Prima. Motivo: " +
                    ex.Message);
            }
        }