Skip to content

Instantly share code, notes, and snippets.

@douglasconstancio
Last active March 19, 2019 16:58
Show Gist options
  • Save douglasconstancio/967349ba0fc5c027a9d003a086fd1d75 to your computer and use it in GitHub Desktop.
Save douglasconstancio/967349ba0fc5c027a9d003a086fd1d75 to your computer and use it in GitHub Desktop.

Business Rules - Basic registrations

Neste documento será apresentado a regra de negócio dos cadastros gerais e que devem ser aplicadas no sistema Keepfy.

O Campo de 'branch' define o registro de maneira que em todas as entidades JAMAIS deve ser alterado.


Área

  • Inclusão

    • Campo 'branch' obrigatório e seu conteúdo deve existir na tabela 'saas.branch'
    • Campo 'area' obrigatório
    • Campo 'reference_id' se preenchido, não deve existir outro registro em base de acordo com a branch
    • Conteúdo do campo 'reference_id' deve existir na tabela correspondente com o prefixo de 'generic.'
  • Alteração

    • Campo 'area' alterável e obrigatório
    • Demais campos não devem ser permitido a alteração.
  • Exclusão

    • Não deve existir relacionamento do registro com os insumos de uma ordem de serviço (area x inputs)
  • Campos a serem removidos:

    • organization
    • tt9_filial

Características

  • Inclusão

    • Campo 'branch' obrigatório e seu conteúdo deve existir na tabela 'saas.branch'
    • Campo 'característica' obrigatório
    • Campo 'tipo de dado' obrigatório
    • Conteúdo do campo 'tipo de dado' deve ser '1', '2', '3', '4'
    • Campo 'reference_id' se preenchido, não deve existir outro registro em base de acordo com a 'branch
    • Conteúdo do campo 'reference_id' deve existir na tabela correspondente com o prefixo de 'generic.'
  • Alteração

    • Campo 'caracteristicas' obrigatório e alterável
    • Alteração do campo 'tipo de dado' somente permitido alteração se registro não possuir relacionamento com características do equipamento (features x equipment_features)
    • Demais campos não devem ser permitidos a alteração.
  • Exclusão

    • Não deve existir relacionamento com a tabela de características do bem (feature x equipment_features)
  • Campos a serem retirados:

    • organization
    • tpr_filial

Centro de Custos

  • Inclusão

    • Campo 'branch' obrigatório e seu conteúdo deve existir na tabela 'saas.branch'
    • Campo 'centro de custos' obrigatório
    • Campo 'reference_id' se preenchido, não deve existir outro registro em base com o mesmo de acordo com a branch
    • Conteúdo do campo 'reference_id' deve existir na tabela correspondente com o prefixo de 'generic.'
  • Alteração

    • Campo 'centro de custo' obrigatório
    • Demais campos não devem ser permitido a alteração.
  • Exclusão

    • Registro não deve possuir relacionamento com equipamentos, ordens de serviço ou funcionários (cost_center x equipment, cost_center x employee, cost_center x service_order).
  • Campos a serem retirados:

    • organization
    • ctt_filial
    • ctt_classe
    • ctt_res

Especialidades

  • Inclusão

    • Campo 'branch' obrigatório e seu conteúdo deve existir na tabela 'saas.branch'
    • Campo 'especialidade' obrigatório
    • Campo 'salário hora' é opcional
    • Campo 'reference_id' se preenchido, não deve existir outro registro em base de acordo com a branch
    • Conteúdo do campo 'reference_id' deve existir na tabela correspondente com o prefixo de 'generic.'
  • Alteração

    • Campo 'especialidade' obrigatório e alterável
    • Campo 'salário hora' opcional e alterável
    • Demais campos não devem ser permitido a alteração.
  • Exclusão

    • Registro não deve possuir relacionamento com fornecedores ou funcionários (specialty x employee_specialties, specialty x supplier_specialties)
  • Campos a serem retirados:

    • organization
    • t0_filial
    • t0_disponi

Etapas

  • Inclusão

    • Campo 'branch' obrigatório e seu conteúdo deve existir na tabela 'saas.branch'
    • Campo 'etapa' obrigatório
    • Campo 'tempo médio' é opcional
    • Campo 'reference_id' se preenchido, não deve existir outro registro em base com o mesmo de acordo com a branch
    • Conteúdo do campo 'reference_id' deve existir na tabela correspondente com o prefixo de 'generic.'
  • Alteração

    • Campo 'etapa' obrigatório e alterável
    • Campo 'tempo médio' opcional e alterável
    • Demais campos não devem ser permitido a alteração.
  • Exclusão

    • Registro não deve possuir relacionamento com insumos de uma ordem de serviço (steps x inputs).
  • Campos a serem retirados:

    • organization
    • tpa_filial
    • tpa_opcoes

