Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file added Curr_culo.pdf
Binary file not shown.
64 changes: 3 additions & 61 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,62 +1,4 @@
# Venha para Recomb

O desafio é desenvolver um programa que permita realizar as seguintes buscas:

1) Listar os valores e data de Vencimento dos boletos presentes em um nota fiscal conforme o CPF ou CNPJ de um fornecedor.
2) Apresentar o nome, identificador (CPF ou CNPJ), endereço dos clientes de um fornecedor.

**Escolha as tecnologias que você vai usar e tente montar uma solução completa para rodar a aplicação.**

Para enviar o resultado, basta realiazar um Fork deste repositório e abra um Pull Request, com seu nome.

É importante comentar que deve ser enviado apenas o código fonte. Não aceitaremos códigos compilados.

Por fim, o candidato deve atualizar o Readme.md com as seguintes informações:

1) Documentação da solução;
2) Lista dos diferenciais implementados

## Avaliação

O programa será avaliado levando em conta os seguintes critérios:
|Critério| Valor|
|-------|--------|
|Legibilidade do Código |10|
|Organização do Código|10|
|Documentação do código |10|
|Documentação da solução |10|
|Tratamento de Erros |10|
|Total| 50|

A pontuação do candidato será a soma dos valores obtidos nos critérios acima.

## Diferenciais

O candidato pode aumentar a sua pontuação na seleção implementando um ou mais dos itens abaixo:
|Item | Pontos Ganhos|
|-----|--------------|
|Criar um serviço com o problema |30|
|Utilizar banco de dados |30|
|Implementar Clean Code |20|
|Implementar o padrão de programação da tecnologia escolhida |20|
|Qualidade de Código com SonarQube| 15|
|Implementar testes unitários |15|
|Implementar testes comportamentais | 15|
|Implementar integração com Travis |10|
|Implementar integração com Travis + SonarQube |10|
|Implementar usando Docker |5|
|Total | 170|

A nota final do candidato será acrescido dos pontos referente ao item implementado corretamente.

## Penalizações

O candidato será desclassifiado nas seguintes situações:

1) Submeter um solução que não funcione;
2) Não cumprir os critérios presentes no seção Avaliação;
3) Plágio;



# desafiorecomb

1. Documentação da solução se encontra na minha célula do notebook no qual o código está
2. Diferenciais: Utilizar banco de dados, Implementar testes unitários, Implementar testes comportamentais e Implementar Clean Code
1 change: 1 addition & 0 deletions desafioRecomb.ipynb

Large diffs are not rendered by default.

307 changes: 307 additions & 0 deletions testes/nfe.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,307 @@
<?xml version="1.0" encoding="UTF-8"?>
<nfeProc versao="4.00" xmlns="http://www.portalfiscal.inf.br/nfe">
<NFe xmlns="http://www.portalfiscal.inf.br/nfe">
<infNFe Id="NFe31190406273476000182550020000031031004640327" versao="4.00">

<ide>
<cUF>31</cUF>
<cNF>00464032</cNF>
<natOp>Vendas a prazo</natOp>
<mod>55</mod>
<serie>2</serie>
<nNF>3103</nNF>
<dhEmi>2019-04-10T17:24:03-02:00</dhEmi>
<dhSaiEnt>2019-04-11T17:17:30-02:00</dhSaiEnt>
<tpNF>1</tpNF>
<idDest>1</idDest>
<cMunFG>3170206</cMunFG>
<tpImp>1</tpImp>
<tpEmis>1</tpEmis>
<cDV>7</cDV>
<tpAmb>1</tpAmb>
<finNFe>1</finNFe>
<indFinal>0</indFinal>
<indPres>1</indPres>
<procEmi>0</procEmi>
<verProc>001</verProc>
</ide>

<emit>
<CNPJ>06273476000182</CNPJ>
<xNome>MECA Office Mobil. Eireli-ME</xNome>
<xFant>MECA Office Mobil. Eireli-ME</xFant>

<enderEmit>
<xLgr>AV. MARCOS DE FREITAS COSTA</xLgr>
<nro>1055</nro>
<xBairro>DANIEL FOSECA</xBairro>
<cMun>3170206</cMun>
<xMun>Uberlandia</xMun>
<UF>MG</UF>
<CEP>38400328</CEP>
<cPais>1058</cPais>
<xPais>BRASIL</xPais>
<fone>3432385585</fone>
</enderEmit>

<IE>7022916720058</IE>
<CRT>1</CRT>
</emit>

<dest>
<CNPJ>25587387000155</CNPJ>
<xNome>HLTS ENGENHARIA E CONSTRUCOES LTDA</xNome>

<enderDest>
<xLgr>RUA MACHADO DE ASSIS</xLgr>
<nro>1324</nro>
<xBairro>LIDICE</xBairro>
<cMun>3170206</cMun>
<xMun>Uberlandia</xMun>
<UF>MG</UF>
<CEP>38400081</CEP>
<cPais>1058</cPais>
<xPais>BRASIL</xPais>
<fone>3432235966</fone>
</enderDest>

