updated task chart

This commit is contained in:
ygbanzato 2024-05-03 14:26:10 +01:00
parent ba3ce035a8
commit 745e7d71c5

View File

@ -74,7 +74,7 @@ public function mount($datasProject)
$receiveEquipmentsProject = EquipmentWorkHistory::where('company_projects_id', $datasProject->company_projects_id)->get();
$elementalTasks = collect();
$furtherTasks = collect();
// $furtherTasks = collect();
// Total de tarefas na Obra.
$elementalTasksCountsAll = [];
@ -85,8 +85,8 @@ public function mount($datasProject)
// Filtrar e armazenar os IDs únicos de elemental_tasks_id e further_tasks_id
$elementalTasks = $elementalTasks->merge($relatedTasks->whereNotNull('elemental_tasks_id')->pluck('elemental_tasks_id'))->unique();
$furtherTasks = $furtherTasks->merge($relatedTasks->whereNotNull('further_tasks_id')->pluck('further_tasks_id'))->unique();
// $furtherTasks = $furtherTasks->merge($relatedTasks->whereNotNull('further_tasks_id')->pluck('further_tasks_id'))->unique();
// Agrupar as tasks relacionadas por elemental_tasks_id e contar o número de ocorrências
$groupedTasks = $relatedTasks->whereNotNull('elemental_tasks_id')->groupBy('elemental_tasks_id');
@ -98,18 +98,19 @@ public function mount($datasProject)
}
}
}
//Neste ponto parece esta correto a quantidade de tarefas, pois nenhuma tarefa passa do maximo de equipamentos.
$this->receiveElementalTasksAll = $elementalTasksCountsAll;
// Contar o número de ocorrências de cada ID na tabela ControlEquipmentWorkstation
$furtherTasksCount1 = ControlEquipmentWorkstation::whereIn('further_tasks_id', $furtherTasks)->get()->countBy('further_tasks_id');
// $furtherTasksCount1 = ControlEquipmentWorkstation::whereIn('further_tasks_id', $furtherTasks)->get()->countBy('further_tasks_id');
// Filtrar as associações de tarefas por equipmentWorkHistorys_id que são do projeto específico
$tasksCount = ControlEquipmentWorkstation::whereIn('elemental_tasks_id', $elementalTasks)
->distinct('equipmentWorkHistorys_id', 'elemental_tasks_id') // Obter combinações únicas
->get(['equipmentWorkHistorys_id', 'elemental_tasks_id']) // Selecionar apenas os campos necessários
->groupBy('elemental_tasks_id') // Agrupar pelo ID da tarefa elemental
->whereIn('equipmentWorkHistorys_id', $receiveEquipmentsProject->pluck('equipmentWorkHistorys_id')) // Garante que estamos contando apenas para o projeto específico
->get(['equipmentWorkHistorys_id', 'elemental_tasks_id'])
->groupBy('elemental_tasks_id')
->map(function ($group) {
return $group->unique('equipmentWorkHistorys_id')->count(); // Contar ocorrências únicas por equipmentWorkHistorys_id
return $group->unique('equipmentWorkHistorys_id')->count();
});