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(); $receiveEquipmentsProject = EquipmentWorkHistory::where('company_projects_id', $datasProject->company_projects_id)->get();
$elementalTasks = collect(); $elementalTasks = collect();
$furtherTasks = collect(); // $furtherTasks = collect();
// Total de tarefas na Obra. // Total de tarefas na Obra.
$elementalTasksCountsAll = []; $elementalTasksCountsAll = [];
@ -85,8 +85,8 @@ public function mount($datasProject)
// Filtrar e armazenar os IDs únicos de elemental_tasks_id e further_tasks_id // 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(); $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 // 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'); $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; $this->receiveElementalTasksAll = $elementalTasksCountsAll;
// Contar o número de ocorrências de cada ID na tabela ControlEquipmentWorkstation // 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) $tasksCount = ControlEquipmentWorkstation::whereIn('elemental_tasks_id', $elementalTasks)
->distinct('equipmentWorkHistorys_id', 'elemental_tasks_id') // Obter combinações únicas ->whereIn('equipmentWorkHistorys_id', $receiveEquipmentsProject->pluck('equipmentWorkHistorys_id')) // Garante que estamos contando apenas para o projeto específico
->get(['equipmentWorkHistorys_id', 'elemental_tasks_id']) // Selecionar apenas os campos necessários ->get(['equipmentWorkHistorys_id', 'elemental_tasks_id'])
->groupBy('elemental_tasks_id') // Agrupar pelo ID da tarefa elemental ->groupBy('elemental_tasks_id')
->map(function ($group) { ->map(function ($group) {
return $group->unique('equipmentWorkHistorys_id')->count(); // Contar ocorrências únicas por equipmentWorkHistorys_id return $group->unique('equipmentWorkHistorys_id')->count();
}); });