faster operation logs

This commit is contained in:
simon lehericey 2022-04-01 18:01:48 +02:00
parent 437e871f79
commit 62e0553a4e

View file

@ -153,12 +153,21 @@ class PiecesJustificativesService
end end
def self.operation_logs_and_signatures(dossier) def self.operation_logs_and_signatures(dossier)
bill_signatures = dossier.dossier_operation_logs.filter_map(&:bill_signature).uniq dol_ids_bill_id = DossierOperationLog
.where(dossier: dossier)
.pluck(:id, :bill_signature_id)
[ dol_ids = dol_ids_bill_id.map(&:first)
dossier.dossier_operation_logs.map(&:serialized), bill_ids = dol_ids_bill_id.map(&:second).uniq.compact
bill_signatures.map(&:serialized),
bill_signatures.map(&:signature) serialized_dols = ActiveStorage::Attachment
].flatten.compact .includes(:blob)
.where(record_type: "DossierOperationLog", record_id: dol_ids)
bill_docs = ActiveStorage::Attachment
.includes(:blob)
.where(record_type: "BillSignature", record_id: bill_ids)
serialized_dols + bill_docs
end end
end end