Fabricante

  • Inclusão

    • Campo 'branch' obrigatório e seu conteúdo deve existir na tabela 'saas.branch'
    • Campo 'fabricante' obrigatório
    • Campo 'reference_id' se preenchido, não deve existir outro registro em base de acordo com a branch
    • Conteúdo do campo 'reference_id' deve existir na tabela correspondente com o prefixo de 'generic.'
  • Alteração

    • Campo 'fabricante' obrigatório e alterável
    • Demais campos não devem ser permitido a alteração.
  • Exclusão

    • Não deve existir relacionamento do registro com os insumos de um modelo (manufacturers x models)
  • Campos a serem retirados:

    • organization
    • t7_filial

Ferramenta

  • Inclusão

    • Campo 'branch' obrigatório e seu conteúdo deve existir na tabela 'saas.branch'
    • Campo 'ferramenta' obrigatório
    • Campo 'custo hora' é opcional
    • Campo 'reference_id' se preenchido, não deve existir outro registro em base de acordo com a branch
    • Conteúdo do campo 'reference_id' deve existir na tabela correspondente com o prefixo de 'generic.'
  • Alteração

    • Campo 'farramenta' obrigatório e alterável
    • Campo 'custo hora' opcional e alterável
    • Demais campos não devem ser permitido a alteração.
  • Exclusão

    • Registro não deve possuir relacionamento com insumos de uma ordem de serviço (tools x inputs).
  • Campos a serem retirados:

    • organization
    • h4_filial
    • h4_vidauti
    • h4_tipovid
    • h4_dtaquis
    • h4_vidaacu
    • h4_quant
    • h4_efeito
    • h4_restr
    • h4_turno
    • h4_cgraf
    • h4_cormax
    • h4_cormin

Fornecedor

  • Inclusão

    • Campo 'branch' obrigatório e seu conteúdo deve existir na tabela 'saas.branch'
    • Campo 'nome empresarial' obrigatório
    • Campo 'nome fantasia' obrigatório
    • Campo 'especialidade' se preenchido deve existir na tabela 'specialty' ou em caso de ser um UUID deve existir na tabela correspondente com o prefixo 'generic.'
    • Campo 'endereço' é obrigatório
    • Campo 'estado' obrigatório
    • Campo 'município' obrigatório
    • Campo 'tipo' é obrigatório
    • Campo 'tipo' deve possuir conteúdo como 'J', 'F' ou 'O'
    • Campo 'país' se preenchido deve existir na tabela 'generic.country'
    • Campo 'cpf/ cnpj' é opcional
    • Campo 'cep' é opcional
    • Campo 'bairro' é opcional
    • Campo 'codigo da area' é opcional
    • Campo ''telefone' é opcional
    • Campo 'email' é opcional
    • Campo 'site' é opcional
    • Campo 'reference_id' se preenchido, não deve existir outro registro em base de acordo com a branch
    • Conteúdo do campo 'reference_id' deve existir na tabela correspondente com o prefixo de 'generic.'
  • Alteração

    • Campo 'nome empresarial' é alterável e obrigatório
    • Campo 'nome fantasia' é alterável e obrigatório
    • Campo 'especialidade' é alterável e opcional
    • Campo 'cep' é opcional e alterável
    • Campo 'endereco' é obrigatório e alterável
    • Campo 'bairro' é opcional e alterável
    • Campo 'estado' é obrigatório. e alterável
    • Campo 'município' é obrigatório e alterável
    • Campo 'país' se preenchido deve existir na tabela 'generic.country' e alterável
    • Campo 'tipo' não alterável
    • Campo **'cpf/ cnpj' alterável
    • Campo 'código da área' é opcional e alterável
    • Campo 'telefone' é opcional e alterável
    • Campo 'email' é opcional e alterável
    • Campo 'site' é opcional e alterável
  • Exclusão

    • Sem relacionamentos hoje com os insumos, e sem aplicação de utilização.
    • Quando deletado, deve excluir os registros vinculados à ele na tabela 'saas.supplier_specialties'
  • Campos a serem retirados:

    • organization
    • a2_filial
    • a2_loja
    • a2_msblql
    • a2_pfisica

Funcionários

  • Inclusão

    • Campo 'branch' é obrigatório e seu conteúdo deve existir na tabela 'saas.branch'
    • Campo 'nome' é obrigatório
    • Campo 'centro de custos' é obrigatório e seu conteúdo deve existir na tabela 'cost-center' de acordo com a 'branch' e 'organization' do registro ou em caso de ser um UUID deve existir na tabela correspondente com o prefixo 'generic.'
    • Campo 'turno' é obrigatório e seu conteúdo deve existir na tabela 'calendar' de acordo com a 'branch' e 'organization' do registro ou em caso de ser um UUID deve existir na tabela correspondente com o prefixo 'generic.'
    • Campo 'especialidade' é opcional e se preenchido, seu conteúdo deve existir na tabela 'specialty' de acordo com a 'branch' e 'organization' do registro ou em caso de ser um UUID deve existir na tabela correspondente com o prefixo 'generic.'
    • Campo 'valor Hora' é opcional
    • Campo 'email' é opcional
    • Foto do funcionário é opcional
  • Alteração

    • Campo 'nome' não é alterável
    • Campo 'centro de custo' é alterável sujeito as mesmas regras de inclusão
    • Campo 'turno' é alterável sujeito as mesmas regras de inclusão
    • Campo 'especialidade' esta sujeito as mesmas regras da inclusão sendo alterável e opcional
    • Campo 'valor hora' é alterável e opcional
    • Campo 'email' é alterável e opcional
    • Foto do funcionário é alterável e opcional
  • Exclusão

    • Não deve possuir relacionamento como insumo de uma ordem de serviço (employee x inputs)
    • Quando deletado, deve excluir os registros vinculados à ele na tabela 'employee_specialties'
  • Campos a serem retirados:

    • organization
    • t1_filial
    • t1_equipe

