Exemple #1
0
        public DataTable BuscaString(string produto, string data, string lote, string lote2, int ajuste, int saida)
        {
            DAORegistro dao = new DAORegistro(cx);

            try
            {
                if (data == string.Empty && lote2 == string.Empty)
                {
                    return(dao.LocalizaPorString(produto, data, lote, ajuste, saida));
                }
                else if (lote2 != string.Empty)
                {
                    return(dao.Localiza2Lotes(produto, data, lote, lote2, ajuste, saida));
                }
                else
                {
                    return(dao.LocalizaPorString(produto, Convert.ToDateTime(data).ToString("yyyy-MM-dd 00:00:00"), lote, ajuste, saida));
                }
            }
            catch
            {
                MessageBox.Show("Dados nao encontrados!", "Operação Invalida", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return(null);
            }
        }
        }       //RETORNA UM PRODUTO COM SEU ESTOQUE ATUAL

        public Queue <ModelCalculaLotes> CalculaLotes(int cod_produto)
        {
            DAOLotes    lote     = new DAOLotes(cx);
            DAORegistro registro = new DAORegistro(cx);

            Queue <ModelCalculaLotes> filaAux = new Queue <ModelCalculaLotes>();

            filaLotes     = lote.LocalizarLotes(cod_produto);           //SAIDAS DOS PRODUTOS
            filaRegistros = registro.LocalizarRegistro(cod_produto);    //ENTRADAS DOS PRODUTOS


            foreach (var item in filaRegistros)
            {
                foreach (var item2 in filaLotes)
                {
                    item.Id_lote = item2.Id_lote;
                    if (item2.lote.Equals(item.lote))
                    {
                        item.total += item2.quantidade;
                    }
                }

                if (item.total < item.quantidade)
                {
                    item.restante = item.quantidade - item.total;
                    filaAux.Enqueue(item);
                }
            }

            return(filaAux);
        }
Exemple #3
0
        private void button3_Click(object sender, EventArgs e)
        {
            //int cod = 994;
            DAOKpi      daok = new DAOKpi();
            DAORegistro daor = new DAORegistro();

            for (int i = 986; i >= 970; i--)
            {
                DataTable dt  = daok.ObtenerKPI(i);
                Kpi       kpi = new Kpi();
                foreach (DataRow rw in dt.Rows)
                {
                    kpi.IndCod_KPIDivision    = i + 2;
                    kpi.Ind_KPIDivision       = rw[1].ToString();
                    kpi.Ind_KPIDivisionAbrev  = rw[2].ToString();
                    kpi.Ind_KPIDivisionEstado = rw[3].ToString();
                    kpi.Ind_KPIDivisionCodUni = rw[4].ToString();
                    kpi.Ind_KPITipoData       = rw[5].ToString();
                    kpi.Ind_SLA             = (decimal)Decimal.Parse(rw[6].ToString());
                    kpi.IndCod_KPIGen       = (int)Int32.Parse(rw[7].ToString());
                    kpi.Cod_sociedad        = (int)Int32.Parse(rw[8].ToString());
                    kpi.Ind_KPIDivisionTipo = rw[9].ToString();
                    kpi.Uni_falla           = (decimal)Decimal.Parse(rw[10].ToString());
                    kpi.Tas_multa           = (decimal)Decimal.Parse(rw[11].ToString());
                }

                daok.insertKPICompleto(kpi);

                daor.updateRegistros(i, i + 2);

                daok.deleteKPI(i);
            }

            MessageBox.Show("Fin");
        }
Exemple #4
0
        private void button2_Click(object sender, EventArgs e)
        {
            List <Registro> newregistros = new List <Registro>();
            DAORegistro     dao          = new DAORegistro();

            foreach (DataGridViewRow row in dataGridView1.Rows)
            {
                Registro nuevo = new Registro();

                nuevo.Fecha_registro     = dateTimePicker1.Value;
                nuevo.Periodo_registro   = dateTimePicker1.Value.ToString("yyyyMM");
                nuevo.IndCod_KPIDivision = (int)Int32.Parse(row.Cells[0].Value.ToString());
                nuevo.Valor_registro     = calcularValorRegistro(row.Cells[4].Value.ToString());

                if (nuevo.Valor_registro != null)
                {
                    nuevo.Valor_penalidad = calcularPenalidad(nuevo);
                }

                dao.insertRegistro(nuevo);
            }

            MessageBox.Show("Termino!");
            this.Close();
        }
