1 MANUTENÇÃO DOS DADOS DO MUNICÍPIO APRESENTAÇÃO Buscando manter as informações sobre o município atualizado o PARANACIDADE disponibilizará a prefeitura uma interface que permita que sejam atualizadas as informações sobre o município. Estes dados serão replicados para o banco de dados do SAM, que por sua vez estas informações serão utilizadas pelo sistema em diversas funções. CASOS DE USO MANUTENÇÃO DOS DADOS DO MUNICÍPIO Nome: Manutenção dos dados do Município Ator principal: Usuário externo, cadastrado para o município, com acesso administrativo ou prefeito (CRIAR FUNCAO) 1. Interessados e interesses Município: manter atualizado os dados do município para que futuros documentos estejam corretos. PARANACIDADE: manter sua base de dados com as informações mais atualizadas possíveis sobre o município. 2. Pré-condições Usuário devidamente autenticado no portal; Cadastro do município disponível; 3. Pós-condições Dados município atualizado. 4.Fluxo Principal 1.Usuário solicita formulário com os dados do município; 2.Sistema disponibiliza os dados do município; 3.Usuário altera ou informa os dados; 4.Sistema valida os dados informados e altera no banco de dados; 5.Caso de Uso se encerra. 5. Fluxo Alternativo *. a – A qualquer momento, Sistema falha: 1. Sistema exibe mensagem de erro. 2. Caso de uso se encerra; *.b – A qualquer momento, usuário cancela operação: 1. Caso de uso se encerra; 4.a – Usuário deixa de informar os campos obrigatórios: 1. Sistema exibe mensagem comunicando ao usuário de que o campo é obrigatório; 2. Caso de uso retorna ao passo 2; Criado por david 10/04/2013 11:17:00 Última gravação david 17/06/2017 12:15 2 CONTRATO DE USO MANUTENÇÃO DOS DADOS DO MUNICÍPIO O usuário externo deverá se autenticar no sistema. Ao se conectar o sistema realizará a carga do menu conforme autorizações disponibilizadas para o usuário. Quando o usuário clicar no link dados do município, o sistema disponibilizará ao usuário as informações do município ao qual o usuário é vinculado, o ID do município deverá estar em variável da sessão PHP. A busca dos dados será atrás da seguinte QUERY SQL: “select t1.tipologradouro_id, t2.logradouro, t1.endereco, t1.numero, t1.cep, t1.complemento, t1.bairro, t1.telefone, t1.fax, t1.email, t1.cnpj from municipio t1, logradouro t2 where t1.tipologradouro_id = t2.id and t1.id = $id_municipio” Os dados de ID e NOME do município já estarão na sessão do PHP, portanto não será necessário apresentar estes dados, muito menos será permitido ao usuário alterar estes dados. Os dados das colunas t1.tipologradouro_id e t2.logradouro serão apresentados em um campo do tipo list (combobox). Esta list será resultado de uma busca de todos os registros na tabela tipologradouro através da QUERY SQL: “select id, logradouro from logradouro order by logradouro” Com todos os registros carregados na list o dado do município deverá ser apresentado como assinalado. Os demais campos a serem apresentados no formulário deverão respeitar o tamanho e sua obrigatoriedade conforme o dicionário de dados que se encontra no decorrer deste documento. Os seguintes campos deverão ter as validações específicas como: Campo numero cep telefone fax email cnpj Criado por david 10/04/2013 11:17:00 RegEx S S S S S S Formatação 9999999 99.999-999 99-9999-9999 99-9999-9999 99.999.999/9999-99 Última gravação david 17/06/2017 12:15 3 As expressões regulares são aplicadas através do método PHP preg_match($regex,$string) onde a variável $regex representa o pattern da expressão regular que validará a variável $string. O retorno do método é uma variável do tipo boolean, se a expressão for válida retorno será verdadeiro caso contrário será falso. A seguir os patterns regEx que deverão ser aplicados: campo numero cep telefone / fax email cnpj regEx [^\D] /^[0-9]{2}.[0-9]{3}-[0-9]{3}$/ /^[0-9]{2}\-[0-9]{4}-[0-9]{4}$/ /^[^\W][a-zA-Z0-9_]+(\.[a-zA-Z0-9_]+)*\@[a-zA-Z0-9_]+(\.[a-zA-Z09_]+)*\.[a-zA-Z]{2,4}$/ ^\d{2}\.\d{3}\.\d{3}\/\d{4}\-\d{2}$ Caso alguma das validações não seja verdadeira, o sistema deverá retornar ao formulário um alerta de que o dado é inválido e solicitar para que o usuário preencha corretamente. Depois de validado corretamente todos os campos, para alterar os dados no banco de dados deverá ser executado a seguinte QUERY SQL: “update municipio set tipologradouro_id = :$tipologradouro_id, endereco = $endereco, numero = $numero, cep = $cep, complemento = $complemento, bairro = $bairro, telefone = $telefone, fax = $fax email = $email, cnpj = $cnpj where id = $id_município” Criado por david 10/04/2013 11:17:00 Última gravação david 17/06/2017 12:15 4 DICIONÁRIO DE DADOS municipio ColumnName DataType PrimaryKey id INTEGER PK prefeito_id tipologradouro_id NotNull Comment AutoInc NN código do município; INTEGER NN id usuário prefeito; AI INTEGER NN id logradouro; nome VARCHAR(100) NN nome do município; endereco VARCHAR(255) NN endereço do paço municipal; INTEGER NN Número da edificação; cep VARCHAR(10) NN cep do endereço do paço municipal; complemento VARCHAR(255) bairro VARCHAR(100) NN bairro do paço municipal; telefone VARCHAR(20) NN telefone da prefeitura; numero fax VARCHAR(20) email VARCHAR(100) cnpj VARCHAR(20) IndexName PRIMARY complemento; fax da prefeitura; IndexType PRIMARY Columns Municipio_FKIndex1 Index tipologradouro_id municipio_FKIndex2 Index prefeito_id NN e-mail da prefeitura; NN cnpj do municÍpio; id tipologradouro ColumnName DataType PrimaryKey NotNull Comment AutoInc id INTEGER PK NN id do tipo logradouro AI logradouro VARCHAR(45) NN logradouro IndexName PRIMARY IndexType PRIMARY Criado por david 10/04/2013 11:17:00 Columns id Última gravação david 17/06/2017 12:15