====== Especificação funcional: Pontos de Atendimento ====== ===== Resumo ===== Registrar os dados de uma entidade que poderá ser atendida através da realização de um ou mais serviços no cadastro de atendimentos. ===== Descrição ===== Um ponto de atendimento representa o local ou a entidade (pessoa, empresa, escola, etc) para o qual um serviço pode ser prestado. Por isso é preciso que o ponto esteja cadastrado para que os atendimentos possam ser registrados. Um ponto de atendimento deve estar numa [[softwares:geoservicos:requisitos:configuracoes:categorias|categoria]]. Ela define o tipo de documento aceito pelo ponto, assim como os campos personalizados disponíveis no cadastro. Um ponto pode ser desativado. Neste caso, ele não poderá ser usado para incluir ou alterar um cadastro: * Ao vincular um ponto de atendimento a outro * Ao vincular um ponto de atendimento a uma feição na ferramenta de importação de coordenadas * No cadastro de atendimentos (individual ou para vários pontos ao mesmo tempo) * No cadastro de planejamentos Um ponto desativado ainda poderá aparecer em todos os locais onde seus dados não possam ser alterados ou que não alterem outros cadastros: relatórios, gráficos, consultas, mapas, etc. Na consulta de pontos de atendimentos, os inativos devem ser diferenciados dos ativos por cores. O usuário deve poder filtrar somente os ativos ou somente os inativos. O campo grupo serve para identificar pontos de atendimento relacionados. Um exemplo típico é o cadastro imobiliário. Todas as construções dentro de um mesmo terreno podem ser agrupadas para fins de gerenciamento por parte do município. Outro exemplo são os condomínios onde o lote pode ser considerado um ponto de atendimento, assim como cada apartamento individualmente. No momento da inclusão ou alteração o campo deve apresentar uma lista com os grupos cadastrados anteriormente, quando houver. ==== Pessoas ==== Um ponto de atendimento pode ter uma ou mais [[softwares:geoservicos:requisitos:modulos:pessoas|pessoas]] vinculadas a ele. Cada pessoa deve ter uma condição no ponto e pode ser ou não o responsável pelo ponto. A condição é um campo livre informado pelo usuário. Somente uma pessoa pode ser o responsável em cada ponto. ==== Localização ==== Define a localização física do ponto através do seu endereço. O usuário pode escolher um logradouro e um bairro dentre os bairros do logradouro selecionado. A localização do ponto não é obrigatória pois, dependendo do uso, o ponto de atendimento pode não estar vinculado a um logradouro específico. Também é possível adicionar e editar feições. Com as feições pode-se visualizar o ponto de atendimento no mapa. As feições podem ser ordenadas para que a primeira feição apareça primeiro nos mapas com os dados mais detalhadas do ponto de atendimento. ==== Lote ==== Se um ponto de atendimento for um imóvel, o usuário pode inserir nele os dados referentes ao lote. ==== Fotos ==== É possível anexar imagens que ajudem a identificar o ponto de atendimento. Estas fotos serão selecionadas a partir de arquivos salvos no disco. ==== Fotos de alta definição ==== É possível anexar o link das fotos de alta definição. * Estes links devem apontar para a pasta do bucket onde a foto está salva. * Os arquivos das fotos devem ser públicos. * O link informada deve ser a pública. * O sistema irá exibir essas fotos caso o link esteja correto. * O sistema permiti inserir qualquer link, mas apenas links da Amazon serão exibidos ==== Atividades ==== O usuário poderá vincular ao ponto uma ou mais [[softwares:geoservicos:requisitos:modulos:atividades|atividades]]. Para isto ele deve selecionar uma atividade existente e definir uma quantidade para ela naquele ponto. ==== Pontos vinculados ==== Outros pontos de atendimento podem ser vinculados ao ponto sendo cadastrado ou alterado. Com isto o usuário pode visualizar em relatórios ou mapas os pontos que tem alguma relação entre si. ==== Campos personalizados ==== Os campos personalizados da categoria escolhida, quando existirem, devem estar disponíveis no cadastro do ponto de atendimento. A interface deve se adaptar para exibir os campos dinamicamente, separados em grupos, conforme definido na categoria. Sempre que a categoria for selecionada ou alterada, os respectivos campos deverão ser mostrados em branco para que o usuário possa preenchê-los. ==== Dados ==== Um ponto de atendimento deve possuir os seguintes campos: |< 100% 19% 60% 7% 7% 7%>| ^ Campo ^ Descrição ^ Tipo ^ Tamanho ^ Obrigatório? ^ |Nome |Nome do ponto | Texto | 80 | Sim | |Grupo |Nome do grupo do ponto de atendimento | Texto | 60 | Não | |Categoria |Categoria do ponto de atendimento | Texto | 60 | Sim | |Documento |Número do documento | Texto | 50 | Não | |Ativo |Se o ponto está ativo ou não | Sim/não | -- | Sim | |Lista de pessoas |Lista de [[softwares:geoservicos:requisitos:modulos:pessoas|pessoas]] vinculadas ao ponto | Objeto | -- | Não | |Logradouro |[[softwares:geoservicos:requisitos:modulos:enderecos|Logradouro]] onde se localiza o ponto de atendimento | Objeto | -- | Não | |Bairro |[[softwares:geoservicos:requisitos:modulos:enderecos|Bairro]] onde se localiza o ponto de atendimento | Objeto | -- | Não | |Número |Número da localização do endereço | Texto | 05 | Não | |Cep |Código de endereçamento postal do ponto de atendimento | Numérico | 09 | Não | |Complemento |Campo aberto para complemento do endereço do ponto | Texto | 50 | Não | |Referência |Campo que indica uma referência de localização do ponto | Texto | 100 | Não | |Feições |Lista de feições com [[softwares:geoservicos:requisitos:modulos:coordenadas|coordenadas]] geográficas no sistema UTM | Objeto | -- | Não | |Fotos |Lista de fotos do ponto, armazenadas na forma de arquivos anexados | Objeto | -- | Não | |Fotos de alta definição |Lista de com o link da pasta que está armazenada a foto no bucket | Texto | -- | Não | | |Observações |Dados adicionais | -- | 500 | Não | ==== Visualização no mapa ==== Na listagem de pontos de atendimento, o usuário deve poder exportar todos os pontos filtrados que contenham coordenadas para visualização no mapa. Além dos pontos listados, o usuário poderá escolher se quer exportar os logradouros, bairros, distritos, os pontos vinculados e as pessoas vinculadas a estes pontos. ===== Análise de serviços por ponto de atendimento ===== O usuário deve poder saber quais pontos de atendimento foram ou não atendidos com determinados serviços num determinado período. Para isso na tela de consulta deve haver uma visão específica para que o usuário faça filtros relacionados aos atendimentos. Na visão "Análise de serviços" devem constar, além dos dados básicos dos pontos de atendimento, os seguintes totalizadores: * Quantidade de serviços nos atendimentos * Quantidade solicitada * Quantidade atendida * Valor total Quando esta visão for selecionada, o sistema deve habilitar uma ferramenta que permita ao usuário filtrar os registros. Em todos os filtros deve haver a possibilidade de listar os pontos atendidos ou não atendidos de acordo com os critérios: * Serviços, grupos ou subgrupos: o usuário deve selecionar um ou mais serviços para filtrar os pontos atendidos por algum dos serviços/grupos/subgrupos ou não atendidos por nenhum deles; * Categorias dos pontos de atendimento: o usuário deve selecionar uma ou mais categorias para filtrar os pontos que pertençam a alguma das categorias ou que não pertençam a nenhuma delas; * Responsável pelo ponto: filtra os pontos que tenham ou não o responsável selecionado ou que não tenham um responsável definido; * Nome do ponto: filtra somente o ponto cujo nome seja o nome selecionado ou todos os outros; * Campos do endereço: logradouro, bairro, distrito e município. Quando esse filtro for ativado serão filtrados os pontos contendo ou não os valores informados nos respectivos campos. Somente os campos preenchidos serão usados no filtro; * Período (data do cadastro do atendimento ou da data de execução): filtra somente os pontos atendidos dentro ou fora do período informado; * Coordenadas geográficas: filtra somente os pontos que estejam ou não georreferenciados; * Atividades: o usuário deve selecionar uma ou mais atividades para filtrar os pontos que tenham alguma das atividades ou que não tenham nenhuma delas. Há ainda a opção de filtrar os pontos que não tem atividades. * Status: filtra somente os pontos que estejam ativos ou inativos; Quando esta visão for selecionada a ferramenta de filtros existente no sistema será substituída pelos filtros personalizados acima onde o usuário vai poder ativar um ou mais filtros. ===== Configurações e preferências do usuário ===== ==== Categorias ==== O cadastro de um ponto de atendimento depende do cadastro de categorias. Ao incluir um novo ponto de atendimento, o usuário deve ter a opção de selecionar uma categoria cadastrada para que o campo categoria no cadastro do ponto já comece preenchido com a categoria escolhida. Também no cadastro de pontos, o usuário poderá incluir uma nova categoria para que esta possa ser selecionada ao incluir um ponto. ==== Secretarias ==== O nome do módulo pode ser personalizado no [[softwares:geoservicos:requisitos:configuracoes:secretarias|cadastro de secretarias]]. ===== Pontos de verificação ===== ==== Cadastro ==== * Um ponto de atendimento deve conter um nome e uma categoria. * Um ponto de atendimentos inativo não pode ser vinculado a outro cadastro. * Caso exista uma ou mais pessoas vinculadas ao ponto de atendimento, ao menos uma delas deve ser responsável pelo ponto. * Pessoas, atividades e pontos de atendimento não podem conter duplicidade em um ponto de atendimento. * O usuário deve poder incluir uma única feição manualmente ou de um arquivo, incluir múltiplas feições de um arquivo de uma só vez, alterar, excluir e visualizar feições. * Caso uma atividade seja vinculada a um ponto, sua quantidade deve ser válida. * Feições importadas de um arquivo diretamente para o ponto de atendimento deverão ter a zona UTM, o designador da zona e as cores definidas pelas preferências do usuário. * Um ponto de atendimento não pode ser vinculado a ele mesmo. * Um ponto de atendimento não pode ser excluído caso esteja vinculado a outro ponto de atendimento. * Um documento único somente deve ser único na sua categoria. Caso ele exista em mais de uma categoria ele somente será validado na categoria em que se enquadra. * Caso a categoria tenha um documento com numeração automática, essa numeração deverá ser incrementada de acordo com a categoria. * Não pode haver dois pontos com mesmo nome e mesma categoria. * A lista de fotos de um ponto de atendimento deve suportar, no máximo, 2 arquivos. * Na listagem de fotos, o usuário deve poder incluir e excluir imagens, visualizar as miniaturas e as fotos em tamanho grande, além de salvar as imagens numa pasta de sua escolha. * Para as fotos, só serão aceitos arquivos de imagem no formato JPEG. Caso o formato seja diferente, o sistema deve alertar e não permitir anexar a foto. * Os números inicial e final do lote, quando informados, devem ser positivos e o número inicial não pode ser maior ou igual ao número final. * A medida frontal do lote, quando informada, deve ser um número positivo. * O CEP é somente leitura e deve ser preenchido com o CEP do logradouro selecionado, quando houver. * Pontos inativos vão aparecer com cor diferente no grid da tela de consulta. * Pontos inativos não vão aparecer na tela de seleção de pontos de atendimento. * Pontos inativos não podem ser incluídos num atendimento. * Pontos inativos não podem ser incluídos num planejamento. * Pontos inativos não podem ser vinculados a outros cadastros pela ferramenta de importação de feições. * Pontos inativos não podem ser vinculados a outros pontos. **Obs**: No grid de pontos de atendimento, o botão incluir, quando acionado diretamente, deve iniciar a inclusão de um ponto de atendimento com a categoria definida como padrão. Além disso, deverão ser exibidas opções (no mesmo botão) para incluir pontos de atendimento para as diversas categorias cadastradas no sistema. Essas opções serão apenas atalhos para o usuário: durante o cadastro o usuário poderá modificar a categoria, se desejar. Na tela de cadastro deverá ser exibido um campo para que o usuário informe o número do documento que identifica o ponto de atendimento. Esse número será formatado de acordo com a máscara definida no tipo de documento vinculado à categoria. Para um tipo de documento sem máscara, o número do documento deve ter o tamanho máximo limitado ao tamanho do campo, como descrito acima. Antes de salvar o ponto de atendimento, o sistema deverá verificar se o documento é ou não obrigatório e único, de acordo com o que foi definido no cadastro de categorias. ==== Personalizações ==== * Todos os textos e mensagens relativos aos pontos de atendimentos devem exibir o texto definido na secretaria do usuário logado, ao invés do nome "ponto de atendimento", quando aplicável. ==== Visualização no mapa ==== * Os exportar os dados para o mapa, só devem ser exibidos os pontos de atendimento que possuírem ao menos uma feição; * Cada ponto de atendimento deve ser exibido apenas uma vez, independente da quantidade de atendimentos prestados para ele; * O sistema deve alertar que todos os registros podem ser exibidos no mapa quando não houver filtros ativos ao acionar a ferramenta de mapa; * A ferramenta deve ser habilitada ou desabilitada de acordo com as permissões do perfil do usuário logado. * Os pontos de atendimento filtrados ao acionar a exportação deve ser listados no mapa com a lista de características das suas feições (quando houver) e com todos os seus dados vinculados: pessoas, atividades e outros pontos de atendimento; * Os pontos de atendimentos listados na tela de consulta devem ser exibidos no mapa com um marcador para cada feição, sendo: * O marcador da primeira feição deverá conter as características da feição e os detalhes do ponto (pessoas, atividades, pontos vinculados, atendimentos e campos personalizados); * Neste marcador, devem ser listados somente os atendimentos que o perfil do usuário permite visualizar. * Os marcadores das demais feições, quando existirem, deverão conter apenas as características de cada feição; * Os distritos, bairros e logradouros, quando o usuário selecionar estas opções, devem aparecer no mapa somente se possuírem ao menos uma feição; * Os pontos de atendimentos vinculados devem ser exibidos no mapa com um marcador para cada feição, contendo: * a lista de características das suas feições (quando houver); * as pessoas vinculadas, quando houver e quando o usuário tiver selecionado esta opção; * Na lista de pessoas devem ser exibidos os campos Nome, CPF/CNPJ e condição no ponto de atendimento. ==== Análise de serviços ==== * Os filtros personalizados da análise de serviços só devem estar disponíveis quando esta visão específica for selecionada; * Para filtrar por data, tanto a data inicial quando a data final são obrigatórias; * Para filtrar por serviços deve ser selecionado ao menos um serviço, grupo ou subgrupo, dependendo do tipo de filtro selecionado; * Para filtrar por categoria deve ser selecionada ao menos uma categoria; * Para filtrar por responsável, o nome do responsável é obrigatório, a não ser que o usuário escolha filtrar os pontos que não tem responsável; * Para filtrar por nome do ponto, o nome é obrigatório; * Para filtrar por endereço é obrigatório informar ao menos um dos campos: logradouro, bairro, distrito ou município; * Para filtrar por atividades deve ser selecionada ao menos uma atividade, a não ser que o usuário escolha filtrar os pontos que não tem nenhuma atividade; * A cada alteração feita nos filtros os registros na tela de consulta devem ser filtrados automaticamente; * Na tela de filtros o sistema deve mostrar um resumo dos filtros ativos; * Só devem ser aplicados os filtros que tiverem todas as informações necessárias preenchidas. ===== Observações ===== Nenhuma. ~~DISCUSSION|Sugira mudanças, aponte falhas ou contribua de alguma forma aqui:~~