projeto-siga / siga

Repositório principal do projeto siga
siga-le.vercel.app
GNU Affero General Public License v3.0
90 stars 94 forks source link

PCRJ_317 - Erro no cadastro de órgão #1705

Open ivangsilverio opened 3 years ago

ivangsilverio commented 3 years ago

erro no cadastro de órgão

Não permite alteração no nome e sigla do órgão.

2021-02-17 17:05:12,931 ERROR [io.undertow.request] (default task-61) UT005023: Exception handling request to /siga/app/orgaoUsuario/gravar: javax.servlet.ServletException: javax.servlet.ServletException: br.com.caelum.vraptor.InterceptionException: br.com.caelum.vraptor.InterceptionException: br.gov.jfrj.siga.base.AplicacaoException: ID já cadastrado para outro órgão at br.gov.jfrj.siga.vraptor.OrgaoUsuarioController.editarGravar(OrgaoUsuarioController.java:170) at br.gov.jfrj.siga.vraptor.OrgaoUsuarioController$Proxy$_$$_WeldClientProxy.editarGravar(Unknown Source)

ErroCadastroOrgao

dinarde commented 3 years ago

Tela precisa receber o tratamento adequado, mas o fato é que hoje o órgão é uma entidade imutável na JPA. Necessário avaliar se não conflito pelo fato da sigla ser chave para a montagem de outras chaves. Se for permitir alterar o nome do órgão, deve seguir o mesmo padrão de versionamento, porém, muito bem analisado o impacto disso nos diversos pontos, propagação em cascata.. Mas se a entidade é imutável, tela no mínimo deveria ser readonly.

dinarde commented 3 years ago

@Entity @Table(name = "corporativo.cp_orgao_usuario") @Immutable @Cacheable @Cache(region = CpDao.CACHE_CORPORATIVO, usage = CacheConcurrencyStrategy.READ_ONLY) public class CpOrgaoUsuario extends AbstractCpOrgaoUsuario implements

https://github.com/projeto-siga/siga/blob/develop/siga-cp/src/main/java/br/gov/jfrj/siga/dp/CpOrgaoUsuario.java

ivangsilverio commented 3 years ago

Aqui na Prefeitura do Rio de Janeiro passamos por alterações de estrutura organizacional que provocaram o caso abaixo:

Órgão A, código 1

Passou a se chamar

Órgão B, código 1

Em qua, 17 de fev de 2021 19:04, Dinarde notifications@github.com escreveu:

@entity https://github.com/entity @table https://github.com/table(name = "corporativo.cp_orgao_usuario") @immutable https://github.com/immutable @Cacheable https://github.com/Cacheable @Cache(region = CpDao.CACHE_CORPORATIVO, usage = CacheConcurrencyStrategy.READ_ONLY) public class CpOrgaoUsuario extends AbstractCpOrgaoUsuario implements

https://github.com/projeto-siga/siga/blob/develop/siga-cp/src/main/java/br/gov/jfrj/siga/dp/CpOrgaoUsuario.java

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/projeto-siga/siga/issues/1705#issuecomment-780884876, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB5PS6OBU64GBTZPUPI473DS7Q4P7ANCNFSM4XZCL6XQ .

ivangsilverio commented 3 years ago

Podemos bloquear a edição da sigla na interface, e habilitar a alteração do nome? Na 9.0.22.3, os usuários - zz99999 não obedece esta regra - não podem editar órgão diferentes de seu provimento. Se objetivamos descontinuar o usuário ZZ, este comportamento é adequado?