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 bgwGrafEvolucaoRotativo_DoWork_1(object sender, DoWorkEventArgs e) { AccessBD conex = new AccessBD(); conex.AbrirConexao(); double rotativoPercent = 0; int totalPos, pendentePos; 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"); SQL = "SELECT COUNT(POS_DEP) FROM(SELECT DAT_CONT, POS_DEP FROM INVENTARIO WHERE DAT_CONT Between 20160701 And 20160705 GROUP BY DAT_CONT, POS_DEP, DOC_INV1)"; totalPos = Convert.ToInt32(conex.consultaScalar("SELECT COUNT(POSICAO) FROM POSICAO")); pendentePos = Convert.ToInt32(conex.consultaScalar(SQL)); lblPosContadas.Text = pendentePos.ToString(); lblPosPendentes.Text = (totalPos - pendentePos).ToString(); grafRotativoPercent.Titles.Clear(); //Deleta os Tìtulos do gráfico grafRotativoPercent.Series.Clear(); //Deleta as séries do gráfico grafRotativoPercent.Titles.Add("Evolução da contagem Rotativa (" + dtpDe1.Text + " à " + dtpAte1.Text + ")"); // adiciona título grafRotativoPercent.Titles[0].Font = new Font("", 14, FontStyle.Bold); // coloca o título como negrito grafRotativoPercent.Series.Add("Contado"); grafRotativoPercent.Series["Contado"].ChartType = SeriesChartType.Pie; grafRotativoPercent.Series["Contado"].IsValueShownAsLabel = true; grafRotativoPercent.Series["Contado"].Points.AddXY("Contado", 0); // Setando o valor para "Contado" grafRotativoPercent.Series["Contado"].Points.AddXY("Pendente", 1); // Setando o valor para "Pendente" grafRotativoPercent.Series["Contado"].Points[0].Color = Color.FromArgb(45, 204, 112); // Cor da parte "Contado" grafRotativoPercent.Series["Contado"].Points[0].LabelForeColor = Color.White; // Cor da Fonte grafRotativoPercent.Series["Contado"].Points[0].LabelFormat = "{P2}"; // Formata para porcentagem grafRotativoPercent.Series["Contado"].Points[0].Font = new Font("", 10, FontStyle.Bold); grafRotativoPercent.Series["Contado"].Points[1].Color = Color.FromArgb(63, 86, 100); // Cor da parte "Pendente" grafRotativoPercent.Series["Contado"].Points[1].LabelForeColor = Color.White; grafRotativoPercent.Series["Contado"].Points[1].LabelFormat = "{P2}"; grafRotativoPercent.Series["Contado"].Points[1].Font = new Font("", 10, FontStyle.Bold); grafRotativoPercent.Series[0].ShadowColor = Color.DarkGray; grafRotativoPercent.Series[0].ShadowOffset = 5; SQL = "SELECT ROUND((SELECT COUNT(POS) FROM (SELECT POS_DEP AS POS FROM INVENTARIO WHERE DAT_CONT BETWEEN " + dataDe + " AND " + dataAte + " GROUP BY POS_DEP)) / COUNT(CODPOS), 4) FROM POSICAO"; rotativoPercent = Convert.ToDouble(conex.consultaScalar(SQL)); grafRotativoPercent.Series["Contado"].YValueType = ChartValueType.Double; grafRotativoPercent.Series["Contado"].Points[0].YValues[0] = rotativoPercent; grafRotativoPercent.Series["Contado"].Points[1].YValues[0] = Math.Round(1 - rotativoPercent, 4); }
private void frmIndicadores_Load(object sender, EventArgs e) { CheckForIllegalCrossThreadCalls = false; AccessBD conex = new AccessBD(); conex.AbrirConexao(); dtpDe1.Text = "01/" + DateTime.Now.Month.ToString() + "/" + DateTime.Now.Year.ToString(); dtpDe2.Text = "01/01/" + DateTime.Now.Year.ToString(); dtpAte1.Text = DateTime.Now.ToString(); dtpAte2.Text = DateTime.Now.ToString(); dataDe = dtpDe1.Text.Substring(6, 4) + dtpDe1.Text.Substring(3, 2) + dtpDe1.Text.Substring(0, 2); dataAte = dtpAte1.Text.Substring(6, 4) + dtpAte1.Text.Substring(3, 2) + dtpAte1.Text.Substring(0, 2); //Carrega os gráficos nas Threads bgwGrafEvolucaoRotativo.RunWorkerAsync(); bgwAcuracidadeMensal.RunWorkerAsync(); bgwEanPosicaoMensal.RunWorkerAsync(); bgwRupturaPK.RunWorkerAsync(); conex.FecharConexao(); liteBD.FecharConexao(); }
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); }
//::Salva pos do DataGrid para o BD:: public void salvarInvent() { int cont = 0; // Contador de linhas int contEx = 0; // Contador de exceções string posicao, descProd, umb, referencia, metodo, chave, produto, uc, contador, qtdRegistrada, qtdContada, qtdDif, ordem, docInv1, tipoDep; string hrCriacao, hrAtivacao, hrContagem, hrPostagem; int datCriacao2, datAtivacao2, datContagem2, datPostagem2; DateTime datContagem, datPostagem, datAtivacao, datCriacao; AccessBD AccessBD = new AccessBD(); AccessBD.AbrirConexao(); ToolStripProgressBar BarraProgresso = new ToolStripProgressBar(); lblStripSalvar.Text = "Salvando Inventários:"; frmPrincipal.statusStrip1.Items.Add(lblStripSalvar); frmPrincipal.statusStrip1.Items.Add(BarraProgresso); BarraProgresso.Maximum = dgvPos.RowCount; lblStripPorcent.Text = "0%"; frmPrincipal.statusStrip1.Items.Add(lblStripPorcent); Thread backgroundThread = new Thread( new ThreadStart(() => { for (cont = 0; cont < dgvPos.RowCount; cont++) { try { docInv1 = dgvPos.Rows[cont].Cells[0].Value.ToString(); ordem = dgvPos.Rows[cont].Cells[1].Value.ToString(); posicao = dgvPos.Rows[cont].Cells[2].Value.ToString(); produto = dgvPos.Rows[cont].Cells[3].Value.ToString(); descProd = dgvPos.Rows[cont].Cells[4].Value.ToString().Replace("\"", "").Replace("'", ""); qtdRegistrada = dgvPos.Rows[cont].Cells[5].Value.ToString().Replace(",", "."); qtdContada = dgvPos.Rows[cont].Cells[6].Value.ToString().Replace(",", "."); qtdDif = dgvPos.Rows[cont].Cells[7].Value.ToString().Replace(",", "."); umb = dgvPos.Rows[cont].Cells[8].Value.ToString(); referencia = dgvPos.Rows[cont].Cells[9].Value.ToString(); metodo = dgvPos.Rows[cont].Cells[10].Value.ToString(); datCriacao = DateTime.Parse(dgvPos.Rows[cont].Cells[11].Value.ToString().Substring(0, 10)); hrCriacao = dgvPos.Rows[cont].Cells[12].Value.ToString().Substring(11, 5); datAtivacao = DateTime.Parse(dgvPos.Rows[cont].Cells[13].Value.ToString().Substring(0, 10)); hrAtivacao = dgvPos.Rows[cont].Cells[14].Value.ToString().Substring(11, 5); datContagem = DateTime.Parse(dgvPos.Rows[cont].Cells[15].Value.ToString().Substring(0, 10)); hrContagem = dgvPos.Rows[cont].Cells[16].Value.ToString().Substring(11, 5); contador = dgvPos.Rows[cont].Cells[17].Value.ToString(); datPostagem = DateTime.Parse(dgvPos.Rows[cont].Cells[18].Value.ToString().Substring(0, 10)); hrPostagem = dgvPos.Rows[cont].Cells[19].Value.ToString().Substring(11, 5); uc = dgvPos.Rows[cont].Cells[20].Value.ToString(); tipoDep = dgvPos.Rows[cont].Cells[21].Value.ToString(); chave = docInv1 + posicao + produto + qtdDif; } catch (Exception ex) { MessageBox.Show("Dado inconsistente, por favor, importe a planilha novamente!" + "\n \n" + "Detalhe: " + ex.Message, "Erro na importação", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } //Convertendo datas para o formato do banco de dados datPostagem2 = Convert.ToInt32(datPostagem.Year.ToString() + string.Format("{0,2:00}", datPostagem.Month) + string.Format("{0,2:00}", datPostagem.Day)); datAtivacao2 = Convert.ToInt32(datAtivacao.Year.ToString() + string.Format("{0,2:00}", datAtivacao.Month) + string.Format("{0,2:00}", datAtivacao.Day)); datContagem2 = Convert.ToInt32(string.Format("{0,2:00}", datContagem.Year) + string.Format("{0,2:00}", datContagem.Month) + string.Format("{0,2:00}", datContagem.Day)); datCriacao2 = Convert.ToInt32(string.Format("{0,2:00}", datCriacao.Year) + string.Format("{0,2:00}", datCriacao.Month) + string.Format("{0,2:00}", datCriacao.Day)); SQL = "INSERT INTO inventario (chave, doc_inv1, ordem, pos_dep, produto, desc_prod, qtd_regist, qtd_cont, qtd_difer, umb, " + "ref, metodo, dat_criacao, hr_criacao, dat_ativ, hr_ativ, dat_cont, hr_cont, contador, dat_post, hr_post, uc, tipo_dep)" + "values ('" + chave + "', " + docInv1 + "," + ordem + ",'" + posicao + "','" + produto + "','" + descProd + "', " + qtdRegistrada + "," + qtdContada + "," + qtdDif + ",'" + umb + "','" + referencia + "', '" + metodo + "'," + datCriacao2 + ",#" + hrCriacao + "#," + datAtivacao2 + ",#" + hrAtivacao + "#," + datContagem2 + ", #" + hrContagem + "#," + contador + "," + datPostagem2 + ",#" + hrPostagem + "#,'" + uc + "', " + tipoDep + " )"; try { AccessBD.insert_Delete_Update(SQL); } catch (OleDbException) { contEx += 1; } catch (Exception ex) { MessageBox.Show("Erro desconhecido, contate o administrador do sistema! n/n/ " + ex.Message, "Importação de Inventários", MessageBoxButtons.OK, MessageBoxIcon.Error); } BarraProgresso.Value = cont; lblStripPorcent.Text = Math.Round(((decimal)cont / (decimal)dgvPos.RowCount) * 100, 1).ToString() + "%"; if (produto == "") { produto = "0"; } if (cont == dgvPos.RowCount - 1) { // Se a thread já finalizou, destrói a Progressbar BarraProgresso.Dispose(); lblStripSalvar.Dispose(); lblStripPorcent.Dispose(); if (contEx == 0) { MessageBox.Show("Inventários salvo com sucesso!!!", "Importação de Inventários", MessageBoxButtons.OK, MessageBoxIcon.Information); } else { MessageBox.Show("Não foi possível salvar " + contEx + " linhas!", "Importação de Inventários", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } txtUltimoInventario.Text = AccessBD.consultaScalar("SELECT DAT_post & ' ÀS ' & MAX(hr_post) AS hr_post FROM INVENTARIO WHERE (((INVENTARIO.[DAT_POST])=(SELECT Max(dat_POST) FROM INVENTARIO))) group by dat_post"); } //if } //for atualizaFirebase(); } ));//thread backgroundThread.Start(); }
//::Salva pos do DataGrid para o BD:: public void salvarPos() { int contador = 0; int datCont2 = 0; string posicao, vazia, bloqueioSaida, bloqueioEntrada, bloqueioInvent, tipoPos, unidadePeso, pesoMax, pesoOcupado, qtdUcs, tipoDep; DateTime datCont; AccessBD Conexao = new AccessBD(); Conexao.AbrirConexao(); Conexao.insert_Delete_Update("DELETE * FROM POSICAO"); ToolStripLabel lblStripSalvar = new ToolStripLabel(); lblStripSalvar.Text = "Salvando Posições:"; frmPrincipal.statusStrip1.Items.Add(lblStripSalvar); ToolStripProgressBar BarraProgresso = new ToolStripProgressBar(); BarraProgresso.Maximum = dgvPos.RowCount; frmPrincipal.statusStrip1.Items.Add(BarraProgresso); ToolStripLabel lblStripPorcent = new ToolStripLabel(); lblStripPorcent.Text = "0"; frmPrincipal.statusStrip1.Items.Add(lblStripPorcent); Thread backgroundThread = new Thread( new ThreadStart(() => { try { for (contador = 0; contador < dgvPos.RowCount; contador++) { posicao = dgvPos.Rows[contador].Cells[0].Value.ToString(); vazia = dgvPos.Rows[contador].Cells[1].Value.ToString(); bloqueioSaida = dgvPos.Rows[contador].Cells[2].Value.ToString(); bloqueioEntrada = dgvPos.Rows[contador].Cells[3].Value.ToString(); bloqueioInvent = dgvPos.Rows[contador].Cells[4].Value.ToString(); tipoPos = dgvPos.Rows[contador].Cells[5].Value.ToString(); qtdUcs = dgvPos.Rows[contador].Cells[6].Value.ToString(); pesoMax = dgvPos.Rows[contador].Cells[7].Value.ToString().Replace(",", "."); unidadePeso = dgvPos.Rows[contador].Cells[8].Value.ToString(); pesoOcupado = dgvPos.Rows[contador].Cells[9].Value.ToString().Replace(",", "."); //datCont2 = Convert.ToInt32(dgvPos.Rows[contador].Cells[10].Value); tipoDep = dgvPos.Rows[contador].Cells[11].Value.ToString(); if (dgvPos.Rows[contador].Cells[10].Value.ToString() == "") { // Se a data da contagem estiver vazia datCont2 = 0; } else { //Se não, converte a data para o formato do banco de dados datCont = DateTime.Parse(dgvPos.Rows[contador].Cells[10].Value.ToString()); datCont2 = Convert.ToInt32(datCont.Year.ToString() + string.Format("{0,2:00}", datCont.Month) + string.Format("{0,2:00}", datCont.Day)); } Conexao.insert_Delete_Update("INSERT INTO POSICAO (Posicao, vazia, bloqueio_saida, bloqueio_entrada, bloqueio_invent, tipo_posicao, qtd_uc, peso_max, uni_peso, peso_ocupado, dat_cont, tipo_dep) values ('" + posicao + "', '" + vazia + "','" + bloqueioSaida + "','" + bloqueioEntrada + "','" + bloqueioInvent + "','" + tipoPos + "'," + qtdUcs + ", " + pesoMax + ",'" + unidadePeso + "'," + pesoOcupado + ", " + datCont2 + ", " + tipoDep + ")"); BarraProgresso.Value = contador; lblStripPorcent.Text = Math.Round(((decimal)contador / (decimal)dgvPos.RowCount) * 100, 1).ToString() + "%"; if (contador == dgvPos.RowCount - 1) { // Se a thread já finalizou, destrói a Progressbar BarraProgresso.Dispose(); lblStripSalvar.Dispose(); lblStripPorcent.Dispose(); } } //for } // try catch (Exception ex) { MessageBox.Show("Parece que o arquivo não está no formato esperado. Verifique!!! /n" + ex, "ERRO", MessageBoxButtons.OK, MessageBoxIcon.Error); BarraProgresso.Dispose(); lblStripSalvar.Dispose(); lblStripPorcent.Dispose(); } } )); backgroundThread.Start(); }