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