Bổ sung api get all user
This commit is contained in:
parent
1aeda710e1
commit
e114d5b3ae
|
|
@ -28,18 +28,39 @@ class ProfileController extends Controller
|
|||
$this->jiraService = $jiraService;
|
||||
}
|
||||
|
||||
public function getProfilesData()
|
||||
public function getProfilesData(Request $request)
|
||||
{
|
||||
$user = auth('admins')->user();
|
||||
|
||||
$userEmail = $user->email;
|
||||
$projects = $this->jiraService->getAllProjects();
|
||||
|
||||
$userCriterias = UserCriteria::with([
|
||||
'sprint', // Join với bảng sprint
|
||||
'criteria', // Join với bảng criteria
|
||||
])->where('user_email', $userEmail)->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);
|
||||
|
|
@ -49,6 +70,7 @@ class ProfileController extends Controller
|
|||
$sprint = $userCriteriasBySprint->first()->sprint;
|
||||
return [
|
||||
'name' => $sprint->name,
|
||||
'complete_date' => $sprint->complete_date ?? '',
|
||||
'criterias' => $userCriteriasBySprint->map(function ($userCriteria) {
|
||||
$criteria = $userCriteria->criteria;
|
||||
return [
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ use App\Traits\AnalyzeData;
|
|||
use App\Traits\HasFilterRequest;
|
||||
use App\Traits\HasOrderByRequest;
|
||||
use App\Traits\HasSearchRequest;
|
||||
use Modules\Admin\app\Models\Admin;
|
||||
|
||||
class TechnicalController extends Controller
|
||||
{
|
||||
|
|
@ -18,6 +19,12 @@ class TechnicalController extends Controller
|
|||
use HasSearchRequest;
|
||||
use AnalyzeData;
|
||||
|
||||
public function getAllUsers()
|
||||
{
|
||||
$users = Admin::where('permission', 'like', '%staff%')->get()->toArray();
|
||||
return AbstractController::ResultSuccess($users);
|
||||
}
|
||||
|
||||
public function getAllTechnical(Request $request)
|
||||
{
|
||||
$technicals = new Technical;
|
||||
|
|
|
|||
|
|
@ -178,6 +178,7 @@ Route::middleware('api')
|
|||
Route::group([
|
||||
'prefix' => 'technical',
|
||||
], function () {
|
||||
Route::get('/get-all-user', [TechnicalController::class, 'getAllUsers'])->middleware('check.permission:admin');
|
||||
Route::get('/get-all', [TechnicalController::class, 'getAllTechnical']);
|
||||
Route::post('/create', [TechnicalController::class, 'createTechnical'])->middleware('check.permission:admin');
|
||||
Route::get('/delete', [TechnicalController::class, 'deleteTechnical'])->middleware('check.permission:admin');
|
||||
|
|
|
|||
Loading…
Reference in New Issue