Skip to content

Commit

Permalink
Merge pull request #690 from evaldoavelar/CTeDistribuicaoDFe
Browse files Browse the repository at this point in the history
Adição do Web Service CTeDistribuicaoDFe
  • Loading branch information
robertorp authored May 16, 2018
2 parents bc39d56 + 21cb6be commit 9b3211b
Show file tree
Hide file tree
Showing 47 changed files with 1,882 additions and 171 deletions.
46 changes: 42 additions & 4 deletions CTe.AppTeste/CTeTesteModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -62,6 +62,7 @@
using CTe.Servicos.Eventos;
using CTe.Servicos.Inutilizacao;
using CTe.Servicos.Recepcao;
using CTe.Servicos.DistribuicaoDFe;
using CTe.Utils.CTe;
using CteEletronico = CTe.Classes.CTe;
using DFe.Classes.Entidades;
Expand All @@ -72,6 +73,7 @@
using infNFe = CTe.Classes.Informacoes.infCTeNormal.infDocumentos.infNFe;
using OpenFileDialog = Microsoft.Win32.OpenFileDialog;


namespace CTe.AppTeste
{
public class RetornoEEnvio : EventArgs
Expand Down Expand Up @@ -811,7 +813,7 @@ public void CartaCorrecao()
grupoAlterado = "rem",
valorAlterado = "14991001000"
}
};
};

var servico = new EventoCartaCorrecao(cte, sequenciaEvento, correcoes);
var retorno = servico.AdicionarCorrecoes();
Expand All @@ -832,7 +834,7 @@ public void CriarEnviarCTe2e3()
cteEletronico.infCte.versao = config.ConfigWebService.Versao;

#endregion

#region ide

cteEletronico.infCte.ide = new ide();
Expand Down Expand Up @@ -955,7 +957,7 @@ public void CriarEnviarCTe2e3()
#endregion

#region vPrest

cteEletronico.infCte.vPrest = new vPrest();
cteEletronico.infCte.vPrest.vTPrest = 100m;
cteEletronico.infCte.vPrest.vRec = 100m;
Expand Down Expand Up @@ -1029,7 +1031,7 @@ public void CriarEnviarCTe2e3()
rodoviario.dPrev = DateTime.Now;
rodoviario.lota = lota.Nao;
}


cteEletronico.infCte.infCTeNorm.infModal.ContainerModal = rodoviario;
#endregion
Expand Down Expand Up @@ -1305,5 +1307,41 @@ public void CriarEnviarCTeConsultaReciboAutomatico2e3()
config.ConfigWebService.Numeracao++;
new ConfiguracaoDao().SalvarConfiguracao(config);
}

public void DistribuicaoDFe()
{

var config = new ConfiguracaoDao().BuscarConfiguracao();
CarregarConfiguracoes(config);

#region CTeDistribuicaoDFe

var cnpj = InputBoxTuche("CNPJ do destinatário do CTE:");
if (string.IsNullOrEmpty(cnpj)) throw new Exception("O CNPJ deve ser informado!");
if (cnpj.Length != 14) throw new Exception("O CNPJ deve conter 14 caracteres!");


var ultNSU = InputBoxTuche("Ultimo NSU NSU ");
if (string.IsNullOrEmpty(ultNSU))
ultNSU = "0";

if (int.Parse(ultNSU) < 0) throw new Exception("ultNSU deve ser maior ou igual a 0");


var nsu = InputBoxTuche("NSU faltante");
if (string.IsNullOrEmpty(nsu))
nsu = "0";

if (int.Parse(nsu) < 0) throw new Exception("NSU deve ser maior ou igual a 0");


var servicoCTe = new ServicoCTeDistribuicaoDFe();
var retornoCTeDistDFe = servicoCTe.CTeDistDFeInteresse(config.Empresa.SiglaUf.ToString(), cnpj, ultNSU: ultNSU, nSU: nsu);

OnSucessoSync(new RetornoEEnvio(retornoCTeDistDFe.EnvioStr, retornoCTeDistDFe.RetornoStr));

#endregion

}
}
}
28 changes: 15 additions & 13 deletions CTe.AppTeste/MainWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -216,29 +216,31 @@
<TabItem Header="Exemplos">
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="355*"/>
<ColumnDefinition Width="379*"></ColumnDefinition>
<ColumnDefinition Width="22*"/>
<ColumnDefinition Width="343*"/>
<ColumnDefinition Width="389*"></ColumnDefinition>
</Grid.ColumnDefinitions>

