private void btnConfirmar_Click(object sender, EventArgs e) { try { if (Convert.ToDecimal(CorpoNotaFiscalForm.PreencherTextBoxComZero(this.txtQuantidade)) == 0) { this.txtQuantidade.Focus(); throw new Exception("Quantidade não pode ser ZERO !"); } else if (Convert.ToDecimal(CorpoNotaFiscalForm.PreencherTextBoxComZero(this.txtQuantidadeEmbalagem)) == 0) { this.txtQuantidadeEmbalagem.Focus(); throw new Exception("Quantidade por Embalagem não pode ser ZERO !"); } else if (Convert.ToDecimal(CorpoNotaFiscalForm.PreencherTextBoxComZero(this.txtValorUnitario)) == Convert.ToDecimal(0)) { this.txtValorUnitario.Focus(); this.txtValorUnitario.SelectAll(); throw new Exception("Custo unitário não pode ser igual á ZERO !"); } else { var retorno = new NotaFiscalDAO().ProdutoNotaFiscalManter(new ProdutoNotaFiscalModel { NotaFiscal = this.notaFiscalModel, Produto = this.produtoModel, Quantidade = Convert.ToDecimal(this.txtQuantidade.Text), QuantidadePorEmbalagem = Convert.ToDecimal(this.txtQuantidadeEmbalagem.Text), ValorUnitario = Convert.ToDecimal(this.txtValorUnitario.Text), CustoSemImposto = Convert.ToDecimal(this.txtCustoSemImposto.Text.Replace("R$", "")), CustoComImposto = Convert.ToDecimal(this.txtCustoComImposto.Text.Replace("R$", "")), ValorTotalDoDesconto = Convert.ToDecimal(this.txtValorDesconto.Text), ValorTotalDoIcmsSt = Convert.ToDecimal(this.txtValorIcmsSt.Text), ValorTotalDoIpi = Convert.ToDecimal(this.txtVAlorIpi.Text), Observacao = this.txtObservacao.Text }); // switch (retorno) { case "INSERT OK": Mensagens.MensagemInformacao("Produto gravado com Sucesso !"); this.Close(); break; case "UPDATE OK": Mensagens.MensagemInformacao("Produto atualizado com Sucesso !"); this.Close(); break; default: Mensagens.MensagemErro(retorno); break; } } } catch (Exception exception) { Mensagens.MensagemErro(exception.Message); } }
private void btnExcluir_Click(object sender, EventArgs e) { try { if (MessageBox.Show("Deseja realmente cancelar este lançamento ?", "Responda", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes) { var retorno = new NotaFiscalDAO().NotaFiscalManter(new NotaFiscalModel { IdNotaFiscal = Convert.ToInt32(this.dgvVencidos.CurrentRow.Cells["clIdLancamentoAberto"].Value) }); if (retorno == "DELETE OK") { Mensagens.MensagemInformacao("Lançamento de Compras excluído com sucesso !"); this.CarregarDatagrid(); } else { throw new Exception(retorno); } } } catch (Exception exception) { Mensagens.MensagemErro(exception.Message); } }
private void ExcluirProdutoButton_Click(object sender, EventArgs e) { try { if (MessageBox.Show("Deseja realmente excluir este produto do lançamento ?", "Responda", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes) { var retorno = new NotaFiscalDAO().ProdutoNotaFiscalManter(new ProdutoNotaFiscalModel { NotaFiscal = this.notaFiscalModel, Produto = new ProdutoModel { IdProduto = Convert.ToInt32(this.dgvProdutos.CurrentRow.Cells["clCodigo"].Value) }, Quantidade = 0 }); // if (retorno == "DELETE OK") { Mensagens.MensagemInformacao("Produto excluido com sucesso !"); this.CarregarDatagridProdutos(); } else { throw new Exception(retorno); } } } catch (Exception exception) { Mensagens.MensagemErro(exception.Message); } }
public static string RemoverNotaFiscal(int id) { var documentoUnicoExportacaoDAO = new DocumentoUnicoExportacaoDAO(); var notaFiscalDAO = new NotaFiscalDAO(); var nf = notaFiscalDAO.ObterNotaFiscalPorId(id); if (nf == null) { return("Erro: Nota Fiscal não encontrada"); } var item = documentoUnicoExportacaoDAO.ObterItemPorNota(nf.ChaveNF, nf.DueId); if (item != null) { documentoUnicoExportacaoDAO.ExcluirItemDUE(item.Id); } documentoUnicoExportacaoDAO.ExcluirNotaFiscalManual(id); var notas = documentoUnicoExportacaoDAO.ObterNotasFiscaisDUE(nf.DueId); return(Newtonsoft.Json.JsonConvert.SerializeObject(notas)); }
private void CorpoNotaFiscalForm_FormClosing(object sender, FormClosingEventArgs e) { try { if (this.acaoForm == AcaoForm.NovoLancamento && this.notaFiscalModel.IdNotaFiscal > 0 && ConfirmarLancamento == false) { if (MessageBox.Show("Deseja realmente cancelar este lançamento ?", "Responda", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) == DialogResult.Yes) { if (this.notaFiscalModel != null) { this.notaFiscalModel.Fornecedor.IdFornecedor = 0; this.notaFiscalModel.Estabelecimento.IdEstabelecimento = 0; var retorno = new NotaFiscalDAO().NotaFiscalManter(this.notaFiscalModel); if (retorno == "DELETE OK") { return; } else { throw new Exception(retorno); } } } else { e.Cancel = true; } } } catch (Exception exception) { Mensagens.MensagemErro(exception.Message); } }
public static string ExcluirGUID(string guid) { try { var _notaFiscalDAO = new NotaFiscalDAO(); _notaFiscalDAO.ExcluiNFImportacaoConsulta(guid); return(string.Empty); } catch (Exception ex) { throw new Exception("Não foi possível importar NFs"); } }
protected void btnGerarExcelParcial_Click(object sender, EventArgs e) { var guid = hddnGUID.Value; if (string.IsNullOrEmpty(guid)) { ModelState.AddModelError(string.Empty, "Ocorreu um problema ao exportar arquivo"); } if (!ModelState.IsValid) { return; } var _notaFiscalDAO = new NotaFiscalDAO(); var notas = _notaFiscalDAO.ObterNFsImportadasPorGUID(guid); ExcelPackage epackage = new ExcelPackage(); ExcelWorksheet excel = epackage.Workbook.Worksheets.Add("CCT"); excel.Cells["A1"].LoadFromCollection(notas.Select(c => new { c.DataRegistro, c.ChaveNF, c.SaldoCCT, c.PesoEntradaCCT, c.PesoAferido, c.Observacoes, c.Recinto, c.UnidadeReceita, c.Item, c.DUE, c.QtdeAverbada }), true); string attachment = $"attachment; filename=ArquivoNotas.xlsx"; HttpContext.Current.Response.Clear(); HttpContext.Current.Response.ClearHeaders(); HttpContext.Current.Response.ClearContent(); HttpContext.Current.Response.AddHeader("content-disposition", attachment); HttpContext.Current.Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"; HttpContext.Current.Response.BinaryWrite(epackage.GetAsByteArray()); HttpContext.Current.Response.End(); epackage.Dispose(); }
public static string VisualizarNF(int id) { var notaFiscalDAO = new NotaFiscalDAO(); var nota = notaFiscalDAO.ObterNotaFiscalPorId(id); return(Newtonsoft.Json.JsonConvert.SerializeObject(new { nota.ChaveNF, nota.NumeroNF, nota.CnpjNF, nota.QuantidadeNF, nota.UnidadeNF, nota.NCM })); }
public static string ImportarNFs(List <string> chaves, string guid) { try { logger.Info($"{DateTime.Now} - Início consulta NF's: {String.Join(",", chaves)}"); //ConsultaNfs cnf = new ConsultaNfs(); var _notaFiscalDAOx = new NotaFiscalDAO(); foreach (var chave in chaves) { // Levi alterou aqui 08/01/2021 - pesquisava qualque coisa do txt. Se fizesse upload de arquivo errado poderia gerar milhares de consultas no siscomex. string chaveaux = chave.Trim(); if (chaveaux.Length == 44) { var nf = new NotaFiscalConsultaCCT() { ChaveNF = chaveaux, SaldoCCT = "0.0", OBS = string.Empty }; ValidarNotasSiscomexUnitario(nf, guid); } else { chaveaux = chaveaux + " "; var nf = new NotaFiscalConsultaCCT() { ChaveNF = chaveaux.Substring(0, 44), DataRegistro = System.DateTime.Now.ToString(), SaldoCCT = "", OBS = "Chave inválida, somente chaves de 44 dígitos podem se consutadas. Notas formulários não estão disponíveis no Siscomex." }; _notaFiscalDAOx.CadastrarNFImportacaoConsulta(nf, guid); } // até aqui } logger.Info($"{DateTime.Now} - Término consulta NF's"); return(string.Empty); } catch (Exception ex) { throw new Exception("Não foi possível importar NFs"); } }
public static string RemoverNotaFiscalRemessa(int id) { var documentoUnicoExportacaoDAO = new DocumentoUnicoExportacaoDAO(); var notaFiscalDAO = new NotaFiscalDAO(); var nota = notaFiscalDAO.ObterNotaFiscalPorId(id); if (nota == null) { return("Nota Fiscal não encontrada"); } notaFiscalDAO.ExcluirNotaFiscal(id); var notas = documentoUnicoExportacaoDAO.ObterNotasFiscaisRemessaDUE(nota.ChaveNFReferencia, nota.DueId); return(Newtonsoft.Json.JsonConvert.SerializeObject(notas)); }
public static string AdicionarNotaFiscalRemessa( string tipo, string item, string chaveNF, string chaveReferenciada, string numero, string cnpj, string quantidade, string unidade, string ncm, string dueId) { var documentoUnicoExportacaoDAO = new DocumentoUnicoExportacaoDAO(); var notaFiscalDAO = new NotaFiscalDAO(); if (!documentoUnicoExportacaoDAO.JaExisteNotaRemessaCadastrada(chaveNF, item.ToInt(), dueId.ToInt(), chaveReferenciada)) { notaFiscalDAO.Cadastrar(new NotaFiscal { TipoNF = tipo, Item = item.ToInt() == 0 ? 1 : item.ToInt(), ChaveNF = chaveNF, ChaveNFReferencia = chaveReferenciada, NumeroNF = numero, CnpjNF = cnpj, QuantidadeNF = quantidade.ToDecimal(), UnidadeNF = unidade, NCM = ncm, Usuario = Convert.ToInt32(HttpContext.Current.Session["UsuarioId"].ToString()), OBS = "DUE MANUAL", DueId = dueId.ToInt() }); } var notas = documentoUnicoExportacaoDAO.ObterNotasFiscaisRemessaDUE(chaveReferenciada, dueId.ToInt()); return(Newtonsoft.Json.JsonConvert.SerializeObject(notas)); }
public static string VisualizarNotaFiscalRemessa(int id) { var notaFiscalDAO = new NotaFiscalDAO(); var nota = notaFiscalDAO.ObterNotaFiscalPorId(id); if (nota == null) { return("Nota Fiscal não encontrada"); } return(Newtonsoft.Json.JsonConvert.SerializeObject(new { nota.ChaveNF, nota.TipoNF, nota.Item, nota.NumeroNF, nota.CnpjNF, nota.QuantidadeNF, nota.UnidadeNF, nota.NCM })); }
private static void ValidarNotasSiscomexUnitario(NotaFiscalConsultaCCT notaFiscalChave, string guid) { var _notaFiscalDAO = new NotaFiscalDAO(); var _recintosDAO = new RecintosDAO(); var _unidadesReceitaDAO = new UnidadesReceitaDAO(); var _estoqueDAO = new EstoqueDAO(false); var numeroNf = string.Empty; var cnpjNf = string.Empty; var mesNf = string.Empty; var anoNf = string.Empty; var chaveNf = notaFiscalChave.ChaveNF.Replace(";", ""); if (chaveNf.Length > 30) { cnpjNf = chaveNf.Substring(6, 14); numeroNf = chaveNf.Substring(25, 9); anoNf = chaveNf.Substring(2, 2); mesNf = chaveNf.Substring(4, 2); } Stopwatch stopWatch = new Stopwatch(); stopWatch.Start(); var saldoNota = AsyncHelpers.RunSync <List <Responses.DadosNotaPreACD> >(() => ServicoSiscomex2.ConsultarDadosNotaPreACD(chaveNf, ConfigurationManager.AppSettings["CpfCertificado"].ToString())); stopWatch.Stop(); LogsService.Logar("ConsultarNFs.aspx", $"Consulta Siscomex: {stopWatch.Elapsed}"); if (saldoNota != null) { foreach (var linha in saldoNota) { try { if (linha.Sucesso == false) { var informacoesDue = _estoqueDAO.ObterDadosDueConsCCT(chaveNf); string due = ""; string qtdeAverbada = ""; if (informacoesDue != null) { if (informacoesDue.Any()) { due = string.Join("|", informacoesDue.Select(c => c.DUE)); qtdeAverbada = string.Join("|", informacoesDue.Select(c => c.Quantidade)); } } var notaFiscal = new NotaFiscalConsultaCCT { ChaveNF = chaveNf, OBS = linha.Mensagem, DUE = due, QtdeAverbada = qtdeAverbada }; stopWatch.Reset(); stopWatch.Start(); _notaFiscalDAO.CadastrarNFImportacaoConsulta(notaFiscal, guid); stopWatch.Stop(); LogsService.Logar("ConsultarNFs.aspx", $"_notaFiscalDAO.CadastrarNFImportacaoConsulta(notaFiscal, guid): {stopWatch.Elapsed}"); } else { string descricaoRecinto = string.Empty; string descricaoUnidade = string.Empty; if (linha.Recinto != null) { var recintoBusca = _recintosDAO.ObterRecintos() .Where(c => c.Id == linha.Recinto.ToInt()).FirstOrDefault(); if (recintoBusca != null) { descricaoRecinto = recintoBusca.Descricao; } } else { descricaoRecinto = "Indisponível"; } if (linha.UnidadeReceita != null) { var unidadeBusca = _unidadesReceitaDAO.ObterUnidadesRFB() .Where(c => c.Codigo.ToInt() == linha.UnidadeReceita.ToInt()).FirstOrDefault(); if (unidadeBusca != null) { descricaoUnidade = unidadeBusca.Descricao; } } else { descricaoUnidade = "Indisponível"; } stopWatch.Reset(); stopWatch.Start(); var pesos = _estoqueDAO.ObterPesoCCT( linha.Recinto, linha.ResponsavelIdentificacao, numeroNf, linha.Registro.Substring(0, 10), $"{anoNf}{mesNf}"); var informacoesDue = _estoqueDAO.ObterDadosDueConsCCT(chaveNf); string due = ""; string qtdeAverbada = ""; if (informacoesDue != null) { if (informacoesDue.Any()) { due = string.Join("|", informacoesDue.Select(c => c.DUE)); qtdeAverbada = string.Join("|", informacoesDue.Select(c => c.Quantidade)); } } stopWatch.Stop(); LogsService.Logar("ConsultarNFs.aspx", $"_estoqueDAO.ObterPesoCCT(): {stopWatch.Elapsed}"); if (pesos != null) { var pesoAferido = !string.IsNullOrEmpty(pesos.PesoAferido) ? pesos.PesoAferido : "Não Disponível - "; if (!string.IsNullOrEmpty(pesos.MotivoNaoPesagem)) { pesoAferido += "Motivo não pesagem: " + pesos.MotivoNaoPesagem; } var notaFiscal = new NotaFiscalConsultaCCT { DataRegistro = linha.Registro, SaldoCCT = linha.Saldo.ToString(), ChaveNF = chaveNf, Recinto = descricaoRecinto, UnidadeReceita = descricaoUnidade, OBS = string.Empty, Item = linha.Item, PesoEntradaCCT = pesos.PesoEntradaCCT, PesoAferido = pesoAferido, DUE = due, QtdeAverbada = qtdeAverbada }; stopWatch.Reset(); stopWatch.Start(); _notaFiscalDAO.CadastrarNFImportacaoConsulta(notaFiscal, guid); stopWatch.Stop(); LogsService.Logar("ConsultarNFs.aspx", $"Ln 489 - _notaFiscalDAO.CadastrarNFImportacaoConsulta(notaFiscal, guid) {stopWatch.Elapsed}"); } else { var informacoesDues = _estoqueDAO.ObterDadosDueConsCCT(chaveNf); string nrdue = ""; string qtdeAverbadas = ""; if (informacoesDues != null) { if (informacoesDues.Any()) { due = string.Join("|", informacoesDues.Select(c => c.DUE)); qtdeAverbadas = string.Join("|", informacoesDues.Select(c => c.Quantidade)); } } var notaFiscal = new NotaFiscalConsultaCCT { DataRegistro = linha.Registro, SaldoCCT = linha.Saldo.ToString(), ChaveNF = chaveNf, Recinto = descricaoRecinto, UnidadeReceita = descricaoUnidade, OBS = string.Empty, Item = linha.Item, PesoAferido = "Não Disponível", PesoEntradaCCT = "Não Disponível", DUE = nrdue, QtdeAverbada = qtdeAverbadas }; stopWatch.Reset(); stopWatch.Start(); _notaFiscalDAO.CadastrarNFImportacaoConsulta(notaFiscal, guid); stopWatch.Stop(); LogsService.Logar("ConsultarNFs.aspx", $"Ln 513 - _notaFiscalDAO.CadastrarNFImportacaoConsulta(notaFiscal, guid) {stopWatch.Elapsed}"); } } } catch (Exception) { logger.Info($"{DateTime.Now} - Erro ao consultar NF {notaFiscalChave}"); } } } else { var notaFiscal = new NotaFiscalConsultaCCT { ChaveNF = chaveNf, OBS = "Indisponibilidade Siscomex. Por favor, tente novamente após alguns minutos." }; stopWatch.Reset(); stopWatch.Start(); _notaFiscalDAO.CadastrarNFImportacaoConsulta(notaFiscal, guid); stopWatch.Stop(); LogsService.Logar("ConsultarNFs.aspx", $"Ln 539 - _notaFiscalDAO.CadastrarNFImportacaoConsulta(notaFiscal, guid); {stopWatch.Elapsed}"); } }
// private void NovoProdutoButton_Click(object sender, EventArgs e) { try { switch (this.acaoForm) { case AcaoForm.NovoLancamento: if (this.notaFiscalModel.IdNotaFiscal == 0) { if (Convert.ToInt32(this.cbbEstabelecimento.SelectedValue) == 0) { this.cbbEstabelecimento.Focus(); throw new Exception("Informe o Estabelecimento para continuar !"); } else if (Convert.ToInt32(this.cbbFornecedor.SelectedValue) == 0) { this.cbbFornecedor.Focus(); throw new Exception("Informe o Fornecedor para continuar !"); } else if (this.txtNumeroNotaFiscal.Text.Trim() == string.Empty) { this.txtNumeroNotaFiscal.Focus(); throw new Exception("Informe o Número da Nota Fiscal para continuar !"); } else if (this.txtTotalNotaFiscal.Text.Trim() == string.Empty) { this.txtTotalNotaFiscal.Focus(); throw new Exception("Informe o valor total da Nota Fiscal para continuar !"); } else if (Convert.ToDateTime(this.dtpDataEmissao.Value.ToShortDateString()) > Convert.ToDateTime(this.dtpDataEntrada.Value.ToShortDateString())) { throw new Exception("Data de entrada não pode ser maior que a data de Emissão !"); } else if (this.dtpDataEmissao.Value > DateTime.Now) { this.dtpDataEmissao.Focus(); throw new Exception("Data de emissão não pode ser maior que a data Atual !"); } this.notaFiscalModel = new NotaFiscalModel { Estabelecimento = new EstabelecimentoModel { IdEstabelecimento = Convert.ToInt32(this.cbbEstabelecimento.SelectedValue) }, Fornecedor = new FornecedorModel { IdFornecedor = Convert.ToInt32(this.cbbFornecedor.SelectedValue) }, DataEmissaoInicial = this.dtpDataEmissao.Value, DataEntradaInicial = this.dtpDataEntrada.Value, NumeroNotaFiscal = this.txtNumeroNotaFiscal.Text, ValorTotalDaNota = Convert.ToDecimal(PreencherTextBoxComZero(this.txtTotalNotaFiscal)),//Convert.ToDecimal(this.txtTotalNotaFiscal.Text), ValorTotalDasDespesas = Convert.ToDecimal(PreencherTextBoxComZero(this.txtTotalDespesas)), ValorTotalDoIcmsSt = Convert.ToDecimal(PreencherTextBoxComZero(this.txtTotalIcms)), ValorTotalDoIpi = Convert.ToDecimal(PreencherTextBoxComZero(this.txtTotalIpi)) }; var retorno = new NotaFiscalDAO().NotaFiscalManter(notaFiscalModel); // if (Char.IsNumber(retorno, 0)) { this.notaFiscalModel.IdNotaFiscal = Convert.ToInt32(retorno); //new NotaFiscalModel { IdNotaFiscal = IdNotaFiscal = Convert.ToInt32(retorno) }; using (var f = new ProdutoLancamentoNotaFiscalForm(new ProdutoNotaFiscalModel { NotaFiscal = this.notaFiscalModel })) { this.BloquearControles(); f.ShowDialog(); } } else { throw new Exception(retorno); } } else { using (var f = new ProdutoLancamentoNotaFiscalForm(new ProdutoNotaFiscalModel { NotaFiscal = this.notaFiscalModel })) { this.BloquearControles(); f.ShowDialog(); } } break; case AcaoForm.AlterarLancamento: using (var f = new ProdutoLancamentoNotaFiscalForm(new ProdutoNotaFiscalModel { NotaFiscal = this.notaFiscalModel })) { f.ShowDialog(); } break; } // this.CarregarDatagridProdutos(); } catch (Exception exception) { Mensagens.MensagemErro(exception.Message); } }
public ControladorNotaFiscal() { this.notaFiscalDAO = NotaFiscalDAO.Instance; }
public static string AdicionarNotaFiscal( string chaveNF, string numero, string cnpj, string quantidade, string unidade, string ncm, string dueId, string vmcv, string vmle) { if (!string.IsNullOrEmpty(chaveNF)) { chaveNF = chaveNF.Replace(" ", ""); } var documentoUnicoExportacaoDAO = new DocumentoUnicoExportacaoDAO(); var notaFiscalDAO = new NotaFiscalDAO(); var dueBusca = documentoUnicoExportacaoDAO.ObterDUEPorId(dueId.ToInt()); var atributosCafe = dueBusca.Attr_Padrao_Qualidade_Default + dueBusca.Attr_Tipo_Default + dueBusca.Attr_Embarque_Em_Default + dueBusca.Attr_Caracteristica_Especial_Default + dueBusca.Attr_Outra_Caracteristica_Especial_Default + dueBusca.Attr_Metodo_Processamento_Default; if (ncm != "09011110" && ncm != "09011190" && ncm != "09011200" && ncm != "09012100" && ncm != "09012200" && ncm != "21011110" && ncm != "21011190" && ncm != "21011200") { if (!string.IsNullOrEmpty(atributosCafe)) { return(@"<strong>Alerta:</strong> Você informou atributos de café nas informações default, mas o NCM da nota que está sendo cadastrada é diferente de NCMs para exportação de café."); } } if (dueBusca != null) { var itensDue = documentoUnicoExportacaoDAO .ObterItensDUE(dueId.ToInt()) .Where(c => !string.IsNullOrEmpty(c.NF)) .ToList(); if (itensDue.Any() && (dueBusca.Completa == 0 || dueBusca.CriadoPorNF == 0)) { return(@"<strong>Alerta: Não é possível cadastrar Notas de forma manual para uma DUE que já contém itens ou que não foi criada de forma automática.</strong> <br /><br/> Opção 1: Caso necessite vincular uma Nota Fiscal para um item já existente, utilize a opção do menu 'Vincular DUE com NF' ou importe o arquivo de notas.<br /><br/> Opção 2: Caso necessite cadastrar as Notas Fiscais manualmente, exclua os itens já existentes nesta DUE (o sistema irá recria-los de forma automática)."); } if (!documentoUnicoExportacaoDAO.JaExisteNotaCadastrada(chaveNF, dueId.ToInt())) { notaFiscalDAO.Cadastrar(new NotaFiscal { TipoNF = "EXP", Item = 1, ChaveNF = chaveNF, NumeroNF = numero, CnpjNF = cnpj, QuantidadeNF = quantidade.ToDecimal(), UnidadeNF = unidade, NCM = ncm, Usuario = Convert.ToInt32(HttpContext.Current.Session["UsuarioId"].ToString()), OBS = "DUE MANUAL", DueId = dueId.ToInt() }); } var id = documentoUnicoExportacaoDAO.RegistrarItemDUE(new DUEItem { DueId = dueId.ToInt(), NF = chaveNF, ValorUnitVMLE = vmle.ToDecimal(), ValorUnitVMCV = vmcv.ToDecimal(), CondicaoVenda = dueBusca.CondicaoVenda_Default }); if (id > 0) { documentoUnicoExportacaoDAO.MarcarComoAutomatica(dueBusca.Id); decimal resultadoVMLE = 0; decimal resultadoVMCV = 0; decimal quantidadeTotal = 0; if (unidade == "TON") { resultadoVMLE = (((quantidade.ToDecimal() * 1000) * (dueBusca.ValorUnitVMLE_Default / 1000))); resultadoVMCV = (((quantidade.ToDecimal() * 1000) * (dueBusca.ValorUnitVMCV_Default / 1000))); quantidadeTotal = (quantidade.ToDecimal() * 1000); } else { resultadoVMLE = (((quantidade.ToDecimal()) * (dueBusca.ValorUnitVMLE_Default / 1000))); resultadoVMCV = (((quantidade.ToDecimal()) * (dueBusca.ValorUnitVMCV_Default / 1000))); quantidadeTotal = quantidade.ToDecimal(); } var dueDetalhe = new DUEItemDetalhes( id, 1, resultadoVMLE, dueBusca.PaisDestino_Default, quantidade.ToDecimal(), ncm, resultadoVMCV, quantidade.ToDecimal(), quantidadeTotal, dueBusca.Enquadramento1_Default, dueBusca.Enquadramento2_Default, dueBusca.Enquadramento3_Default, dueBusca.Enquadramento4_Default, dueBusca.DescricaoComplementar_Default, dueBusca.Attr_Padrao_Qualidade_Default, dueBusca.Attr_Embarque_Em_Default, dueBusca.Attr_Tipo_Default, dueBusca.Attr_Metodo_Processamento_Default, dueBusca.Attr_Caracteristica_Especial_Default, dueBusca.Attr_Outra_Caracteristica_Especial_Default, dueBusca.Attr_Embalagem_Final_Default); var itemDetalheId = documentoUnicoExportacaoDAO.RegistrarDUEItemDetalhe(dueDetalhe); if (itemDetalheId > 0) { if (!string.IsNullOrEmpty(dueBusca.LPCO_Default)) { if (dueBusca.Enquadramento1_Default == 80380 || dueBusca.Enquadramento2_Default == 80380 || dueBusca.Enquadramento3_Default == 80380 || dueBusca.Enquadramento4_Default == 80380) { var lpcos = dueBusca.LPCO_Default.Split(','); foreach (var lpco in lpcos) { documentoUnicoExportacaoDAO.RegistrarLPCO(new DUEItemDetalhesLPCO(itemDetalheId, lpco)); } } } } } } var notas = documentoUnicoExportacaoDAO.ObterNotasFiscaisDUE(dueId.ToInt()); return(Newtonsoft.Json.JsonConvert.SerializeObject(notas)); }
public static int ObterTotalNFsImportadas(string guid) { var _notaFiscalDAO = new NotaFiscalDAO(); return(_notaFiscalDAO.ObterTotalNFsImportadasPorGUID(guid)); }
public static string ImportarNFs(List <string> chaves, string guid) { try { logger.Info($"{DateTime.Now} - Início consulta NF's: {String.Join(",", chaves)}"); //ConsultaNfs cnf = new ConsultaNfs(); var _notaFiscalDAOx = new NotaFiscalDAO(); foreach (var chave in chaves) { // Levi alterou aqui 08/01/2021 - pesquisava qualque coisa do txt. Se fizesse upload de arquivo errado poderia gerar milhares de consultas no siscomex. string chaveaux = chave.Trim(); if (chaveaux.Length == 44) { var nf = new NotaFiscalConsultaCCT() { ChaveNF = chaveaux, SaldoCCT = "0.0", OBS = string.Empty }; var chaveNf = chave.Replace(";", ""); var cnpjNf = chave.Substring(6, 14); var numeroNf = chave.Substring(25, 9); var anoNf = chave.Substring(2, 2); var mesNf = chave.Substring(4, 2); var DataEmissaoNF = $"{anoNf}{mesNf}"; var filtro = (" AND CnpjDestinatario ='" + cnpjNf + "' AND NumeroNF = " + numeroNf + " AND [NotaFiscalEmissao] = " + DataEmissaoNF); var _estoqueDAO = new EstoqueDAO(false); var ds = _estoqueDAO.GerarCsvEstoque(filtro.ToString()); if (ds.Rows.Count > 0) { nf.DataRegistro = ds.Rows[0].ItemArray[7].ToString(); //DataHoraEntradaEstoque nf.SaldoCCT = String.Format("{0:#########.000}", ds.Rows[0].ItemArray[53]); //saldoatual ("#########.###") nf.ChaveNF = chaveaux.Substring(0, 44); nf.Recinto = ds.Rows[0].ItemArray[19].ToString(); // CodigoRA; nf.UnidadeReceita = ds.Rows[0].ItemArray[23].ToString(); //CodigoURF; nf.OBS = "Pesquisado no banco de dados interno"; nf.Item = Convert.ToInt32(ds.Rows[0].ItemArray[52].ToString()); //item; nf.PesoEntradaCCT = ds.Rows[0].ItemArray[5].ToString(); //saldo; nf.PesoAferido = ds.Rows[0].ItemArray[4].ToString(); //pesoaferido nf.DUE = ""; nf.QtdeAverbada = ""; _notaFiscalDAOx.CadastrarNFImportacaoConsulta(nf, guid); } else { ValidarNotasSiscomexUnitario(nf, guid); } } else { chaveaux = chaveaux + " "; var nf = new NotaFiscalConsultaCCT() { ChaveNF = chaveaux.Substring(0, 44), DataRegistro = System.DateTime.Now.ToString(), SaldoCCT = "", OBS = "Chave inválida, somente chaves de 44 dígitos podem se consutadas. Notas formulários não estão disponíveis no Siscomex." }; _notaFiscalDAOx.CadastrarNFImportacaoConsulta(nf, guid); } // até aqui } logger.Info($"{DateTime.Now} - Término consulta NF's"); return(string.Empty); } catch (Exception ex) { throw new Exception("Não foi possível importar NFs"); } }