Regras do Negócio
Autor: Manassés Vicente | Publicado: 2008-06-09T18:03:00-07:00

Não é possível excluir, isso foi garantido com um form de apenas inclusãoNão é possível alterar protocolo, tipo de solicitação, solicitante, projeto, setor, contrato, inicio e fim. Essas regras estão no form de atualização, que é o mesmo do de inclusão porém sem as opções de navegação e atualização. Aqui tiramos a opção de inclusão e exclusão. Só farei isso qdo todas as regras estiverem sido contempladas no formulário de inclusão.A solicitação deve ter sua data 48 horas a mais do que a data atual, para poder ser analisada e deferida. (form) Alguns tipos de solicitação tem os campos de data diferenciada para o cálculo do banco de dados, ter muita atenção a esse detalhe.Não é possível colocar uma hora negativa (form e bd)Não é possível colocar hora maior que 24 (form e bd)00:00 do dia 18 é na verdade o início do dia ou seja vem sempre antes, tem que lembrar no help.Não é possível fim menor que início (form)Não é possível um intervalo do início e fim maior que 24 hs. (form)Se der pra chamar uma exceção acima de 12 horas mas ser possível continuar será bem vindo.Em alguns tipos de solicitação as todas as datas e horas estarão desabilitadasEm alguns tipos de solicitação só o segundo grupo de data e hora estarão desabilitadosNa maioria das solicitações o solicitante tem que ter a mesma função que o solicitado, apenas no crédito que será possível qq função, pois o solicitante sempre será um funcionário 0 - Default.Será feito um alerta através do sc_message para o usuário conferir o contrato do SOLICITANTE para saber se procede o tipo da solicitação e a data informada confrontando com o calendário do sistema (isso ainda é sujeito a falha de operação)Será feito um alerta através do sc_message para o usuário conferir o contrato do SOLICITADO para saber se procede o tipo da solicitação e a data informada confrontando com o calendário do sistema (isso ainda é sujeito a falha de operação)Após passar pelo término o sistema fará um select na tabela solicitaçao para saber se não existe outras solicitações para a mesma data e retornar exceção, e apenas não fazer se a solicitação existente tiver inicio > fim da nova solicitação ou tiver fim <>O bd gera o protocolo sequencialmente, e não é possível alterá-lo no escopo da aplicação, bem como a data da solicitação.O bd armazena a quantidade de horas envolvidas na solicitaçãoO bd busca e armazena nessa tabela o valor da horaO bd busca e armazena o valor do auxilio locomoçãoO bd armazena o valor = qt horas * valor hora, mas é nessário tratar nulos e negativosO bd calcula e armazena o total = valor + auxílio locomoção, mas é necessário tratar nulos e negativosO bd salva as informações pertinentes na tabela SOLICITANTE, com isso mesmo que ele mude de função, setor, produção é possível emitir relatórios com datas retroativas com fidelidade pois não buscará a informação pelo código no cadastro do cooperado que mantém as informações atualizadas e sim nessa tabela que é um histórico para apoio a estatística e historicidade.O bd salva as informações pertinentes na tabela SOLICITADO, motivos supra citados.Estou pensando num controle para filtros no momento de atualizar os solicitados para o solicitado por alguns filtros FUNÇÃO, CONTRATO, SETOR, NOME, MATRICULA.Na verdade, isso não pode ser assim, uma vez que o solicitado gera uma nova solicitação de um outro tipo, assim o controle com os filtros devem ser no momento de inclusão, ficando o formulário de atualização apenas para alterar o status das solicitações. Validar todos os tipos de solicitações e saber se não existem exceções a essa regra.Assim, o funcionário da cooperativa imprimirá um relatório com todas as solicitações do dia anterior com status em aberto e atendida parcialmente, com nome, função, setor, contrato e telefones./**Algumas considerações a serem feitas quanto ao tipo de solicitação; existem algumas que contém solicitante e solicitado, essas podem ser incluídas em duas etapas (não obrigatoriamente, opcionalmente acontece de ser inclusa em uma única etapa), a primeira apenas com as informações do solicitante e a segunda etapa com as informações do solicitado. Outras solicitações pelo seu escopo contém apenas solicitante, em apenas um etapa, obrigatoriamente.**/Assim, as que contém apenas solicitante e são inclusas em uma única etapa e devem receber críticas e validações no momento da inclusão, são:1 - SUBSTITUICAO3 - AFASTAMENTO TEMPORARIO5 - LICENCA GESTACAO7 - LICENCA MATERNIDADE9 - ACIDENTE DE TRABALHO11 - ACIDENTE TRAJETO13 - DESCANSO ANUALAs que contém solicitante e solicitado, sendo inclusas em uma única etapa e devem receber críticas e validações no momento da inclusão, são:2 - COBERTURA SUBSTITUICAO4 - COBERTURA AFASTAMENTO TEMPORARIO6 - COBERTURA LICENCA GESTACAO8 - COBERTURA LICENCA MATERNIDADE10 - COBERTURA ACIDENTE DE TRABALHO12 - COBERTURA ACIDENTE TRAJETO14 - COBERTURA DESCANSO ANUALFica mais simples e legível identificarmos sempre a cobertura diferenciada da solicitação de origem para leitura de mapas compilados com essas informações, enquanto uma trata exclusivamente do solicitante e da solicitação rpopriamente dita, a outra traz as informações do solicitante e solicitado.As informações do solicitante é necessário para que se saiba qual é o valor pecuniário envolvido neste evento, onde acontecerá o evento e quando acontecerá.Pode parecer um trabalho maior, principalmente se considerarmos que a solicitação de substituição tem apenas um solicitante e um solicitado, ela poderia ter sido identificada já na primeira etapa, sem a necessidade de termos uma segunda etapa com um novo tipo de solicitação dessa vez como coberturta. Mas considerando a própria rotina operacional, nunca teremos o solicitado no momento da inclusão do pedido de substituição, ele será encontrado posteriormente, baseado num filtro de cooperados que satisfaçam os requisitos como, mesma função, contrato diferente para o dia do evento, e outras particularidades. Assim sendo ao criar a figura da Cobertura de Substituição você cria  mecanismos junto com o status para filtrar posteriormente e saber quais são os cooperados que devemos contactar a fim de oferecer a substituição solicitada.O mesmo caso acontece com um afastamento temporário quando se tem apenas um solicitado fazendo todos os plantões compreendidos na data do afastamento. Nesse caso, o afastamento aconteceu em duas etapas também, mas a Cobertura do Afastamento Temporário será feito plantão por plantão, mesmo sendo um único cooperado solicitado, pois com isso ganhamos subsidios estatísticos de apoio a gestão, fornecendo informações de valores pecuniários sólidos ao contratante.As que contém apenas solicitante e são inclusas em uma única etapa e NÃO RECEBEM críticas e validações no momento da inclusão por serem apenas infomativas, são:15 - INCIDENTE NA AFERICAO DA PRODUCAO16 - REVISAO PRO-LABORE17 - SOLICITACAO DE CRACHA18 - SOLICITACAO ABERTURA CONTA19 - DESLIGAMENTO CONTRATO20 - DESLIGAMENTO PROJETO21 - DESLIGAMENTO22 - ASSOCIACAO23  - INCLUSAO PROJETO24 - VINCULO CONTRATUAL25 - AUSENCIA COMUNICADA PELO SETOR26 - COBERTURA DE CREDITOSOLICITACAO SEGUNDA VIA CRACHASOLICITACAO COTA-PARTEALTERACAO DADOS CADASTRAISTo pensando em adicionar referencia de protocolo para amarrar as solicitações em suas respectivas coberturas, assim o campo proto teria o número do protocolo da solicitação matriz. ex. Afastamento Temporário. Mas isso pode ser configurado através de uma consulta igual a Consulta de Clientes com Quebra por Estado, sendo a quebra por solicitante, uma vez que em todas as cobertura terá o nome do solicitante. Pode ser feito uma igual a Consulta de Clientes com Quebra por Estado para o tomador de serviço por tipo de solicitação.Para mudança do status da solicitação fazer uma Chamando um formulário de atualização através de um campo em Ligações.Relatórios do tipo consulta para o dia-a-dia da sala de apoio.Quais são as solicitações pendentes? Dia e Hora, Protocolo, Tipo, Solicitante, Função, Setor. Quais são as solicitações parcialmente atendidas? Dia e Hora, Protocolo, Tipo, Solicitante, Função, Setor. Quais os dias que foram atendidos, ou quais dias faltam serem atendidos? Solicitante, Protocolo, Tipo, Dia e Hora, Função, Setor.Consulta para respostas rápidas com filtro para um registro por página.Relatórios p/ IKPONTOPor cooperado, juntando ele como solicitante e solicitado num campo só e ordenandoRelatório - protocolo, tipo, valor, total, solicitante, valor hora, auxilio locomoção, solicitado, valor hora, auxílio locomoção.Um recurso interessante seria escrever o nome do dia por extenso na frente da data. ex. segunda-feira pois visualmente pode ser confrontado com o contrato.