Sistema de Gestão de Protocolos em YAD
Publicado por Daniel Carvalho (última atualização em 21/12/2016)
[ Hits: 4.981 ]
Este é meu primeiro Shell Script. Meu primeiro código em programação aliás. Foi meu primeiro estudo.
O script na verdade é um programinha para ajudar a organizar os protocolos de atendimento em SAC's e serviços de telemarketings que cotidianamente a gente tem que lidar.
REQUISITOS
- o script foi todo desenvolvido com o YAD, uma interface gráfica para shell. Ela deve estar instalada.
DESCRIÇÃO
- cadastra novos protocolos através de formulário
- busca protocolos cadastrados através de palavra-chave
- mostra os resultados e os imprime, se quiser
- gera um arquivo .csv que pode ser utilizado em EXCEL ou CALC
Fiquem a vontade para mandar sugestões. Adoraria recebê-las para aprender mais.
Abraços.
#!/bin/bash # Script para captar informações sobre atendimentos telefônicos em centrais de atendimento # e direcionar para um arquivo .csv # Versão 2.1 | Autor: Daniel Carvalho # CRIANDO OS ARQUIVOS NECESSÁRIOS touch prot_reg.csv if [ -s prot_reg.csv ] then touch prot_reg.csv else echo "CENTRAL|DATA|ATENDENTE|PROTOCOLO|DESCRIÇÃO|" >> prot_reg.csv fi # DECLARANDO VARIÁVEIS VERSAO="2.1" HOJE=`date +%d/%m/%Y` # DECLARANDO ALIASES (ver sintaxe) alias msg_erro='yad --button=OK --title="Ops!" --text="Algo deu errado. Tente novamente." --text-align=center --width=200 --height=120 --window-icon=error --image=dialog-error' # DECLARANDO FUNÇÕES organizando_procura(){ GREP_VAR=`grep "$SEARCH" -i prot_reg.csv` TITULOS=(CENTRAL DATA ATENDENTE PROTOCOLO DESCRIÇÃO) OLDIFS="$IFS" echo -e "PROTOCOLOS $VERSAO - Organize seus direitos" >> result.inf echo >> result.inf echo "====================================" >> result.inf echo >> result.inf while IFS=$'\n' read -r LINE do IFS="|" read -a CAMPOS <<< "$LINE" IFS="$OLDIFS" for ((x=0;x<5;x++)) do echo -e "${TITULOS[$x]}: ${CAMPOS[$x]}" >> result.inf done echo >> result.inf done <<< "$GREP_VAR" echo "------------------------------------" >> result.inf echo "Pesquisado em $HOJE" >> result.inf } inserindo_dados(){ yad --form --width=450 --height=340 --title="Cadastrar" --image=gtk-add --text="<b>Insira os dados pedidos</b>\n"\ --field="Central":CBE ^NET!Oi!TIM!Vivo\ --field="Data":DT\ --field="Atendente"\ --field="Protocolo"\ --field="Descrição do atendimento":TXT >> prot_reg.csv unset DE_NOVO DE_NOVO=`yad --title="Prosseguir?" --button="Sim"!gtk-ok --button="Não"!gtk-cancel --text="Deseja <b>adicionar</b> outra entrada?" --image=gtk-execute` if [ "$?" = 0 ] then inserindo_dados elif [ "$?" = 1 ] then tela_inicio else msg_erro fi } procurando_dados(){ SEARCH=`yad --form --width=350 --title="Procurar" --window-icon=gtk-search --image=gtk-find --text="Você pode procurar por qualquer campo que quiser. É só digitar o <b>termo de pesquisa</b> no formulário abaixo.\n \n <i> * Central\n * Data [dd/mm/aaaa]\n * Atendente\n * Protocolo\n * Palavra-chave</i> \n" --field="Digite o termo"` if [ "$?" = 0 ] then organizando_procura # cat result.inf | yad --text-info --title="Resultado da Pesquisa" --image=gtk-info\ --text="Abaixo seguem os resultados encontrados" --width=500 --height=650\ --button=gtk-ok:0 --button=gtk-print:300 --filename=result.inf # IF dentro de IF para testar se quer imprimir ou não if [ "$?" = 300 ] then yad --print --type=text --filename=result.inf fi rm -f result.inf # Remover o arquivo de resultados elif [ "$?" = 1 ] then tela_inicio else msg_erro fi unset DE_NOVO DE_NOVO=`yad --title="Prosseguir?" --button="Sim"!gtk-ok --button="Não"!gtk-cancel --text="Deseja <b>procurar</b> outra entrada?" --image=gtk-execute` if [ "$?" = 0 ] then procurando_dados elif [ "$?" = 1 ] then tela_inicio else msg_erro fi } tela_inicio(){ ESCOLHA=`yad --list --width=350 --height=220 --button=gtk-ok:0 --no-headers --dialo-sep --image=gtk-dialog-question --text="Escolha a operação que você deseja fazer" --title="Escolha a opção - PROTOCOLOS $VERSAO" --separator='' --column="unica" "Cadastrar uma entrada" "Procurar uma entrada" "Sobre o script" "Sair"` if [ -z "$ESCOLHA" ] then exit elif [ "$ESCOLHA" = "Cadastrar uma entrada" ] then inserindo_dados elif [ "$ESCOLHA" = "Procurar uma entrada" ] then procurando_dados elif [ "$ESCOLHA" = "Sobre o script" ] then sobre_about else exit fi } sobre_about(){ yad --width=450 --height=400 --title="Sobre PROTOCOLOS $VERSAO" --text-align=center --image=gtk-about --text="<b>PROTOCOLOS $VERSAO</b>\n \n Este é um script desenvolvido em linguagem de <b> Shell Script</b> por <b><i>Daniel Carvalho</i></b> para fins de estudo e hobbie. É gratuito e <i>open source</i>. Pode e deve ser mexido e remexido por qualquer pessoa que queria contribuir com sua melhoria.\n \n Por favor, visite 'http://https://github.com/dacarpe/' para mais informações sobre como contribuir com o código." --button=gtk-ok:0 --buttons-layout=center tela_inicio } # PARTINDO PRO PROGRAMA # TELA DE ABERTURA yad --undecorated --title="PROTOCOLOS $VERSAO" --image-on-top --image=logo60.png --text-align=center --text="<b>PROTOCOLOS - Organize seus direitos</b>\n \n<b>Versão $VERSAO</b> - Autor: <i>Daniel Carvalho</i>" --timeout=2 --no-buttons --center --on-top tela_inicio
Rwgimp28 :: para ter o gimp versão 2.8
Executando comandos de telnet via shell-script
Nenhum coment�rio foi encontrado.
Customizar a Instalação do Linux Debian com Preseed
Atualizando o Passado: Linux no Lenovo G460 em 2025
aaPanel - Um Painel de Hospedagem Gratuito e Poderoso
Um modo leve de ouvir/ver áudio/vídeo da internet em máquinas pererecas
Resolver algumas mensagens de erro do SSH
Instalar módulo de segurança do Banco do Brasil Warsaw do tipo .run
Instalação de Certificados .Cer no Ubuntu 24.04 (0)
O que você está ouvindo agora? [2] (193)
Procrastinação e autossabotagem são problemas muito comuns na sociedad... (8)