master #57
|
|
@ -33,22 +33,33 @@ class EvaluationController extends Controller
|
|||
|
||||
$projects = $this->jiraService->getAllProjects();
|
||||
|
||||
$query = UserCriteria::where('user_email', $userEmail);
|
||||
|
||||
// Date filter
|
||||
if ($request->filled('fromDate')) {
|
||||
$fromDate = Carbon::parse($request->input('fromDate'));
|
||||
$query->where('created_at', '>=', $fromDate);
|
||||
}
|
||||
|
||||
if ($request->filled('toDate')) {
|
||||
$toDate = Carbon::parse($request->input('toDate'));
|
||||
$query->where('created_at', '<=', $toDate);
|
||||
}
|
||||
|
||||
// End query
|
||||
$userCriterias = $query->with(['sprint', 'criteria'])->get();
|
||||
$startDate = $request->input('fromDate');
|
||||
$endDate = $request->input('toDate');
|
||||
|
||||
$userCriterias = UserCriteria::with([
|
||||
'sprint' => function ($query) use ($startDate, $endDate) {
|
||||
if ($startDate && $endDate) {
|
||||
$query->whereBetween('complete_date', [$startDate, $endDate]);
|
||||
} elseif ($startDate) {
|
||||
$query->where('complete_date', '>=', $startDate);
|
||||
} elseif ($endDate) {
|
||||
$query->where('complete_date', '<=', $endDate);
|
||||
}
|
||||
},
|
||||
'criteria',
|
||||
])->where('user_email', $userEmail)
|
||||
->whereHas('sprint', function ($query) use ($startDate, $endDate) {
|
||||
if ($startDate && $endDate) {
|
||||
$query->whereBetween('complete_date', [$startDate, $endDate]);
|
||||
} elseif ($startDate) {
|
||||
$query->where('complete_date', '>=', $startDate);
|
||||
} elseif ($endDate) {
|
||||
$query->where('complete_date', '<=', $endDate);
|
||||
}
|
||||
})
|
||||
->get();
|
||||
// dd($userCriterias);
|
||||
// Xử lý dữ liệu thành cấu trúc mong muốn
|
||||
$projectsData = $userCriterias->groupBy('sprint.project_id')->map(function ($userCriteriasByProject, $projectId) use ($projects) {
|
||||
$result = self::getProjectById($projects, $projectId);
|
||||
return [
|
||||
|
|
@ -57,12 +68,13 @@ class EvaluationController extends Controller
|
|||
$sprint = $userCriteriasBySprint->first()->sprint;
|
||||
return [
|
||||
'name' => $sprint->name,
|
||||
'complete_date' => $sprint->complete_date ?? '',
|
||||
'criterias' => $userCriteriasBySprint->map(function ($userCriteria) {
|
||||
$criteria = $userCriteria->criteria;
|
||||
return [
|
||||
'criteria' => $criteria->name,
|
||||
'note' => $userCriteria->note ?? '',
|
||||
'createdBy' => $userCriteria->created_by ?? '',
|
||||
'createdBy' => $userCriteria->created_by ?? '', // Lấy tên user từ auth
|
||||
'point' => $userCriteria->point ?? '',
|
||||
];
|
||||
})
|
||||
|
|
@ -71,6 +83,7 @@ class EvaluationController extends Controller
|
|||
];
|
||||
})->values();
|
||||
|
||||
// Trả về kết quả
|
||||
return AbstractController::ResultSuccess($projectsData);
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue