Estado: Terminado

Monitor de Nfe e Nfce - Modelos 55 e 65

Detalles del proyecto:
Presupuesto: Abierto
Publicado: Hace 3 meses
Plazo: No definido
Propuestas: 9
Freelancers interesados: 14

Habilidades requeridas: IT & Programación MySQL XML

Descripción:
Aplicação que verifica de tempo em tempo (ex: 5000ms) se existe alterações a serem realizada em NFe e NFCe e realiza os procedimentos necessários..

Tabelas do DB
- organizacao: contém as informações do contribuinte
- nf: contém as informações da nota fiscal
modelo (55 - NFe / 65 - NFCe)
numero
serie
xml
protocolo_autorizacao
chave_acesso
status (1 - nf gerada, 2 - nf autorizada, 3 - nf denegada, 4 - nf em contingencia, 5 - nf cancelada, 6 - numeracao inutilizada)
cancelar (1 - cancelar nota)
inutilizar (1 - inutiliza a numeração)
retorno_cod (último código de retorno da resposta da SEFAZ)
retorno_msg (última msg de retorno da resposta da sefaz)
- danfe: contém as informações do tipo de danfe a ser gerada
id_nf (identifica a nota fiscal da qual o danfe vai ser gerado)
tipo_danfe (1 - impressão térmica, 2 - impressão laser, 3 - impressão pdf, 4 - sms com chave de acesso e protocolo de autorização, 5 - email com chave de acesso e protocolo de autorização, 6 - email com DANFE pdf e xml)
impressora (identificação da impressora a ser utilizada)
- relatório: contém informações sobre o relatório gerencial a ser impresso
xml (arquivo xml do relatório a ser impresso - vamos definir as tags em breve - será bem simples)
status (1 - relatorio gerado, 2 - relatorio impresso)

Pastas:
- xml_geradas
- xml_autorizadas
- xml_denegadas (xml da nota denegada / tag que diz que está denegada?)
- xml_contingencia
- xml_canceladas (xml da nota cancelada / xml do cancelamento)
- xml_inutilizadas (xml do pedido de inutilização / xml da homologação)
- danfe_pdf
- relatorio

Quando houver registro com status = 1 na tabela nf, deverá assinar, validar e transmitir XML correspondente.
Se a Nota for autorizada => Salvar XML com autorização na pasta xml_autorizadas
=> Apagar XML da pasta xml_geradas
=> Salvar o protocolo de autorização e a chave de acesso no DB
=> Alterar status para 2

Se a Nota for denegada => Salvar XML na pasta xml_denegadas
=> Apagar XML da pasta xml_geradas
=> Alterar status para 3

Se a Nota for emitida em contingência => Salvar XML na pasta xml_contingencia
=> Apagar XML da pasta xml_geradas
=> Alterar status para 4

Quando houver registro com status = 4, na tabela nf, a aplicação deverá ficar tentando transmitir a nota, e quando conseguir, realizar as operações necessárioas
=> Salvar XML na pasta equivalente
=> Apagar XML da pasta xml_contingencia
=> Alterar status para o status equivalente, se autorizada, inserir protocolo e chave na base de dados

Quando houver registro com cancelar = 1, na tabela danfe
- faz o cancelamento da nota
- Apaga XML da pasta anterior
- Salva XML a pasta xml_canceladas
Quando houver registro com inutilizar = 1, na tabela danfe
- inutiliza a numeração da série especificada na tabela
- Salva xml na pasta xml_inutilizadas

Quando houver registro com status = 1, na tabela danfe
=> Pegar a impressora térmica de destino na base de dados
=> Imprimir o DANFE referente ao arquivo XML referenciado na tabela

Quando houver registro com status =2, na tabela danfe
=> Pegar a impressora laser de destino na base de dados
=> Imprimir o DANFE referente ao arquivo XML referenciado na tabela

Quando houver registro com status =3, na tabela danfe
=> Salva arquivo PDF com a DANFE a pasta danfe_pdf, cada um em seu formato, modelo 55 ou modelo 65.

Para os demais status da tabela danfe, a aplicação não precisará fazer nada.

Para o relatório vou desenhar um layout do tamanho da bobina da impressora e passo para você verificar. E os dados do relatório serão passados por xml de forma bem simples.

O sistema deverá verificar continuamente, a cada ciclo de tempo (ex: 5000ms, personalizavel), se existem alterações nas tabelas da nf e executa as ações necessárias.

Até a finalização do projeto, alguns ajustes de campos e informações podem ser precisos, como nome das tabelas, algumas informações, mas nada que mude o escopo geral do projeto.

No final entregar os códigos comentados e uma versão em funcionamento.
E dar o suporte necessário para utilização, obviamanete.

Seria interessante ter uma tela para especificar as queryes do mysql, os webservices da sefaz, dados de acesso a base de dados, etc..

Nos casos de cancelamento de nota, deve ser salvo o xml da nota + xml do cancelamento?
No caso de inutilização deve ser salvo o xml do pedido de inutilização + xml da homologação?
Sempre salvar o xml da resposta, com as tags adicionadas..

Categoria: IT & Programação
Subcategoria: Desktop Applications
Qual é o alcance do projeto?: Criar um novo aplicativo
Isso é um projeto ou uma posição de trabalho?: Um projeto
Tenho, atualmente: Eu tenho especificações
Experiência nesse tipo de projeto: Sim (Eu já gerenciei esse tipo de projeto)
Disponibilidade requerida: Conforme necessário
Integrações de API: Outros (Outras APIs)
Plataformas exigidas: Windows, Linux / Unix

Crea tu propio proyecto

¿Buscas un freelancer para realizar un proyecto similar? Crea tu propio proyecto y recibirás ofertas de los mejores freelancers.

Crear un proyecto similar

Cliente:

Jeandré L. D.
(Promedio 5.00 de 5)
Ubicación: Brasil
Para ver más detalles del cliente, ingresa a Workana.
Cargando...