private void bgwEanPosicao_DoWork(object sender, DoWorkEventArgs e)//:::::::::: EAN x Posição (Diário)::: { AccessBD conex = new AccessBD(); string SQL; IDataReader retornoBD; grafEanPosicaoDiario.Titles.Clear(); grafEanPosicaoDiario.Series.Clear(); grafEanPosicaoDiario.Titles.Add("Acompanhamento diário de EAN x Posição"); grafEanPosicaoDiario.Titles[0].Font = new Font("", 14, FontStyle.Bold); grafEanPosicaoDiario.Series.Add("acuracia"); grafEanPosicaoDiario.Series["acuracia"].BackHatchStyle = System.Windows.Forms.DataVisualization.Charting.ChartHatchStyle.BackwardDiagonal; grafEanPosicaoDiario.Series["acuracia"].IsValueShownAsLabel = true; grafEanPosicaoDiario.Series["acuracia"].Color = Color.FromArgb(53, 152, 219); grafEanPosicaoDiario.Series["acuracia"].XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.DateTime; grafEanPosicaoDiario.Series["acuracia"].YValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Double; SQL = "SELECT RIGHT(DAT_CONT, 2) & '/' & MID(DAT_CONT, 5, 2) & '/' & LEFT(DAT_CONT, 4), ROUND(AVG(ACUR) * 100, 2) " + "FROM(SELECT DAT_CONT, DOC_INV1, POS_DEP, IIF(COUNT(PRODUTO) > 1,0,1) AS ACUR " + "FROM(SELECT A.DAT_CONT, A.DOC_INV1, A.POS_DEP, A.PRODUTO FROM INVENTARIO AS A LEFT JOIN POSICAO AS B ON A.POS_DEP = B.POSICAO WHERE A.DAT_CONT BETWEEN " + dataDe + " AND " + dataAte + " and B.TIPO_DEP NOT IN (1003,7001,7004) AND A.PRODUTO <> '' GROUP BY A.DOC_INV1, A.POS_DEP, A.PRODUTO, A.DAT_CONT) " + "GROUP BY DOC_INV1, POS_DEP, DAT_CONT) " + "GROUP BY DAT_CONT"; retornoBD = conex.consultaReader(SQL); while (retornoBD.Read()) { grafEanPosicaoDiario.Series["acuracia"].Points.AddXY(retornoBD.GetString(0), retornoBD.GetDouble(1)); } grafEanPosicaoDiario.Titles.Add("Acompanhamento diário de EAN x Posição (" + dtpDataDe2.Text + " à " + dtpDataAte2.Text + ")"); grafEanPosicaoDiario.Titles[0].Font = new Font("", 14, FontStyle.Bold); }
protected internal void frmInvRotativo_Load(object sender, EventArgs e) { AccessBD conex = new AccessBD(); string SQL, posicao, rua = "0", nivel = "0"; int qtdCont; IDataReader retornoBD; dtpDe.Text = "01/" + DateTime.Now.Month.ToString() + "/" + DateTime.Now.Year.ToString(); dtpAte.Text = DateTime.Now.ToString(); cmbPesquisa.SelectedIndex = 0; conex.AbrirConexao(); lblUltimoInvent.Text = conex.consultaScalar("SELECT RIGHT(DAT_post, 2) &'/'& MID(DAT_post, 5, 2) &'/'& LEFT(DAT_post, 4) & ' ÀS ' & MAX(hr_post) AS hr_post FROM INVENTARIO WHERE (((INVENTARIO.[DAT_POST])=(SELECT Max(dat_POST) FROM INVENTARIO))) group by dat_post"); try { //Preenche o datagridview SQL = "SELECT INVENTARIO.POS_DEP, COUNT(INVENTARIO.POS_DEP), POSICAO.DAT_CONT " + "FROM(" + "SELECT DOC_INV1, POS_DEP " + "FROM INVENTARIO " + "GROUP BY POS_DEP, DOC_INV1 " + ") , POSICAO " + "WHERE INVENTARIO.POS_DEP = POSICAO.POSICAO " + "GROUP BY INVENTARIO.POS_DEP, POSICAO.DAT_CONT " + "order by INVENTARIO.POS_DEP "; retornoBD = conex.consultaReader(SQL); cmbNivel.Items.Add(""); cmbRua.Items.Add(""); while (retornoBD.Read()) { posicao = retornoBD.GetString(0); qtdCont = retornoBD.GetInt32(1); dgvPos.Rows.Add(posicao, qtdCont); //carrega Combo box RUA if (rua != posicao.Substring(0, 5)) { rua = posicao.Substring(0, 5); cmbRua.Items.Add(posicao.Substring(0, 5)); } if (posicao.Length >= 13) { nivel = posicao.Substring(11, 2); } //Carrega combo box Nivel if (cmbNivel.FindStringExact(nivel) < 0) { cmbNivel.Items.Add(posicao.Substring(11, 2)); } } } catch (Exception ex) { MessageBox.Show(ex.ToString()); } conex.FecharConexao(); }
private void bgwAcuracidadeDiaria_DoWork(object sender, DoWorkEventArgs e)//:: ACURACIDADE DIÁRIA ::: { AccessBD conex = new AccessBD(); string SQL; IDataReader retornoBD; //dtpDataDe2.Text = "01/" + DateTime.Now.Month.ToString() + "/" + DateTime.Now.Year.ToString(); //dtpDataAte2.Text = DateTime.Now.ToString(); grafAcuracidadeDiario.Titles.Clear(); grafAcuracidadeDiario.Series.Clear(); grafAcuracidadeDiario.Titles.Add("Acuracidade de estoque diária (" + dtpDataDe2.Text + " à " + dtpDataAte2.Text + ")"); grafAcuracidadeDiario.Titles[0].Font = new Font("", 14, FontStyle.Bold); grafAcuracidadeDiario.Series.Add("acuracia"); grafAcuracidadeDiario.Series["acuracia"].BackHatchStyle = System.Windows.Forms.DataVisualization.Charting.ChartHatchStyle.BackwardDiagonal; grafAcuracidadeDiario.Series["acuracia"].IsValueShownAsLabel = true; grafAcuracidadeDiario.Series["acuracia"].Color = Color.FromArgb(231, 126, 35); grafAcuracidadeDiario.Series["acuracia"].XValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.DateTime; grafAcuracidadeDiario.Series["acuracia"].YValueType = System.Windows.Forms.DataVisualization.Charting.ChartValueType.Double; SQL = "SELECT RIGHT(DAT_CONT, 2) & '/' & MID(DAT_CONT, 5, 2) & '/' & LEFT(DAT_CONT, 4), ROUND((1 - (SUM(VALOR2) / " + "(SELECT SUM(VALOR2) FROM(SELECT A.DAT_CONT, A.ORDEM, A.POS_DEP, A.PRODUTO, ABS(A.DIFER * B.VALOR) AS VALOR2 " + "FROM " + "(SELECT DAT_CONT, ORDEM, POS_DEP, PRODUTO, SUM(QTD_DIFER) AS DIFER " + "FROM INVENTARIO " + "WHERE TIPO_DEP IN(1001, 1002, 1003, 2001, 2002, 3003, 3008, 5002) AND DAT_CONT BETWEEN " + dataDe + " AND " + dataAte + " GROUP BY DAT_CONT, ORDEM, POS_DEP, PRODUTO) AS A LEFT JOIN VALPROD AS B ON A.PRODUTO = B.PRODUTO)))) *100, 2) " + "FROM " + "(SELECT A.DAT_CONT, A.ORDEM, A.POS_DEP, A.PRODUTO, ABS(A.DIFER * B.VALOR) AS VALOR2 " + "FROM " + "(SELECT DAT_CONT, ORDEM, POS_DEP, PRODUTO, SUM(QTD_DIFER) AS DIFER " + "FROM INVENTARIO " + "WHERE TIPO_DEP IN(1001, 1002, 1003, 2001, 2002, 3003, 3008, 5002) AND DAT_CONT BETWEEN " + dataDe + " AND " + dataAte + " GROUP BY DAT_CONT, ORDEM, POS_DEP, PRODUTO) AS A LEFT JOIN VALPROD AS B ON A.PRODUTO = B.PRODUTO) " + "GROUP BY DAT_CONT; "; retornoBD = conex.consultaReader(SQL); while (retornoBD.Read()) { grafAcuracidadeDiario.Series["acuracia"].Points.AddXY(retornoBD.GetString(0), retornoBD.GetDouble(1)); } }
private void bgwPosicoesContadas_DoWork(object sender, DoWorkEventArgs e)//::::::Posições contadas :::::: { AccessBD conex = new AccessBD(); string SQL; IDataReader retornoBD; grafRotativoDia.Titles.Clear(); //Deleta os Tìtulos do gráfico grafRotativoDia.Series.Clear(); //Deleta as séries do gráfico grafRotativoDia.Titles.Add("Posições Contadas (" + dtpDataDe2.Text + " à " + dtpDataAte2.Text + ")"); // adiciona título grafRotativoDia.Titles[0].Font = new Font("", 14, FontStyle.Bold); // coloca o título como negrito grafRotativoDia.Series.Add("Qtd. Contada"); // Adiciona a série "Quantidade contada" grafRotativoDia.Series["Qtd. Contada"].BackHatchStyle = System.Windows.Forms.DataVisualization.Charting.ChartHatchStyle.BackwardDiagonal; grafRotativoDia.Series["Qtd. Contada"].IsValueShownAsLabel = true; // Abilita rótulos para a série grafRotativoDia.Series["Qtd. Contada"].Color = Color.FromArgb(232, 189, 15); // seta cor vermelha para a série grafRotativoDia.Series.Add("Target = 461 posições/dia"); // adiciona outra série grafRotativoDia.Series["Target = 461 posições/dia"].Color = Color.Red; // seta cor vermelha para a série grafRotativoDia.Series["Target = 461 posições/dia"].IsValueShownAsLabel = true; // Abilita rótulos para a série grafRotativoDia.Series["Target = 461 posições/dia"].BorderWidth = 2; // Largura da borda como 2 grafRotativoDia.Series["Target = 461 posições/dia"].ChartType = System.Windows.Forms.DataVisualization.Charting.SeriesChartType.FastLine; // Tipo do gráfico SQL = "SELECT RIGHT(DAT_CONT, 2) & '/' &MID(DAT_CONT, 5, 2) & '/' & LEFT(DAT_CONT, 4), COUNT(POS_DEP) FROM" + "(SELECT DAT_CONT, POS_DEP FROM INVENTARIO WHERE DAT_CONT Between " + dataDe + " And " + dataAte + " GROUP BY DAT_CONT, POS_DEP, DOC_INV1) " + "GROUP BY DAT_CONT " + "ORDER BY dat_cont; "; retornoBD = conex.consultaReader(SQL); while (retornoBD.Read()) { grafRotativoDia.Series["Qtd. Contada"].Points.AddXY(retornoBD.GetString(0), retornoBD.GetInt32(1)); grafRotativoDia.Series["Target = 461 posições/dia"].Points.AddXY(retornoBD.GetString(0), 461); } }
protected internal void btnAtualizar_Click(object sender, EventArgs e) { string dataDe, dataAte; AccessBD conex = new AccessBD(); IDataReader retornoBD; dataDe = dtpDe.Text.Substring(6, 4) + dtpDe.Text.Substring(3, 2) + dtpDe.Text.Substring(0, 2); dataAte = dtpAte.Text.Substring(6, 4) + dtpAte.Text.Substring(3, 2) + dtpAte.Text.Substring(0, 2); dgvPos.Rows.Clear(); switch (cmbPesquisa.SelectedIndex) { case 0: //TODAS AS POSIÇÕES if (cmbNivel.Text == "" && cmbRua.Text == "") { SQL = "SELECT POSICAO.POSICAO, COUNT(INV.POS_DEP) " + "FROM POSICAO LEFT JOIN (SELECT INVENTARIO.POS_DEP, DOC_INV1 FROM INVENTARIO WHERE DAT_POST BETWEEN " + dataDe + " and " + dataAte + " GROUP BY INVENTARIO.POS_DEP, DOC_INV1) AS INV " + "ON POSICAO.POSICAO = INV.POS_DEP " + "GROUP BY POSICAO.POSICAO, INV.POS_DEP"; } else if (cmbNivel.Text != "" && cmbRua.Text != "") { SQL = "(SELECT POSICAO.POSICAO, COUNT(INV.POS_DEP) " + "FROM POSICAO left join (SELECT INVENTARIO.POS_DEP, DOC_INV1 FROM INVENTARIO WHERE DAT_POST BETWEEN " + dataDe + " and " + dataAte + " GROUP BY INVENTARIO.POS_DEP, DOC_INV1) AS INV " + "ON POSICAO.POSICAO = INV.POS_DEP WHERE RIGHT(POSICAO.POSICAO, 2) = '" + cmbNivel.Text + "' AND LEFT(POSICAO.POSICAO, 5) = '" + cmbRua.Text + "' GROUP BY POSICAO.POSICAO, INV.POS_DEP)"; } else if (cmbNivel.Text == "" && cmbRua.Text != "") { SQL = "SELECT POSICAO.POSICAO, COUNT(INV.POS_DEP) " + "FROM POSICAO LEFT JOIN (SELECT INVENTARIO.POS_DEP, DOC_INV1 FROM INVENTARIO WHERE DAT_POST BETWEEN " + dataDe + " and " + dataAte + " GROUP BY INVENTARIO.POS_DEP, DOC_INV1) AS INV " + "ON POSICAO.POSICAO = INV.POS_DEP WHERE LEFT(POSICAO.POSICAO, 5) = '" + cmbRua.Text + "' GROUP BY POSICAO.POSICAO, INV.POS_DEP"; } else if (cmbNivel.Text != "" && cmbRua.Text == "") { SQL = "SELECT POSICAO.POSICAO, COUNT(INV.POS_DEP) " + "FROM POSICAO left join (SELECT INVENTARIO.POS_DEP, DOC_INV1 FROM INVENTARIO WHERE DAT_POST BETWEEN " + dataDe + " and " + dataAte + " GROUP BY INVENTARIO.POS_DEP, DOC_INV1) AS INV " + "ON POSICAO.POSICAO = INV.POS_DEP WHERE RIGHT(POSICAO.POSICAO, 2) = '" + cmbNivel.Text + "' GROUP BY POSICAO.POSICAO, INV.POS_DEP"; } break; case 1: // Somente posições não contadas if (cmbNivel.Text == "" && cmbRua.Text == "") { SQL = "SELECT POSICAO, CONTINV FROM " + "(SELECT POSICAO.POSICAO, COUNT(INV.POS_DEP) AS CONTINV " + "FROM POSICAO LEFT JOIN (SELECT INVENTARIO.POS_DEP, DOC_INV1 FROM INVENTARIO WHERE DAT_POST BETWEEN " + dataDe + " and " + dataAte + " GROUP BY INVENTARIO.POS_DEP, DOC_INV1) AS INV " + "ON POSICAO.POSICAO = INV.POS_DEP " + "GROUP BY POSICAO.POSICAO, INV.POS_DEP) " + "WHERE CONTINV = 0"; } else if (cmbNivel.Text != "" && cmbRua.Text != "") { SQL = "SELECT POSICAO, CONTINV FROM" + "(SELECT POSICAO.POSICAO, COUNT(INV.POS_DEP) AS CONTINV " + "FROM POSICAO left join (SELECT INVENTARIO.POS_DEP, DOC_INV1 FROM INVENTARIO WHERE DAT_POST BETWEEN " + dataDe + " and " + dataAte + " GROUP BY INVENTARIO.POS_DEP, DOC_INV1) AS INV " + "ON POSICAO.POSICAO = INV.POS_DEP " + "WHERE RIGHT(POSICAO.POSICAO, 2) = '" + cmbNivel.Text + "' AND LEFT(POSICAO.POSICAO, 5) = '" + cmbRua.Text + "' GROUP BY POSICAO.POSICAO, INV.POS_DEP) " + "WHERE CONTINV = 0"; } else if (cmbNivel.Text == "" && cmbRua.Text != "") { SQL = "SELECT POSICAO, CONTINV FROM " + "(SELECT POSICAO.POSICAO, COUNT(INV.POS_DEP) AS CONTINV " + "FROM POSICAO LEFT JOIN (SELECT INVENTARIO.POS_DEP, DOC_INV1 FROM INVENTARIO WHERE DAT_POST BETWEEN " + dataDe + " and " + dataAte + " GROUP BY INVENTARIO.POS_DEP, DOC_INV1) AS INV " + "ON POSICAO.POSICAO = INV.POS_DEP " + "WHERE LEFT(POSICAO.POSICAO, 5) = '" + cmbRua.Text + "' GROUP BY POSICAO.POSICAO, INV.POS_DEP) " + "WHERE CONTINV = 0"; } else if (cmbNivel.Text != "" && cmbRua.Text == "") { SQL = "SELECT POSICAO, CONTINV FROM " + "(SELECT POSICAO.POSICAO, COUNT(INV.POS_DEP) AS CONTINV " + "FROM POSICAO left join (SELECT INVENTARIO.POS_DEP, DOC_INV1 FROM INVENTARIO WHERE DAT_POST BETWEEN " + dataDe + " and " + dataAte + " GROUP BY INVENTARIO.POS_DEP, DOC_INV1) AS INV " + "ON POSICAO.POSICAO = INV.POS_DEP " + "WHERE AND RIGHT(POSICAO.POSICAO, 2) = '" + cmbNivel.Text + "' GROUP BY POSICAO.POSICAO, INV.POS_DEP) " + "WHERE CONTINV = 0"; } break; case 2: // Somente posições if (cmbNivel.Text == "" && cmbRua.Text == "") { SQL = "SELECT POSICAO, CONTINV FROM " + "(SELECT POSICAO.POSICAO, COUNT(INV.POS_DEP) AS CONTINV " + "FROM POSICAO LEFT JOIN (SELECT INVENTARIO.POS_DEP, DOC_INV1 FROM INVENTARIO WHERE DAT_POST BETWEEN " + dataDe + " and " + dataAte + " GROUP BY INVENTARIO.POS_DEP, DOC_INV1) AS INV " + "ON POSICAO.POSICAO = INV.POS_DEP " + "GROUP BY POSICAO.POSICAO, INV.POS_DEP) " + "WHERE CONTINV <> 0"; } else if (cmbNivel.Text != "" && cmbRua.Text != "") { SQL = "SELECT POSICAO, CONTINV FROM" + "(SELECT POSICAO.POSICAO, COUNT(INV.POS_DEP) AS CONTINV " + "FROM POSICAO left join (SELECT INVENTARIO.POS_DEP, DOC_INV1 FROM INVENTARIO WHERE DAT_POST BETWEEN " + dataDe + " and " + dataAte + " GROUP BY INVENTARIO.POS_DEP, DOC_INV1) AS INV " + "ON POSICAO.POSICAO = INV.POS_DEP " + "WHERE RIGHT(POSICAO.POSICAO, 2) = '" + cmbNivel.Text + "' AND LEFT(POSICAO.POSICAO, 5) = '" + cmbRua.Text + "' GROUP BY POSICAO.POSICAO, INV.POS_DEP) " + "WHERE CONTINV <> 0"; } else if (cmbNivel.Text == "" && cmbRua.Text != "") { SQL = "SELECT POSICAO, CONTINV FROM " + "(SELECT POSICAO.POSICAO, COUNT(INV.POS_DEP) AS CONTINV " + "FROM POSICAO LEFT JOIN (SELECT INVENTARIO.POS_DEP, DOC_INV1 FROM INVENTARIO WHERE DAT_POST BETWEEN " + dataDe + " and " + dataAte + " GROUP BY INVENTARIO.POS_DEP, DOC_INV1) AS INV " + "ON POSICAO.POSICAO = INV.POS_DEP " + "WHERE LEFT(POSICAO.POSICAO, 5) = '" + cmbRua.Text + "' GROUP BY POSICAO.POSICAO, INV.POS_DEP) " + "WHERE CONTINV <> 0"; } else if (cmbNivel.Text != "" && cmbRua.Text == "") { SQL = "SELECT POSICAO, CONTINV FROM " + "(SELECT POSICAO.POSICAO, COUNT(INV.POS_DEP) AS CONTINV " + "FROM POSICAO left join (SELECT INVENTARIO.POS_DEP, DOC_INV1 FROM INVENTARIO WHERE DAT_POST BETWEEN " + dataDe + " and " + dataAte + " GROUP BY INVENTARIO.POS_DEP, DOC_INV1) AS INV " + "ON POSICAO.POSICAO = INV.POS_DEP " + "WHERE AND RIGHT(POSICAO.POSICAO, 2) = '" + cmbNivel.Text + "' GROUP BY POSICAO.POSICAO, INV.POS_DEP) " + "WHERE CONTINV <> 0"; } break; } try { conex.AbrirConexao(); retornoBD = conex.consultaReader(SQL); while (retornoBD.Read()) { dgvPos.Rows.Add(retornoBD.GetString(0), retornoBD.GetInt32(1)); } } catch { MessageBox.Show("Erro de conexão com o banco de dados!"); } }
private void atualizaFirebase() { IFirebaseClient firebase = new FirebaseClient(config); IDataReader retornoBD; AccessBD conex = new AccessBD(); conex.AbrirConexao(); string dataDe, dataAte; decimal rotativoPercent = 0; string mes = DateTime.Now.Month.ToString(); string ano = DateTime.Now.Year.ToString(); //:::::::::::::::::::::::::::: Setando FireBase::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: //EAN x Posicao dataDe = Convert.ToString(DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString("00") + "01"); dataAte = Convert.ToString(DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString("00") + DateTime.Now.Day.ToString("00")); SQL = "SELECT EXPR1, EXPR2 FROM (SELECT Mid(DAT_CONT,5,2) AS Expr1, Round(Avg(ACUR)*100,2) AS Expr2 " + "FROM(SELECT DAT_CONT, DOC_INV1, POS_DEP, IIf(COUNT(PRODUTO) > 2, 1, IIf(COUNT(PRODUTO) = 1, 1, 0)) AS ACUR FROM(SELECT INVENTARIO.DAT_CONT, INVENTARIO.DOC_INV1, INVENTARIO.POS_DEP, INVENTARIO.PRODUTO FROM INVENTARIO RIGHT JOIN POSICAO ON INVENTARIO.POS_DEP = POSICAO.POSICAO WHERE POSICAO.TIPO_DEP <> 1003 GROUP BY INVENTARIO.DOC_INV1, INVENTARIO.POS_DEP, INVENTARIO.PRODUTO, INVENTARIO.DAT_CONT) AS[%$##@_Alias] GROUP BY DOC_INV1, POS_DEP, DAT_CONT) AS [%$##@_Alias] " + "GROUP BY Mid(DAT_CONT, 5, 2)) WHERE EXPR1 <> 0; "; string ultimaAtualizacao = conex.consultaScalar("SELECT RIGHT(DAT_post, 2) &'/'& MID(DAT_post, 5, 2) &'/'& LEFT(DAT_post, 4) & ' ÀS ' & MAX(hr_post) AS hr_post FROM INVENTARIO WHERE (((INVENTARIO.[DAT_POST])=(SELECT Max(dat_POST) FROM INVENTARIO))) group by dat_post"); retornoBD = conex.consultaReader(SQL); while (retornoBD.Read()) { firebase.Set("EanPosicao/" + retornoBD.GetString(0) + ano + "/Acuracidade", retornoBD.GetDouble(1)); firebase.Set("EanPosicao/" + retornoBD.GetString(0) + ano + "/UltimaAtualizacao", ultimaAtualizacao); } // Evolução Rotativo switch (DateTime.Now.Month) { case 1: case 2: case 3: dataDe = DateTime.Now.Year + "0101"; dataAte = Convert.ToString(DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString("00") + DateTime.Now.Day.ToString("00")); break; case 4: case 5: case 6: dataDe = DateTime.Now.Year + "0401"; dataAte = Convert.ToString(DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString("00") + DateTime.Now.Day.ToString("00")); break; case 7: case 8: case 9: dataDe = DateTime.Now.Year + "0701"; dataAte = Convert.ToString(DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString("00") + DateTime.Now.Day.ToString("00")); break; case 10: case 11: case 12: dataDe = DateTime.Now.Year + "1001"; dataAte = Convert.ToString(DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString("00") + DateTime.Now.Day.ToString("00")); break; } SQL = "SELECT (SELECT COUNT(POS) FROM (SELECT POS_DEP AS POS FROM INVENTARIO WHERE DAT_CONT BETWEEN " + dataDe + " AND " + dataAte + " GROUP BY POS_DEP)) / COUNT(CODPOS) FROM POSICAO"; rotativoPercent = Convert.ToDecimal(conex.consultaScalar(SQL)); firebase.Set("Rotativo/" + mes + ano + "/Concluido", Convert.ToDouble((rotativoPercent * 100).ToString("0.00"))); firebase.Set("Rotativo/" + mes + ano + "/ultimaAtualizacao", ultimaAtualizacao); }
private void bgwAcuracidadeMensal_DoWork(object sender, DoWorkEventArgs e) { //::::::::::::::::::::: ACURACIDADE MENSAL ::::::::::::::::::::::::::::::::::::::::::::::::::: AccessBD conex = new AccessBD(); IDataReader retornoBD; grafAcuracidadeMensal.Titles.Clear(); //Deleta os Tìtulos do gráfico grafAcuracidadeMensal.Series.Clear(); //Deleta as séries do gráfico grafAcuracidadeMensal.Titles.Add("Acuracidade de estoque mensal"); // adiciona título grafAcuracidadeMensal.Titles[0].Font = new Font("", 14, FontStyle.Bold); // coloca o título como negrito grafAcuracidadeMensal.Series.Add("acuracidade"); // Adiciona a série "Quantidade contada" grafAcuracidadeMensal.Series[0].Color = Color.FromArgb(231, 126, 35); grafAcuracidadeMensal.Series["acuracidade"].BackHatchStyle = ChartHatchStyle.BackwardDiagonal; grafAcuracidadeMensal.Series["acuracidade"].IsValueShownAsLabel = true; // Abilita rótulos para a série grafAcuracidadeMensal.Series[0].Font = new Font("", 12, FontStyle.Bold); // coloca o título como negrito //TODO: refazer racional do SQL abaixo SQL = "SELECT D.MES, ROUND((1-(D.VALDIF / E.VALORESTOQUE))*100, 2) " + "FROM " + "(SELECT A.MES, A.VALDIF " + "FROM " + "(SELECT MID(A.DAT_CONT, 5, 2) + MID(A.DAT_CONT, 1, 4) AS MES, ABS(SUM(A.QTD_DIFER * B.VALOR)) AS VALDIF " + "FROM(INVENTARIO AS A LEFT JOIN VALPROD AS B ON A.PRODUTO = B.PRODUTO) " + "WHERE A.TIPO_DEP IN(1001, 1002, 1003, 2001, 2002, 3003, 3001, 3005, 3008, 5002) " + "GROUP BY MID(A.DAT_CONT, 5, 2) + MID(A.DAT_CONT, 1, 4)) AS A) AS D " + "LEFT JOIN VALOR_ESTOQUE AS E ON D.MES = FORMAT(E.MES, \"000000\") " + "WHERE RIGHT(D.MES, 4) = 2016"; //SQL = conex.consultaScalar("SELECT valor FROM Acuracidade_Mensal_Config WHERE config = 'SQL'"); try { retornoBD = conex.consultaReader(SQL); while (retornoBD.Read()) { string sMes = ""; switch (retornoBD.GetString(0)) { case "01": sMes = "Janeiro"; break; case "02": sMes = "Fevereiro"; break; case "03": sMes = "Março"; break; case "04": sMes = "Abril"; break; case "05": sMes = "Maio"; break; case "06": sMes = "Junho"; break; case "07": sMes = "Julho"; break; case "08": sMes = "Agosto"; break; case "09": sMes = "Setembro"; break; case "10": sMes = "Outubro"; break; case "11": sMes = "Novembro"; break; case "12": sMes = "Dezembro"; break; } grafAcuracidadeMensal.Series["acuracidade"].Points.AddXY(sMes, retornoBD.GetDouble(1)); } } catch (Exception ex) { MessageBox.Show(ex.Message, "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void bgwEanPosicaoMensal_DoWork(object sender, DoWorkEventArgs e) { //::::::::::::::::::::::: EAN X POSICAO (MENSAL) :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: AccessBD conex = new AccessBD(); IDataReader retornoBD; grafEanPosicaoMensal.Titles.Clear(); grafEanPosicaoMensal.Series.Clear(); grafEanPosicaoMensal.Titles.Add("EAN x Posição Mensal"); grafEanPosicaoMensal.Titles[0].Font = new Font("", 14, FontStyle.Bold); grafEanPosicaoMensal.Series.Add("acuracia"); grafEanPosicaoMensal.Series["acuracia"].BackHatchStyle = ChartHatchStyle.BackwardDiagonal; grafEanPosicaoMensal.Series["acuracia"].IsValueShownAsLabel = true; grafEanPosicaoMensal.Series["acuracia"].Color = Color.FromArgb(53, 152, 219); grafEanPosicaoMensal.Series["acuracia"].XValueType = ChartValueType.String; grafEanPosicaoMensal.Series["acuracia"].YValueType = ChartValueType.Double; grafEanPosicaoMensal.Series[0].Font = new Font("", 12, FontStyle.Bold); // coloca o título como negrito SQL = Properties.Settings.Default.sqlEANxPosicaoMensal; retornoBD = conex.consultaReader(SQL); while (retornoBD.Read()) { string sMes = ""; switch (retornoBD.GetString(0)) { case "01": sMes = "Janeiro"; break; case "02": sMes = "Fevereiro"; break; case "03": sMes = "Março"; break; case "04": sMes = "Abril"; break; case "05": sMes = "Maio"; break; case "06": sMes = "Junho"; break; case "07": sMes = "Julho"; break; case "08": sMes = "Agosto"; break; case "09": sMes = "Setembro"; break; case "10": sMes = "Outubro"; break; case "11": sMes = "Novembro"; break; case "12": sMes = "Dezembro"; break; } grafEanPosicaoMensal.Series["acuracia"].Points.AddXY(sMes, retornoBD.GetDouble(1)); } }