Exemple #5
0
        private void button2_Click(object sender, EventArgs e)
        {
            List <Registro> newregistros = new List <Registro>();
            DAORegistro     dao          = new DAORegistro();

            foreach (DataGridViewRow row in dataGridView1.Rows)
            {
                Registro nuevo = new Registro();
                nuevo.Fecha_registro     = dateTimePicker1.Value;
                nuevo.Periodo_registro   = dateTimePicker1.Value.ToString("yyyyMM");
                nuevo.IndCod_KPIDivision = (int)Int32.Parse(row.Cells[0].Value.ToString());
                nuevo.Valor_registro     = calcularValorRegistro(row.Cells[4].Value.ToString());
                dao.insertRegistro(nuevo);
            }

            DAOKpi    daok = new DAOKpi();
            DataTable dti  = daok.ListarSLAGMDBinarios("Informe");
            DataTable dtr  = daok.ListarSLAGMDBinarios("Reunión");


            foreach (DataRow rw in dti.Rows)
            {
                Registro nuevo = new Registro();
                nuevo.Fecha_registro     = dateTimePicker1.Value;
                nuevo.Periodo_registro   = dateTimePicker1.Value.ToString("yyyyMM");
                nuevo.IndCod_KPIDivision = (int)Int32.Parse(rw[0].ToString());

                if (checkBox1.Checked)
                {
                    nuevo.Valor_registro = 1;
                }
                else
                {
                    nuevo.Valor_registro = 0;
                }
                dao.insertRegistro(nuevo);
            }

            foreach (DataRow rw in dtr.Rows)
            {
                Registro nuevo = new Registro();
                nuevo.Fecha_registro     = dateTimePicker1.Value;
                nuevo.Periodo_registro   = dateTimePicker1.Value.ToString("yyyyMM");
                nuevo.IndCod_KPIDivision = (int)Int32.Parse(rw[0].ToString());

                if (checkBox2.Checked)
                {
                    nuevo.Valor_registro = 1;
                }
                else
                {
                    nuevo.Valor_registro = 0;
                }
                dao.insertRegistro(nuevo);
            }

            MessageBox.Show("Termino!");
            this.Close();
        }
Exemple #6
0
        public int Update(int id, Registro registro)
        {
            int result = 0;

            daoRegistro = new DAORegistro();
            result      = daoRegistro.Update(id, registro);
            return(result);
        }