<Grid.RowDefinitions>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="Auto"></RowDefinition>
<RowDefinition Height="*"></RowDefinition>
</Grid.RowDefinitions>

<Button Click="ConsultarStatusServico">Consultar Status Serviço</Button>
<Button Grid.Row="0" Grid.Column="1" Click="ConsultaPorProtocolo_Click">Consulta Por Protocolo</Button>
<Button Grid.Column="0" Grid.Row="1" Click="InutilizacaoDeNumeracao_Click">Inutilizacao de Númeração</Button>
<Button Grid.Column="1" Grid.Row="1" Click="ConsultaPorNumeroRecibo_Click">Consulta Por Número Recibo</Button>
<Button Grid.Row="2" Grid.Column="0" Click="EventoCancelarCTe_Click">Evento Cancelar CT-e</Button>
<Button Grid.Row="2" Grid.Column="1" Click="CartaCorrecao_Click">Carta Correção</Button>
<Button Grid.Row="3" Grid.Column="0" Click="CriarEnviarCTe2_Click">Criar e Enviar CT-e 2.00 Ou 3.00</Button>
<Button Grid.Row="3" Grid.Column="1" Click="CriarEnviarAutomaticoCTe2_Click">Criar e Enviar/Consulta Recibo Automatico CT-e 2.00 Ou 3.00</Button>

<TabControl Grid.Row="5" Grid.Column="0" Grid.ColumnSpan="2">
<Button Click="ConsultarStatusServico" Grid.ColumnSpan="2">Consultar Status Serviço</Button>
<Button Grid.Row="0" Grid.Column="2" Click="ConsultaPorProtocolo_Click">Consulta Por Protocolo</Button>
<Button Grid.Column="0" Grid.Row="1" Click="InutilizacaoDeNumeracao_Click" Grid.ColumnSpan="2">Inutilizacao de Númeração</Button>
<Button Grid.Column="2" Grid.Row="1" Click="ConsultaPorNumeroRecibo_Click">Consulta Por Número Recibo</Button>
<Button Grid.Row="2" Grid.Column="0" Click="EventoCancelarCTe_Click" Grid.ColumnSpan="2">Evento Cancelar CT-e</Button>
<Button Grid.Row="2" Grid.Column="2" Click="CartaCorrecao_Click">Carta Correção</Button>
<Button Grid.Row="3" Grid.Column="0" Click="CriarEnviarCTe2_Click" Grid.ColumnSpan="2">Criar e Enviar CT-e 2.00 Ou 3.00</Button>
<Button Grid.Row="3" Grid.Column="2" Click="CriarEnviarAutomaticoCTe2_Click">Criar e Enviar/Consulta Recibo Automatico CT-e 2.00 Ou 3.00</Button>
<Button Grid.Row="4" Grid.Column="2" Click="CTeDistribuicaoDFe_Click">CTeDistribuicaoDFe 1.00</Button>

<TabControl Grid.Row="5" Grid.Column="0" Grid.ColumnSpan="3">
<TabItem Header="XmlEnvio">
<Grid Background="#FFE5E5E5">
<WebBrowser x:Name="WebXmlEnvio" />
Expand Down
6 changes: 6 additions & 0 deletions CTe.AppTeste/MainWindow.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -138,5 +138,11 @@ private void CriarEnviarAutomaticoCTe2_Click(object sender, RoutedEventArgs e)
{
_model.CriarEnviarCTeConsultaReciboAutomatico2e3();
}