<indIEDest>1</indIEDest>
<IE>7021771340054</IE>
</dest>

<det nItem="1">

<prod>
<cProd>00331</cProd>
<cEAN>SEM GTIN</cEAN>
<xProd>CADEIRA GIRATORIA S/ BRACO ALMOFADADA PRETO</xProd>
<NCM>94019090</NCM>
<CFOP>5102</CFOP>
<uCom>UN</uCom>
<qCom>2</qCom>
<vUnCom>165.00000</vUnCom>
<vProd>330.00</vProd>
<cEANTrib>SEM GTIN</cEANTrib>
<uTrib>UN</uTrib>
<qTrib>2</qTrib>
<vUnTrib>165.00000</vUnTrib>
<indTot>1</indTot>
</prod>

<imposto>
<vTotTrib>77.68</vTotTrib>
<ICMS>
<ICMSSN102>
<orig>0</orig>
<CSOSN>102</CSOSN>
</ICMSSN102>
</ICMS>
<PIS>
<PISNT>
<CST>08</CST>
</PISNT>
</PIS>
<COFINS>
<COFINSNT>
<CST>08</CST>
</COFINSNT>
</COFINS>
</imposto>

<infAdProd>IMOBILIZADO IMOB - 2317 CADEIRA GIRATORIA S/ BRACO ALMOFADADA PRETO - IMOBILIZADO EQUIP. MOVEIS P/ CANTEIRO MATERIAIS INSTALACAO DE CANTEIRO.</infAdProd>
</det>

<det nItem="2">
<prod>
<cProd>01228</cProd>
<cEAN>SEM GTIN</cEAN>
<xProd>CADEIRA GIRATORIA C/ BRACO ALMOFADADA PRETO</xProd>
<NCM>94019090</NCM>
<CFOP>5102</CFOP>
<uCom>UN</uCom>
<qCom>1</qCom>
<vUnCom>215.00000</vUnCom>
<vProd>215.00</vProd>
<cEANTrib>SEM GTIN</cEANTrib>
<uTrib>UN</uTrib>
<qTrib>1</qTrib>
<vUnTrib>215.00000</vUnTrib>
<indTot>1</indTot>
</prod>

<imposto>
<vTotTrib>50.61</vTotTrib>
<ICMS>
<ICMSSN102>
<orig>0</orig>
<CSOSN>102</CSOSN>
</ICMSSN102>
</ICMS>
<PIS>
<PISNT>
<CST>08</CST>
</PISNT>
</PIS>
<COFINS>
<COFINSNT>
<CST>08</CST>
</COFINSNT>
</COFINS>
</imposto>
<infAdProd>IMOBILIZADO EQUIP/MOVEIS P/ CANTEIRO MATERIAIS INSTALACAO DE CANTEIRO</infAdProd>
</det>

<det nItem="3">
<prod>
<cProd>01324</cProd>
<cEAN>SEM GTIN</cEAN>
<xProd>BANQUETA ALTA 70CM PARA BALCAO ASSENTO 30 OU</xProd>
<NCM>94019090</NCM>
<CFOP>5102</CFOP>
<uCom>PC</uCom
><qCom>1</qCom>
<vUnCom>90.00000</vUnCom>
<vProd>90.00</vProd>
<cEANTrib>SEM GTIN</cEANTrib>
<uTrib>PC</uTrib>
<qTrib>1</qTrib>
<vUnTrib>90.00000</vUnTrib>
<indTot>1</indTot>
</prod>
<imposto>
<vTotTrib>21.19</vTotTrib>
<ICMS>
<ICMSSN102>
<orig>0</orig>
<CSOSN>102</CSOSN>
</ICMSSN102>
</ICMS>
<PIS>
<PISNT>
<CST>08</CST>
</PISNT>
</PIS>
<COFINS>
<COFINSNT>
<CST>08</CST>
</COFINSNT>
</COFINS>
</imposto>
<infAdProd>40CM NA COR PRETA - IMOBILIZADO EQUIP./MOVEIS P/ CANTEIRO MATERIAIS INSTALACAO DE CANTEIRO</infAdProd>
</det>

<det nItem="4">
<prod>
<cProd>01644</cProd>
<cEAN>SEM GTIN</cEAN>
<xProd>ESTANTE ACO C/ 06 PRATELEIRAS 0,93X040X1,98M</xProd>
<NCM>94069020</NCM>
<CFOP>5102</CFOP>
<uCom>PC</uCom>
<qCom>2</qCom>
<vUnCom>234.00000</vUnCom>
<vProd>468.00</vProd>
<cEANTrib>SEM GTIN</cEANTrib>
<uTrib>PC</uTrib>
<qTrib>2</qTrib>
<vUnTrib>234.00000</vUnTrib>
<indTot>1</indTot>
</prod>