Exemple #7
0
        public int calcularConsecutivos(Kpi kpi)
        {
            DAORegistro daoregistro = new DAORegistro();

            DataTable       dtregistro    = daoregistro.MostrarRegistroxKPI(kpi.IndCod_KPIDivision.Value);
            List <Registro> listaregistro = new List <Registro>();

            foreach (DataRow rw in dtregistro.Rows)
            {
                Registro reg = new Registro();
                reg.Fecha_registro     = DateTime.ParseExact(rw[0].ToString(), "yyyy-MM-dd HH:mm:ss", null);
                reg.Periodo_registro   = rw[1].ToString();
                reg.IndCod_KPIDivision = (int)Int32.Parse(rw[2].ToString());

                if (!rw[3].ToString().Equals(""))
                {
                    reg.Valor_registro = (decimal)Decimal.Parse(rw[3].ToString());
                }

                if (!rw[4].ToString().Equals(""))
                {
                    reg.Valor_penalidad = (decimal)Decimal.Parse(rw[4].ToString());
                }

                listaregistro.Add(reg);
            }

            int meses = 0;

            for (int i = listaregistro.Count - 1; i >= 0; i--)
            {
                if (kpi.Ind_KPIDivisionTipo.Equals("Porcentaje"))
                {
                    if (listaregistro[i].Valor_registro < kpi.Ind_SLA)
                    {
                        break;
                    }
                }
                else
                {
                    if (listaregistro[i].Valor_registro > kpi.Ind_SLA)
                    {
                        break;
                    }
                }

                meses++;
            }

            return(meses);
        }
        }   //RETORNA UMA LISTA COM TODOS OS PRODUTOS E SEU ESTOQUE ATUAL

        public static double CalculaEstoque(int id)
        {
            double aux = 0, aux2 = 0;
            //LISTA PARA OS REGISTROS
            List <ModelRegistro> lista    = new List <ModelRegistro>();
            DAORegistro          dao      = new DAORegistro(cx);
            ModelRegistro        registro = new ModelRegistro();

            lista.Clear();
            aux  = 0;
            aux2 = 0;
            DataTable estoque             = dao.LocalizaRegistros(id);

            //LOOP PARA JOGAR O DATATABLE EM UMA LISTA
            foreach (DataRow item in estoque.Rows)
            {
                registro               = new ModelRegistro();
                registro.Id_produto    = Convert.ToInt32(item["Fk_produto"].ToString());
                registro.qtd_produto   = Convert.ToDouble(item["qtd_produto"].ToString());
                registro.tipo_operacao = int.Parse(item["tipo_operacao"].ToString());

                lista.Add(registro);
            }
            //FIM LOOP

            //LOOP PARA SEPARAR A ENTRADA E SAIDA E FAZAER O CALCULO DE CADA UM
            foreach (var item in lista)
            {
                if (item.tipo_operacao == 0)    //SE FOR ENTRADA
                {
                    aux = aux + item.qtd_produto;
                }
                if (item.tipo_operacao == 1)    //SE FOR SAIDA
                {
                    aux2 = aux2 + item.qtd_produto;
                }
            }

            return(aux - aux2);
            //FIM DO LOOP
        }       //RETORNA UM PRODUTO COM SEU ESTOQUE ATUAL
        public static List <ModelProduto> BuscaDados(int ope, string valor)
        {
            try
            {
                double aux = 0, aux2 = 0;
                //LISTA PARA OS REGISTROS
                List <ModelRegistro> listaRegistro = new List <ModelRegistro>();
                ModelRegistro        registro;
                DAORegistro          dao = new DAORegistro(cx);
                ModelProduto         modProduto;
                DAOProduto           produto = new DAOProduto(cx);
                List <ModelProduto>  Lista = new List <ModelProduto>();
                DataTable            TabelaProdutos;

                TabelaProdutos = produto.LocalizaDadosParaCalcularEstoque(ope, valor);

                //LOOP PARA JOGAR O DATATABLE EM UMA LISTA
                foreach (DataRow item in TabelaProdutos.Rows)
                {
                    modProduto            = new ModelProduto();
                    modProduto.Id_produto = Convert.ToInt32(item["ID PRODUTO"].ToString());
                    modProduto.DscProduto = item["PRODUTO"].ToString();
                    modProduto.qtd_minimo = Convert.ToInt32(item["QTD.MINIMO"].ToString());

                    Lista.Add(modProduto);
                }

                //LOOP PARA FAZER O CALCULO DE TODOS OS PRODUTOS
                foreach (var lisProdutos in Lista)
                {
                    listaRegistro.Clear();
                    aux  = 0;
                    aux2 = 0;
                    DataTable estoque = dao.LocalizaRegistros(lisProdutos.Id_produto);
                    //LOOP PARA JOGAR O DATATABLE EM UMA LISTA
                    foreach (DataRow item in estoque.Rows)
                    {
                        registro               = new ModelRegistro();
                        registro.Id_produto    = Convert.ToInt32(item["Fk_produto"].ToString());
                        registro.qtd_produto   = Convert.ToDouble(item["qtd_produto"].ToString());
                        registro.tipo_operacao = int.Parse(item["tipo_operacao"].ToString());

                        listaRegistro.Add(registro);
                    }
                    //estoque.Clear();
                    //FIM LOOP

                    //LOOP PARA SEPARAR A ENTRADA E SAIDA E FAZAER O CALCULO DE CADA UM
                    foreach (var item2 in listaRegistro)
                    {
                        if (item2.tipo_operacao == 0)//SE FOR ENTRADA
                        {
                            aux = aux + item2.qtd_produto;
                        }
                        if (item2.tipo_operacao == 1)//SE FOR SAIDA
                        {
                            aux2 = aux2 + item2.qtd_produto;
                        }
                    }

                    lisProdutos.qtd_estoque = aux - aux2;
                    //FIM DO LOOP
                }

                return(Lista);
            }
            catch
            {
                return(null);
            }
        }   //RETORNA UMA LISTA COM TODOS OS PRODUTOS E SEU ESTOQUE ATUAL