private void CTeDistribuicaoDFe_Click(object sender, RoutedEventArgs e)
{
_model.DistribuicaoDFe();
}

}
}
17 changes: 17 additions & 0 deletions CTe.Classes/CTe.Classes.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,10 @@
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<TargetFrameworkProfile />
<SccProjectName>SAK</SccProjectName>
<SccLocalPath>SAK</SccLocalPath>
<SccAuxPath>SAK</SccAuxPath>
<SccProvider>SAK</SccProvider>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
Expand Down Expand Up @@ -211,6 +215,19 @@
<Compile Include="Servicos\Consulta\consSitCTe.cs" />
<Compile Include="Servicos\Consulta\procEventoCTe.cs" />
<Compile Include="Servicos\Consulta\retConsSitCTe.cs" />
<Compile Include="Servicos\DistribuicaoDFe\consNSU.cs" />
<Compile Include="Servicos\DistribuicaoDFe\distDFeInt.cs" />
<Compile Include="Servicos\DistribuicaoDFe\distNSU.cs" />
<Compile Include="Servicos\DistribuicaoDFe\loteDistDFeInt.cs" />
<Compile Include="Servicos\DistribuicaoDFe\retDistDFeInt.cs" />
<Compile Include="Servicos\DistribuicaoDFe\Schemas\detEvento.cs" />
<Compile Include="Servicos\DistribuicaoDFe\Schemas\evCTeAutorizadoMDFe.cs" />
<Compile Include="Servicos\DistribuicaoDFe\Schemas\eventoCTe.cs" />
<Compile Include="Servicos\DistribuicaoDFe\Schemas\eventoInfEvento.cs" />
<Compile Include="Servicos\DistribuicaoDFe\Schemas\MDFe.cs" />
<Compile Include="Servicos\DistribuicaoDFe\Schemas\procEventoCTe.cs" />
<Compile Include="Servicos\DistribuicaoDFe\Schemas\retEventoCTe.cs" />
<Compile Include="Servicos\DistribuicaoDFe\Schemas\retInfEvento.cs" />
<Compile Include="Servicos\Evento\dest.cs" />
<Compile Include="Servicos\Evento\detEvento.cs" />
<Compile Include="Servicos\Evento\detEventoTipos.cs" />
Expand Down
10 changes: 10 additions & 0 deletions CTe.Classes/CTe.Classes.csproj.vspscc
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
""
{
"FILE_VERSION" = "9237"
"ENLISTMENT_CHOICE" = "NEVER"
"PROJECT_FILE_RELATIVE_PATH" = ""
"NUMBER_OF_EXCLUDED_FILES" = "0"
"ORIGINAL_PROJECT_FILE_PATH" = ""
"NUMBER_OF_NESTED_PROJECTS" = "0"
"SOURCE_CONTROL_SETTINGS_PROVIDER" = "PROVIDER"
}
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,12 @@ public class idDocAntPap
[XmlElement(ElementName = "dEmi")]
public string ProxydEmi
{
get { return dEmi.ParaDataString();}
set { dEmi = Convert.ToDateTime(value); }
get {
return dEmi.ParaDataString();
}
set {
dEmi = Convert.ToDateTime(value);
}
}
}
}
5 changes: 3 additions & 2 deletions CTe.Classes/Informacoes/infCTeNormal/infDocumentos/infNF.cs
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ public class infNF
public string nRoma { get; set; }
public string nPed { get; set; }
public mod mod { get; set; }
public short serie { get; set; }
public string serie { get; set; }
public string nDoc { get; set; }

[XmlIgnore]
Expand All @@ -59,9 +59,10 @@ public string ProxyddEmi
{
get
{
return dEmi.ParaDataString();
return dEmi.ParaDataString();
}
set { dEmi = DateTime.Parse(value); }

}


Expand Down
48 changes: 48 additions & 0 deletions CTe.Classes/Servicos/DistribuicaoDFe/Schemas/MDFe.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
/********************************************************************************/
/* Projeto: Biblioteca ZeusNFe */
/* Biblioteca C# para emissão de Nota Fiscal Eletrônica - NFe e Nota Fiscal de */
/* Consumidor Eletrônica - NFC-e (http://www.nfe.fazenda.gov.br) */
/* */
/* Direitos Autorais Reservados (c) 2014 Adenilton Batista da Silva */
/* Zeusdev Tecnologia LTDA ME */
/* */
/* Você pode obter a última versão desse arquivo no GitHub */
/* localizado em https://github.com/adeniltonbs/Zeus.Net.NFe.NFCe */
/* */
/* */
/* Esta biblioteca é software livre; você pode redistribuí-la e/ou modificá-la */
/* sob os termos da Licença Pública Geral Menor do GNU conforme publicada pela */
/* Free Software Foundation; tanto a versão 2.1 da Licença, ou (a seu critério) */
/* qualquer versão posterior. */
/* */
/* Esta biblioteca é distribuída na expectativa de que seja útil, porém, SEM */
/* NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIABILIDADE OU */
/* ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral Menor*/
/* do GNU para mais detalhes. (Arquivo LICENÇA.TXT ou LICENSE.TXT) */
/* */
/* Você deve ter recebido uma cópia da Licença Pública Geral Menor do GNU junto*/
/* com esta biblioteca; se não, escreva para a Free Software Foundation, Inc., */
/* no endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. */
/* Você também pode obter uma copia da licença em: */
/* http://www.opensource.org/licenses/lgpl-license.php */
/* */
/* Zeusdev Tecnologia LTDA ME - adenilton@zeusautomacao.com.br */
/* http://www.zeusautomacao.com.br/ */
/* Rua Comendador Francisco josé da Cunha, 111 - Itabaiana - SE - 49500-000 */
/********************************************************************************/

using System;
using System.ComponentModel;
using System.Xml.Serialization;

namespace CTe.Classes.Servicos.DistribuicaoDFe.Schemas
{
public class MDFe
{
public string chMDFe { get; set; }
public string modal { get; set; }
public DateTime dhEmi { get; set; }
public string nProt { get; set; }
public DateTime dhRecbto { get; set; }
}
}
53 changes: 53 additions & 0 deletions CTe.Classes/Servicos/DistribuicaoDFe/Schemas/detEvento.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/********************************************************************************/
/* Projeto: Biblioteca ZeusNFe */
/* Biblioteca C# para emissão de Nota Fiscal Eletrônica - NFe e Nota Fiscal de */
/* Consumidor Eletrônica - NFC-e (http://www.nfe.fazenda.gov.br) */
/* */
/* Direitos Autorais Reservados (c) 2014 Adenilton Batista da Silva */
/* Zeusdev Tecnologia LTDA ME */
/* */
/* Você pode obter a última versão desse arquivo no GitHub */
/* localizado em https://github.com/adeniltonbs/Zeus.Net.NFe.NFCe */
/* */
/* */
/* Esta biblioteca é software livre; você pode redistribuí-la e/ou modificá-la */
/* sob os termos da Licença Pública Geral Menor do GNU conforme publicada pela */
/* Free Software Foundation; tanto a versão 2.1 da Licença, ou (a seu critério) */
/* qualquer versão posterior. */
/* */
/* Esta biblioteca é distribuída na expectativa de que seja útil, porém, SEM */
/* NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIABILIDADE OU */
/* ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral Menor*/
/* do GNU para mais detalhes. (Arquivo LICENÇA.TXT ou LICENSE.TXT) */
/* */
/* Você deve ter recebido uma cópia da Licença Pública Geral Menor do GNU junto*/
/* com esta biblioteca; se não, escreva para a Free Software Foundation, Inc., */
/* no endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. */
/* Você também pode obter uma copia da licença em: */
/* http://www.opensource.org/licenses/lgpl-license.php */
/* */
/* Zeusdev Tecnologia LTDA ME - adenilton@zeusautomacao.com.br */
/* http://www.zeusautomacao.com.br/ */
/* Rua Comendador Francisco josé da Cunha, 111 - Itabaiana - SE - 49500-000 */
/********************************************************************************/