Grupo

  • Inclusão

    • Campo 'branch' é obrigatório e seu conteúdo deve existir na tabela 'saas.branch'
    • Campo 'grupo' é obrigatório
    • Campo 'descrição' é opcional
    • Verificação da chave única da tabela.
    • Campo 'reference_id' se preenchido, não deve existir outro registro em base de acordo com a branch
    • Conteúdo do campo 'reference_id' deve existir na tabela correspondente com o prefixo de 'generic.'
  • Alteração

    • Campo 'grupo' é alterável e obrigatório
    • Campo 'descrição' é alterável e opcional
  • Exclusão

    • Não deve possuir relacionamento como um grupo de um equipamento (groups x equipments)
  • Campos a serem retirados:

    • organization
    • t6_filial
    • t6_perloca
    • t6_movibem
    • t6_media1
    • t6_media2
    • t6_vardia1
    • t6_vardia2
    • t6_tipofam
    • t6_sincron
    • t6_catbem

Modelo

  • Inclusão

    • Campo 'branch' é obrigatório e seu conteúdo deve existir na tabela 'branch'
    • Campo 'modelo' é obrigatório
    • Campo 'fabricante' é opcional e se preenchido, seu conteúdo deve existir na tabela 'manufacturers' de acordo com a 'branch' e 'organization' (?) do registro ou em caso de ser um UUID deve existir na tabela correspondente com o prefixo de 'generic.'
    • Campo 'reference_id' se preenchido, não deve existir outro registro em base de acordo com a branch
    • Conteúdo do campo 'reference_id' deve existir na tabela correspondente com o prefixo de 'generic.'
  • Alteração

    • Campo 'modelo' é obrigatório e opcional
    • Campo 'fabricante' é opcional e deve ser aplicado na mesma regra de inclusão.
  • Exclusão

    • Não deve possuir relacionamento como um modelo de um equipamento (models x equipments)
  • Campos a serem retirados:

    • organization
    • tqr_filial
    • tqr_catbem

Motivo

  • Inclusão

    • Campo 'branch' é obrigatório e seu conteúdo deve existir na tabela 'branch'
    • Campo 'motivo' é obrigatório
    • Campo 'tipo' é obrigatório e seu conteúdo deve ser preenchido como '1', '2', '3'
    • Campo 'reference_id' se preenchido, não deve existir outro registro em base de acordo com a branch
    • Conteúdo do campo 'reference_id' deve existir na tabela correspondente com o prefixo de 'generic.'
  • Alteração

    • Campo 'motivo' é alterável e obrigatório
    • Campo 'tipo' somente permitido alteração se registro não possuir relacionamento (reasons x equipments) ou (reasons x service-order)
  • Exclusão

    • Não deve possuir relacionamento como um motivo de inativação de um equipamento (reasons x equipments), ou cancelamento/ atraso de uma O.S. (reasons x service-order)
  • Campos a serem retirados:

    • organization
    • tpj_filial

Produto

  • Inclusão

    • Campo 'branch' é obrigatório e seu conteúdo deve existir na tabela 'branch'
    • Campo 'produto' é obrigatório
    • Campo 'custo unitário' é opcional
    • Campo 'unidade de medida' é obrigatório e seu
    • Conteúdo deve existir na tabela 'measurement-unit' de acordo com a 'branch' e 'organization' do registro ou em caso de ser um UUID deve existir na tabela correspondente com o prefixo de 'generic.'
    • Campo 'reference_id' se preenchido, não deve existir outro registro em base com a branch
    • Conteúdo do campo 'reference_id' deve existir na tabela correspondente com o prefixo de 'generic.'
  • Alteração

    • Campo 'produto' é alterável e obrigatório
    • Campo 'custo unitário' é alterável e opcional
    • Campo 'unidade de medida' é alterável, obrigatório e deve ser aplicado na mesma regra de inclusão.
  • Exclusão

    • Não deve possuir relacionamento como um um insumo de uma ordem de serviço (products x inputs)
  • Campos a serem retirados:

    • organization
    • b1_filial
    • b1_tipo
    • b1_locpad
    • b1_grupo
    • b1_mcustd
    • b1_localiz
    • b1_msblql

Ok

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment