Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
0
        public static string ObterNotasRemessa(string chaveReferenciada, string dueId)
        {
            var documentoUnicoExportacaoDAO = new DocumentoUnicoExportacaoDAO();

            var notas = documentoUnicoExportacaoDAO.ObterNotasFiscaisRemessaDUE(chaveReferenciada, dueId.ToInt());

            return(Newtonsoft.Json.JsonConvert.SerializeObject(notas));
        }
Ejemplo n.º 3
0
        public static string ObterNotas(string dueId)
        {
            var documentoUnicoExportacaoDAO = new DocumentoUnicoExportacaoDAO();

            var notas = documentoUnicoExportacaoDAO.ObterNotasFiscaisDUE(dueId.ToInt());

            return(Newtonsoft.Json.JsonConvert.SerializeObject(notas));
        }
Ejemplo n.º 4
0
        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));
        }
Ejemplo n.º 5
0
        public static bool DueManual(string dueId)
        {
            var documentoUnicoExportacaoDAO = new DocumentoUnicoExportacaoDAO();

            var dueBusca = documentoUnicoExportacaoDAO.ObterDUEPorId(dueId.ToInt());

            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(true);
                }
            }

            return(false);
        }
Ejemplo n.º 6
0
        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));
        }
Ejemplo n.º 7
0
        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));
        }