Tenho esse código que peguei aqui no fórum mesmo, uso ele na versão 2.0.8 para intercalar as senhas, porém ele só funciona no usuário admin, nos usuários comuns não funciona, o que acontece é que no usuário admin ele consegue realmente funcionar a lógica do código e intercalar de acordo com tempo x prioridade e peso, mas no usuário comum ele simplesmente joga todas as prioridades para o fim e as senhas convencionais para o início. Esse é o código:
<?php
return array_merge($ordering, [
// Prioridade X Tempo
[
'exp' => '((prioridade.peso + 1) * (CURRENT_TIMESTAMP() - atendimento.dataChegada))',
'order' => 'DESC',
],
// priority
[
'exp' => 'prioridade.peso',
'order' => 'DESC',
],
// peso servico x unidade
[
'exp' => 'servicoUnidade.peso',
'order' => 'DESC',
],
// dataChegada
[
'exp' => 'atendimento.dataChegada',
'order' => 'ASC',
]
]);