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