using System;
using System.ComponentModel;
using System.Xml.Serialization;

namespace CTe.Classes.Servicos.DistribuicaoDFe.Schemas
{
[Serializable()]
[DesignerCategory("code")]
[XmlType(AnonymousType = true, Namespace = "http://www.portalfiscal.inf.br/cte")]
public class detEvento
{

[XmlElement(Namespace = "http://www.portalfiscal.inf.br/cte")]
public evCTeAutorizadoMDFe evCTeAutorizadoMDFe { get; set; }


[XmlAttribute()]
public decimal versao { get; set; }
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
/********************************************************************************/
/* Projeto: Biblioteca ZeusNFe */
/* Biblioteca C# para emissão de Nota Fiscal Eletrônica - NFe e Nota Fiscal de */
/* Consumidor Eletrônica - NFC-e (http://www.nfe.fazenda.gov.br) */
/* */
/* Direitos Autorais Reservados (c) 2014 Adenilton Batista da Silva */
/* Zeusdev Tecnologia LTDA ME */
/* */
/* Você pode obter a última versão desse arquivo no GitHub */
/* localizado em https://github.com/adeniltonbs/Zeus.Net.NFe.NFCe */
/* */
/* */
/* Esta biblioteca é software livre; você pode redistribuí-la e/ou modificá-la */
/* sob os termos da Licença Pública Geral Menor do GNU conforme publicada pela */
/* Free Software Foundation; tanto a versão 2.1 da Licença, ou (a seu critério) */
/* qualquer versão posterior. */
/* */
/* Esta biblioteca é distribuída na expectativa de que seja útil, porém, SEM */
/* NENHUMA GARANTIA; nem mesmo a garantia implícita de COMERCIABILIDADE OU */
/* ADEQUAÇÃO A UMA FINALIDADE ESPECÍFICA. Consulte a Licença Pública Geral Menor*/
/* do GNU para mais detalhes. (Arquivo LICENÇA.TXT ou LICENSE.TXT) */
/* */
/* Você deve ter recebido uma cópia da Licença Pública Geral Menor do GNU junto*/
/* com esta biblioteca; se não, escreva para a Free Software Foundation, Inc., */
/* no endereço 59 Temple Street, Suite 330, Boston, MA 02111-1307 USA. */
/* Você também pode obter uma copia da licença em: */
/* http://www.opensource.org/licenses/lgpl-license.php */
/* */
/* Zeusdev Tecnologia LTDA ME - adenilton@zeusautomacao.com.br */
/* http://www.zeusautomacao.com.br/ */
/* Rua Comendador Francisco josé da Cunha, 111 - Itabaiana - SE - 49500-000 */
/********************************************************************************/

using System;
using System.ComponentModel;
using System.Xml.Serialization;
using CTe.Classes.Informacoes.Emitente;

namespace CTe.Classes.Servicos.DistribuicaoDFe.Schemas
{
public class evCTeAutorizadoMDFe
{

[XmlElement(Namespace = "http://www.portalfiscal.inf.br/cte")]
public MDFe MDFe { get; set; }

[XmlElement(Namespace = "http://www.portalfiscal.inf.br/cte")]
public emit emit { get; set; }

public string descEvento { get; set; }

}
}
Loading

0 comments on commit 9b3211b

Please sign in to comment.