Exemple #10
0
        private void button1_Click(object sender, EventArgs e)
        {
            //List<Registro> listaregistro = new List<Registro>();

            MessageBox.Show("Comenzamos La Carga, solo tiene que tener columnas CD, Sede, Empresa y Valor Actual. El excel solo debe tener una hoja.");

            DAOKpi      daok = new DAOKpi();
            DAORegistro daor = new DAORegistro();

            string Chosen_File = "";

            openFileDialog1.Title    = "Ingresa la Solicitud";
            openFileDialog1.FileName = "";
            openFileDialog1.Filter   = "Archivos Excel *.xls|*.xls*";
            openFileDialog1.ShowDialog();

            Chosen_File = openFileDialog1.FileName;
            Excel.Application xlApp;
            Excel.Workbook    xlWorkBook;


            if (Chosen_File == "")
            {
                MessageBox.Show("No ha Seleccionado ningun Archivo");
            }
            else
            {
                //Sentencias Excel
                object misValue = System.Reflection.Missing.Value;
                xlApp      = new Excel.Application();
                xlWorkBook = xlApp.Workbooks.Open(Chosen_File, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
                int lastRow = -1;

                foreach (Excel.Worksheet element in xlWorkBook.Worksheets)
                {
                    lastRow = element.UsedRange.Rows.Count;
                    Excel.Range rango = (Excel.Range)element.get_Range("A2", "D" + lastRow);

                    for (int row = 1; row <= rango.Rows.Count; row++)
                    {
                        Registro reg = new Registro();

                        //reg.Fecha_registro = monthCalendar1.SelectionStart;
                        reg.Fecha_registro     = dateTimePicker1.Value;
                        reg.Periodo_registro   = reg.Fecha_registro.Value.ToString("yyyyMM");
                        reg.IndCod_KPIDivision = daok.ObtenerKPICodxUnicode(rango.Cells[row, 1].Value2.ToString());

                        if (reg.IndCod_KPIDivision == -1)
                        {
                            MessageBox.Show("El CD " + rango.Cells[row, 1].Value2.ToString() + " no esta registrado");
                        }
                        else
                        {
                            reg.Valor_registro = (decimal)decimal.Parse(rango.Cells[row, 4].Value2.ToString());
                            daor.insertRegistro(reg);
                        }
                    }
                    break;
                }

                MessageBox.Show("Terminado!");

                xlWorkBook.Close(false, misValue, misValue);
                xlApp.Quit();

                releaseObject(xlWorkBook);
                releaseObject(xlApp);
            }
        }
Exemple #11
0
        private void button1_Click(object sender, EventArgs e)
        {
            DAOKpi      daokpi      = new DAOKpi();
            DAORegistro daoregistro = new DAORegistro();

            DataTable dtkpi = daokpi.ListarSLAIBM();

            List <Kpi> listakpi = new List <Kpi>();

            foreach (DataRow rw in dtkpi.Rows)
            {
                Kpi kpi = new Kpi();
                kpi.IndCod_KPIDivision    = (int)Int32.Parse(rw[0].ToString());
                kpi.Ind_KPIDivision       = rw[1].ToString();
                kpi.Ind_KPIDivisionAbrev  = rw[2].ToString();
                kpi.Ind_KPIDivisionEstado = rw[3].ToString();
                kpi.Ind_KPIDivisionCodUni = rw[4].ToString();
                kpi.Ind_KPITipoData       = rw[5].ToString();
                kpi.Ind_SLA             = (decimal)Decimal.Parse(rw[6].ToString());
                kpi.IndCod_KPIGen       = (int)Int32.Parse(rw[7].ToString());
                kpi.Cod_sociedad        = (int)Int32.Parse(rw[8].ToString());
                kpi.Ind_KPIDivisionTipo = rw[9].ToString();
                kpi.Uni_falla           = (decimal)Decimal.Parse(rw[10].ToString());
                kpi.Tas_multa           = (decimal)Decimal.Parse(rw[11].ToString());
                listakpi.Add(kpi);
            }

            foreach (Kpi k in listakpi)
            {
                DataTable       dtregistro    = daoregistro.MostrarRegistroxKPI(k.IndCod_KPIDivision.Value);
                List <Registro> listaregistro = new List <Registro>();
                foreach (DataRow rw in dtregistro.Rows)
                {
                    Registro reg = new Registro();
                    reg.Fecha_registro     = DateTime.ParseExact(rw[0].ToString(), "yyyy-MM-dd HH:mm:ss", null);
                    reg.Periodo_registro   = rw[1].ToString();
                    reg.IndCod_KPIDivision = (int)Int32.Parse(rw[2].ToString());

                    if (!rw[3].ToString().Equals(""))
                    {
                        reg.Valor_registro = (decimal)Decimal.Parse(rw[3].ToString());
                    }

                    if (!rw[4].ToString().Equals(""))
                    {
                        reg.Valor_penalidad = (decimal)Decimal.Parse(rw[4].ToString());
                    }


                    if (reg.Valor_registro != null)
                    {
                        int     consecutivos  = calcularConsecutivos(listaregistro, k.Ind_SLA.Value, k.Ind_KPIDivisionTipo);
                        decimal tasareduccion = 0.5M;

                        if (consecutivos < 9)
                        {
                            tasareduccion = (consecutivos * 1.0M / 9) * 0.5M;
                        }

                        listaregistro.Add(reg);

                        decimal falla      = calcularFalla(reg, k);
                        decimal crediFalla = falla * k.Tas_multa.Value;
                        decimal penalidad  = crediFalla * (1M - tasareduccion);

                        reg.Valor_penalidad = penalidad;

                        daoregistro.updateRegistro(reg);
                    }
                }
            }
            MessageBox.Show("FIN");
        }
Exemple #12
0
        public DataTable LocalizarDadosCarga(int valor)
        {
            DAORegistro dao = new DAORegistro(cx);

            return(dao.LocalizarDadosCarga(valor));
        }
Exemple #13
0
        public DataTable BuscaInt(int valor)
        {
            DAORegistro dao = new DAORegistro(cx);

            return(dao.LocalizaPorInt(valor));
        }
Exemple #14
0
        private void btnGuardarSLATel_Click(object sender, EventArgs e)
        {
            int             indServicio = 0;
            List <Registro> registros   = new List <Registro>();
            DAOKpi          daok        = new DAOKpi();

            foreach (DataGridViewRow row in dataGridView1.Rows)
            {
                switch (indServicio)
                {
                case 0:
                    for (int i = 0; i < sociedades.Count; i++)
                    {
                        int      codKPI = daok.ObtenerKPICodEmpresa(sociedades[i], 21);
                        Registro reg    = new Registro();
                        reg.Fecha_registro     = mescarga;
                        reg.IndCod_KPIDivision = codKPI;
                        reg.Periodo_registro   = reg.Fecha_registro.Value.ToString("yyyyMM");
                        reg.Valor_penalidad    = 0;
                        reg.Valor_registro     = (decimal)Decimal.Parse(row.Cells[i + 1].Value.ToString()) / 100M;
                        registros.Add(reg);
                    }
                    break;

                case 1:
                    for (int i = 0; i < sociedades.Count; i++)
                    {
                        if (i != 3)
                        {
                            int      codKPI = daok.ObtenerKPICodEmpresa(sociedades[i], 25);
                            Registro reg    = new Registro();
                            reg.Fecha_registro     = mescarga;
                            reg.IndCod_KPIDivision = codKPI;
                            reg.Periodo_registro   = reg.Fecha_registro.Value.ToString("yyyyMM");
                            reg.Valor_penalidad    = 0;
                            reg.Valor_registro     = (decimal)Decimal.Parse(row.Cells[i + 1].Value.ToString()) / 100M;
                            registros.Add(reg);
                        }
                    }
                    break;

                case 2:
                    Registro r = new Registro();
                    r.Fecha_registro     = mescarga;
                    r.IndCod_KPIDivision = 565;
                    r.Periodo_registro   = r.Fecha_registro.Value.ToString("yyyyMM");
                    r.Valor_penalidad    = 0;
                    r.Valor_registro     = (decimal)Decimal.Parse(row.Cells[1].Value.ToString()) / 100M;
                    registros.Add(r);

                    break;

                case 3:
                    Registro rc = new Registro();
                    rc.Fecha_registro     = mescarga;
                    rc.IndCod_KPIDivision = 573;
                    rc.Periodo_registro   = rc.Fecha_registro.Value.ToString("yyyyMM");
                    rc.Valor_penalidad    = 0;
                    rc.Valor_registro     = (decimal)Decimal.Parse(row.Cells[3].Value.ToString()) / 100M;
                    registros.Add(rc);

                    break;
                }

                indServicio++;
            }

            Registro regis = registros[0];

            DAORegistro daor = new DAORegistro();

            foreach (Registro r in registros)
            {
                daor.insertRegistro(r);
            }

            MessageBox.Show("Se cargo los SLAs!");
        }