Recebe uma senhaCron e o idcnj. Se o idcnj estiver preenchido, busca a Audiencia por ele (getPorId), se não, busca pelo estatos SICRONIZADO (getAudienciaPorStatus). Altera o status da Audiencia para PROCESSANDO. Busca os envios de um arquivo (getVideoPorAudiencia). Para cada envio realiza a juntada em um arquivo final (nome do arquivo original com 'Final'). Pega o Hash do arquivo e cria uma pasta para ele. Pega o Anexo (getPorAudienciaId), se não encontrar ele dar o erro Hash do arquivo diferente do esperado. Se o anexo for encontrado, ele grava o arquivo no S3 (S3File.gravarObjeto) e muda o status para FINALIZADO.
Reparei que no modelo Audiencia tem dois mentodos que são usados para mudança de Status, mudarStatus e mudarStatusCNJ.
Tem algo que não entendi no teste do anexo. Ele testa a variável $anexo para ver está nula, e quando está nula, ele dá o erro do hash diferente, e acessa o atributo cod_hash_anexo, mas não sei como isso funciona, pois teoricamente a variável é nula.