Pensando alto, não sei se é possível e viável e correto ser algo do tipo:
na ExMovimentacao
if (lotaCadastrante == null && isMovimentacaoAutomatica)
lotaCadastranteWorkflow;
else
return lotaCadastrante;
Sendo essa lotaCadastranteWorkflow um objeto transiente negativo de lotacao: -99999 WF - Workflow
Mas tudo depende do que o usuário precisa enxergar. Se a lotação real que originou o processo, ou cadastrante do documento, ou fictício, ou vazio... São coisas que da parte de negócio precisa estar resolvido para ditar a solução.
Lembrar só que se criar uma lotação e pessoa física no banco, a app tem que ter o tratamento para não ser utilizável por outra funcionalidade. Por isso um objeto transiente pode ser mais adequado pra evitar outros impactos.
na ExMovimentacao
if (lotaCadastrante == null && isMovimentacaoAutomatica)
lotaCadastranteWorkflow;
else
return lotaCadastrante;
Sendo essa lotaCadastranteWorkflow um objeto transiente negativo de lotacao: -99999 WF - Workflow
Mas tudo depende do que o usuário precisa enxergar. Se a lotação real que originou o processo, ou cadastrante do documento, ou fictício, ou vazio... São coisas que da parte de negócio precisa estar resolvido para ditar a solução.
Lembrar só que se criar uma lotação e pessoa física no banco, a app tem que ter o tratamento para não ser utilizável por outra funcionalidade. Por isso um objeto transiente pode ser mais adequado pra evitar outros impactos.