示例#1
0
 /// <summary>
 /// Converte dados da entidade para a model
 /// </summary>
 /// <param name="cte"></param>
 /// <returns></returns>
 internal Glass.Data.Model.Cte.ConhecimentoTransporte Convert(WebGlass.Business.ConhecimentoTransporte.Entidade.Cte cte)
 {
     return(new Glass.Data.Model.Cte.ConhecimentoTransporte
     {
         IdCte = cte.IdCte,
         ChaveAcesso = cte.ChaveAcesso,
         CodAleatorio = cte.CodAleatorio,
         DataEmissao = cte.DataEmissao,
         DataEntradaSaida = cte.DataEntradaSaida,
         DetalhesRetirada = cte.DetalhesRetirada,
         IdNaturezaOperacao = cte.IdNaturezaOperacao,
         IdCidadeCte = cte.IdCidadeCte,
         //IdCidadeDestFrete = cte.IdCidadeDestFrete,
         IdCidadeFim = cte.IdCidadeFim,
         IdCidadeInicio = cte.IdCidadeInicio,
         //IdCidadeOrigFrete = cte.IdCidadeOrigFrete,
         IdCteAnterior = cte.IdCteAnterior,
         InformAdicionais = cte.InformAdicionais,
         Modelo = cte.Modelo,
         NumeroCte = cte.NumeroCte,
         Retirada = cte.Retirada,
         Serie = cte.Serie,
         TipoCte = cte.TipoCte,
         TipoEmissao = cte.TipoEmissao,
         TipoServico = cte.TipoServico,
         ValorReceber = cte.ValorReceber,
         ValorTotal = cte.ValorTotal,
         Situacao = cte.Situacao,
         TipoDocumentoCte = cte.TipoDocumentoCte,
         GerarContasReceber = cte.GerarContasReceber,
         DataAnulacao = cte.DataAnulacao
     });
 }
示例#2
0
        protected override Colosoft.Reports.IReportDocument LoadReport(ref LocalReport report, ref List <ReportParameter> lstParam,
                                                                       HttpRequest PageRequest, System.Collections.Specialized.NameValueCollection Request, object[] outrosParametros, LoginUsuario login, string diretorioLogotipos)
        {
            WebGlass.Business.ConhecimentoTransporte.Entidade.Cte cte = WebGlass.Business.ConhecimentoTransporte.Fluxo.BuscarCte.Instance.
                                                                        GetCte(Glass.Conversoes.StrParaUint(Request["idCte"]));

            // Verifica qual relatório será chamado
            switch (Request["rel"])
            {
            case "CteTerceiros":
                report.ReportPath = "Relatorios/CTe/rptCTeTerceiros.rdlc";
                report.DataSources.Add(new ReportDataSource("Cte", new[] { cte }));
                report.DataSources.Add(new ReportDataSource("CobrancaDuplCte", cte.ObjCobrancaCte.ObjCobrancaDuplCte));
                report.DataSources.Add(new ReportDataSource("CobrancaCte", new[] { cte.ObjCobrancaCte }));
                report.DataSources.Add(new ReportDataSource("SeguroCte", new[] { cte.ObjSeguroCte }));
                report.DataSources.Add(new ReportDataSource("EntregaCte", new[] { cte.ObjEntregaCte }));
                report.DataSources.Add(new ReportDataSource("InfoCte", new[] { cte.ObjInfoCte }));
                report.DataSources.Add(new ReportDataSource("InfoCargaCte", cte.ObjInfoCte.ObjInfoCargaCte));
                report.DataSources.Add(new ReportDataSource("ImpostoCte", cte.ObjImpostoCte));
                report.DataSources.Add(new ReportDataSource("ConhecimentoTransporteRodoviario", new[] { cte.ObjConhecimentoTransporteRodoviario }));
                report.DataSources.Add(new ReportDataSource("ComplCte", new[] { cte.ObjComplCte }));
                report.DataSources.Add(new ReportDataSource("ParticipanteCte", cte.ObjParticipanteCte));
                report.DataSources.Add(new ReportDataSource("EfdCte", new[] { cte.ObjEfdCte }));
                report.DataSources.Add(new ReportDataSource("NfeCte", WebGlass.Business.ConhecimentoTransporte.Fluxo.BuscarNotaFiscalCte.Instance.GetForRpt(cte.IdCte)));
                break;
            }

            // Atribui parâmetros ao relatório
            lstParam.Add(new ReportParameter("Logotipo",
                                             FiscalConfig.ConhecimentoTransporte.ExibirLogomarcaNoDacte ?
                                             Logotipo.GetReportLogo(PageRequest) :
                                             ""));
            lstParam.Add(new ReportParameter("TextoRodape", Geral.TextoRodapeRelatorio(login.Nome)));
            lstParam.Add(new ReportParameter("CorRodape", "DimGray"));

            return(null);
        }
示例#3
0
        /// <summary>
        /// Cria cte em contingência a partir de outro cte
        /// </summary>
        /// <param name="idCte"></param>
        public uint CriaCTeContingencia(WebGlass.Business.ConhecimentoTransporte.Entidade.Cte cte)
        {
            uint idCte = 0;

            if (FiscalConfig.ConhecimentoTransporte.ContingenciaCTe == DataSources.TipoContingenciaCTe.SVC && cte.TipoEmissao == (int)Glass.Data.Model.Cte.ConhecimentoTransporte.TipoEmissaoEnum.Normal)
            {
                var idLoja               = Fluxo.BuscarParticipanteCte.Instance.GetParticipanteByIdCteTipo(cte.IdCte, (int)Glass.Data.Model.Cte.ParticipanteCte.TipoParticipanteEnum.Emitente).IdLoja;
                var emitente             = Glass.Data.DAL.LojaDAO.Instance.GetElement(idLoja.Value);
                var idCidadeLojaEmitente = emitente.IdCidade != null?emitente.IdCidade.ToString() : "0";

                var cidadeEmitente = Glass.Data.DAL.CidadeDAO.Instance.GetElementByPrimaryKey(Glass.Conversoes.StrParaUint(idCidadeLojaEmitente));

                switch (cidadeEmitente.NomeUf)
                {
                case "AP":
                case "MT":
                case "MS":
                case "PE":
                case "RR":
                case "SP":
                    cte.TipoEmissao = (int)Glass.Data.Model.Cte.ConhecimentoTransporte.TipoEmissaoEnum.AutorizacaoSvcRs; break;

                case "AC":
                case "AL":
                case "AM":
                case "BA":
                case "CE":
                case "DF":
                case "ES":
                case "GO":
                case "MA":
                case "MG":
                case "PA":
                case "PB":
                case "PI":
                case "PR":
                case "RJ":
                case "RN":
                case "RO":
                case "RS":
                case "SC":
                case "SE":
                case "TO":
                    cte.TipoEmissao = (int)Glass.Data.Model.Cte.ConhecimentoTransporte.TipoEmissaoEnum.AutorizacaoSvcSp; break;
                }

                cte.NumeroCte = GetUltimoNumeroCte(idLoja.Value, Glass.Conversoes.StrParaInt(cte.Serie), cte.TipoEmissao);

                cte.CodAleatorio = (cte.NumeroCte + (cte.TipoEmissao == (int)Glass.Data.Model.Cte.ConhecimentoTransporte.TipoEmissaoEnum.Normal ? 10203040 : 9020304)).ToString();

                cte.ChaveAcesso = ChaveDeAcesso(cidadeEmitente.CodIbgeUf, cte.DataEmissao.ToString("yyMM"), emitente.Cnpj, Glass.Data.CTeUtils.ConfigCTe.Modelo,
                                                cte.Serie.ToString().PadLeft(3, '0'), cte.NumeroCte.ToString(), cte.TipoEmissao.ToString(), cte.CodAleatorio);

                idCte = Fluxo.CadastrarCte.Instance.Insert(cte);

                // Insere notas fiscais no cte
                foreach (var nfCte in Fluxo.BuscarNotaFiscalCte.Instance.GetList(cte.IdCte, "", 0, 0))
                {
                    nfCte.IdCte = idCte;
                    Fluxo.CadastrarNotaFiscalCte.Instance.Insert(nfCte);
                }
            }

            return(idCte);
        }