<imposto>
<vTotTrib>45.87</vTotTrib>
<ICMS>
<ICMSSN102>
<orig>0</orig>
<CSOSN>102</CSOSN>
</ICMSSN102>
</ICMS>
<PIS>
<PISNT>
<CST>08</CST>
</PISNT>
</PIS>
<COFINS>
<COFINSNT>
<CST>08</CST>
</COFINSNT>
</COFINS>
</imposto>

<infAdProd>(REFORCADA) AMAPA - IMOBILIZADO.</infAdProd>
</det>

<total>
<ICMSTot>
<vBC>0.00</vBC>
<vICMS>0.00</vICMS>
<vICMSDeson>0.00</vICMSDeson>
<vFCP>0.00</vFCP>
<vBCST>0.00</vBCST>
<vST>0.00</vST>
<vFCPST>0.00</vFCPST>
<vFCPSTRet>0.00</vFCPSTRet>
<vProd>1103.00</vProd>
<vFrete>0.00</vFrete>
<vSeg>0.00</vSeg>
<vDesc>0.00</vDesc>
<vII>0.00</vII>
<vIPI>0.00</vIPI>
<vIPIDevol>0.00</vIPIDevol>
<vPIS>0.00</vPIS>
<vCOFINS>0.00</vCOFINS>
<vOutro>0.00</vOutro>
<vNF>1103.00</vNF>
<vTotTrib>195.35</vTotTrib>
</ICMSTot>
</total>

<transp>
<modFrete>0</modFrete>
<vol>
<qVol>6</qVol>
<esp>VOLUME</esp>
<marca>VARIAS</marca>
<pesoL>0.000</pesoL>
<pesoB>0.000</pesoB>
</vol>
</transp>
<cobr>
<fat>
<nFat>000003103</nFat>
<vOrig>1103.00</vOrig>
<vDesc>0.00</vDesc>
<vLiq>1103.00</vLiq>
</fat>
<dup>
<nDup>001</nDup>
<dVenc>2019-05-11</dVenc>
<vDup>1103.00</vDup>
</dup>
</cobr>
<pag>
<detPag>
<tPag>14</tPag>
<vPag>1103.00</vPag>
</detPag>
<vTroco>0.00</vTroco>
</pag>
<infAdic>
<infCpl>ORDEM DE FORNECIMENTO 36994 - 28DD - INFORMACOES COMPLEMENTARES a seguinte informacao. EMPRESA ENQUADRADA NO SIMPLES NACIONAL. NAO GERA CREDITO DE IPI/ISS. GERA CREDITO DE ICMS. Trib aprox R$: 54,84 Federal 140,51 Estadual Fonte: IBPT empresometro.com.br S3A6R4</infCpl>
</infAdic>
</infNFe>

<Signature xmlns="http://www.w3.org/2000/09/xmldsig#"><SignedInfo><CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/><SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/><Reference URI="#NFe31190406273476000182550020000031031004640327"><Transforms><Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/><Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/></Transforms><DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/><DigestValue>ngqVwH6QNCAHyRuI529RIAr7Nyk=</DigestValue></Reference></SignedInfo><SignatureValue>IAxnZ+del9SR4hBrWJOxR6R+9+4wX7K4QIFevGOhjzE36Fe77GbFB3SigoqsZ+ypUDyCz/6dm7ejsDjC6s3ROafT8NBrMFL0bE14WhNK0D0GdrLWCUZdi+IGT/B4rw8unpwq+2JVPe7vLdxpRZPPYaoZCt52yLBiZTxnGEoHRIgUbvByiYDTxvXStpRXXUKCrd2/2G13W+HoEVWOtg97taSgQfbiOT5kTGCC9DQ/EthiOj71TFaWIQV18pfwjAeP0cNFMAp5ILEmXfKZ/Jm6LKRoiVfUZRafK+QU7MatTGHxWKyZSvW/82Ob38kT6jZChea+7vh9N9hDQiTcWmcGUw==</SignatureValue><KeyInfo><X509Data><X509Certificate>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</X509Certificate></X509Data></KeyInfo></Signature>
</NFe>
<protNFe xmlns="http://www.portalfiscal.inf.br/nfe" versao="4.00"><infProt>
<tpAmb>1</tpAmb>
<verAplic>14.2.26</verAplic>
<chNFe>31190406273476000182550020000031031004640327</chNFe>
<dhRecbto>2019-04-10T17:23:27-03:00</dhRecbto>
<nProt>131193257591884</nProt>
<digVal>ngqVwH6QNCAHyRuI529RIAr7Nyk=</digVal>
<cStat>100</cStat>
<xMotivo>Autorizado o uso da NF-e</xMotivo>
</infProt>
</protNFe>
</nfeProc>
Loading