Sistema para impressão de arquivos direto de uma aplicação que use MySQL
###config.ini###############################################################################
--ABRA COM O BLOCO DE NOTAS O ARQUIVO config.ini PARA CADASTRAR SUAS CREDENCIAIS DO BANCO DE DADOS.
--NOVA VERSÃO, cadastrar no arquivo também;
-[ticket_type]: O TIPO DE CREDENCIAL SENDO 0 = PUSELIRA, 1 = ETIQUETA 90x40x1, 2 = HOMOLOGAÇÃO
-FUNÇÃO DE HOMOLOGAÇÃO GERA UM PDF PARA QUE VOCÊ TESTE A COMUNICAÇÃO DOS SISTEMAS.
-[printer_port]: COLOCAR A PORTA ONDE A ARGOX ESTA INSTALADA EX: com1, usb001, lpt1...
-[table_name]: cadastrar nesse campo o nome da tabela que consta os itens 'id' e 'impresso'
para que o sistema possa fazer a consulta.
###DATABASE#############################################################################
A RELAÇÃO ENTRE O SISTEMA DE CREDENCIAMENTO E SISTEMA DE IMPRESSÃO É FEITA ATRAVES DO 'IP LOCAL', SUA APLICAÇÃO PRECISA ENCONTRAR O IP LOCAL DE ONDE O USUARIO VAI IMPRIMIR E SALVAR EM UMA COLUNA 'ip' SENDO O IP NO BANCO DE DADOS UM 'VARCHAR(50)' NO FORMATO '192.168.0.10'.
O PRINTSERVICE ESTA EM LOOP CONSULTANDO DUAS COLUNAS DE SEU BANCO DE DADOS ESSAS COLUNAS PRECISAM SE CHAMAR RESPECTIVAMENTE 'id' e 'impresso', esses campos devem estar dentro da tabela cadastrada no arquivo config.ini.
#####PROCEDURE############################################################################
PARA GERAR A CREDENCIAL É NECESSARIO QUE SEJA CRIADA UMA PROCEDURE:
CREATE DEFINER=SEU_DEFINER`@`%` <b>PROCEDURE</b> `printservice`<BR> (IN `IP_USER_LOCAL` VARCHAR(50), <BR> OUT `NOME_CRED` VARCHAR(220), OUT `FUNC_CRED` VARCHAR(220), OUT `EVT_CRED` VARCHAR(220),<BR> OUT `OBS_CRED` TEXT, OUT `DATA_EVT_CRED` DATETIME, OUT `QR_CODE_CRED VARCHAR(50))
BEGIN
SELECT nome, funcao, evento, obs, data_evt, qr_code
INTO NOME_CRED, FUNC_CRED, EVT_CRED, OBS_CRED, DATA_EVT_CRED, QR_CODE_CRED
FROM NOME_CADASTRADO_NO_CONFIG.INI
WHERE ip_user = IP_USER_LOCAL AND impresso < 2 AND impresso = 1;
END
O VALOR QUE A PROCEDURE ESTA ESPERANDO É O IP LOCAL O UNICO VALOR DE ENTRADA QUE ELA TEM
O SISTEMA VAI ESPERAR POR 6 SAIDAS QUE DEVEM CONTER OS DADOS DA CREDENCIAL NA SEGUINTE ORDEM:
NOME, FUNCAO, EVENTO, OBS, DATA EVENTO, QR CODE.
DESTA FORMA FICA MAIS FACIL PARA QUE O SERVIDOR JUNTE OS DADOS DA CREDENCIAL E OS ENVIE PARA O CLIENTE DE IMPRESSÃO.
##########################################################################################
APÓS A IMPRESSÃO O SISTEMA VAI ATUALIZAR A CREDENCIAL NA BASE DE DADOS OS DADOS A SEREM ATUALIZADOS SERÃO 'ip' 'impresso' e 'update_at' ENTÃO É IMPORTANTE QUE SUA TABELA NO BD TENHA ESSAS 3 COLUNAS.
##########################################################################################
IMPRESSORAS USB ! O SISTEMA USA COMANDOS DO 'SO' PARA ENVIAR DADOS PARA IMPRESSORA
PARA QUE SEJA FEITA A IMPRESSÃO CORRETAMENTE É NECESSARIO QUE SE FAÇA UM MAPEAMENTO NA REDE
DA IMPRESSORA PARA A PORTA LPT2, VAMOS AOS PASSOS:
-ABRA O CMD DE SEU 'SO' WINDOWS+R CMD;
-DIGITE O COMANDO 'net use';
-CASO A PORTA LPT2 ESTEJA EM USO, USE O COMANDO 'net use lpt2 /delete';
-AGORA VÁ PARA A SUA IMPRESSORA COMPARTILHE ELA NA REDE COM O NOME 'PrintA';
-VOLTANDO NO CMD DIGITE O SEGUINTE COMANDO 'net use lpt2 \\nome_do_PC\PrintA';
-AGORA A IMPRESSORA JÁ ESTA PRONTA PARA IMPRIMIR VIA 'SO';
-COLOQUE NO ARQUIVO 'config.ini' A 'printer_port' COMO 'lpt2'.
##########################################################################################
****ARRAY COM DADOS NECESSARIO PARA SE GERAR UMA CREDENCIAL
###########################################################################################
0 = ID
1 = NOME CREDENCIADO
2 = FUNÇÃO CREDENCIADO
3 = EVENTO
4 = IMPRESSO (O=NÃO IMPRESSO, 1=IMPRESSAO SOLICITADA, 2=JÁ IMPRESSO)
5 = OBSERVAÇÃO
6 = DATA DO EVENTO
7 = VALOR DO QR CODE
BETA VERSÃO 1.1.0
BETA VERSÃO 1.2.0
BETA VERSÃO 1.2.2