Your IP : 216.73.216.86


Current Path : /home/emeraadmin/public_html/pages/subcontractor/
Upload File :
Current File : /home/emeraadmin/public_html/pages/subcontractor/dashboard.php

<?php
include('head.php');

require_once '../../Service/ReportsAndDashboardService.php';
$reportsAndDashboardService = new ReportsAndDashboardService();

$pendingTasks = $reportsAndDashboardService->getPendingTasks($companyId);
$completedTasks = $reportsAndDashboardService->getCompletedTasks($companyId);
//$ongoingSubtasks = $reportsAndDashboardService->getOngoingSubtasks($companyId);
$unassignedSubtasks = $reportsAndDashboardService->getUnassignedSubtasks($companyId);

// Fetch completed and incomplete subtask summary data
$subtasksSummary = $reportsAndDashboardService->getSubtasksSummaryForSubContractor($companyId);
$completedSubTasks = $subtasksSummary['completed'];
$incompleteSubTasks = $subtasksSummary['incomplete'];
$ongoingSubTasks = $completedSubTasks + $incompleteSubTasks; // Calculating ongoing subtasks


// Fetch total finished and not finished task summary data
$taskSummary = $reportsAndDashboardService->getTasksSummaryForSubContractor($companyId);
$completedTasks = $taskSummary['completed'];
$pendingTasks = $taskSummary['pending'];
$ongoingTasks = $taskSummary['total'];

$todaySubtasksSummary = $reportsAndDashboardService->getSubtasksSummaryForTodaySubContractor($companyId, date('Y-m-d'));
$todayTotalSubTasks = $todaySubtasksSummary['total'];
$todayCompletedSubTasks = $todaySubtasksSummary['completed'];
$todayIncompleteSubTasks = $todaySubtasksSummary['incomplete'];
?>

<div class="main-content">
    <div class="container-fluid">

        <div class="row grid-layout">
            <!-- Ongoing, Completed, Incomplete Subtasks and Chart -->
            <div class="col-md-8">
                <div class="card">
                    <div class="card-header">
                        <h3>Overall Subtasks Summary</h3>
                    </div>
                    <div class="card-body">
                        <div class="row">
                            <div class="col-md-6">
                                <div class="widget bg-primary">
                                    <div class="widget-body">
                                        <div class="d-flex justify-content-between align-items-center">
                                            <div class="state">
                                                <h6>Ongoing Subtasks</h6>
                                                <h2><?php echo $ongoingSubTasks; ?></h2>
                                            </div>
                                            <div class="icon">
                                                <i class="ik ik-box"></i>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                <div class="widget bg-success">
                                    <div class="widget-body">
                                        <div class="d-flex justify-content-between align-items-center">
                                            <div class="state">
                                                <h6>Completed Subtasks</h6>
                                                <h2><?php echo $completedSubTasks; ?></h2>
                                            </div>
                                            <div class="icon">
                                                <i class="ik ik-shopping-cart"></i>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                <div class="widget bg-warning">
                                    <div class="widget-body">
                                        <div class="d-flex justify-content-between align-items-center">
                                            <div class="state">
                                                <h6>Incomplete Subtasks</h6>
                                                <h2><?php echo $incompleteSubTasks; ?></h2>
                                            </div>
                                            <div class="icon">
                                                <i class="ik ik-inbox"></i>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <div class="col-md-6">
                                <div class="card-body text-center">
                                    <canvas id="subtasksPieChart" style="height: 370px; width: 100%;"></canvas>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>

                <div class="card">
                    <div class="card-header">
                        <h3>Today's Subtasks Summary: <?php echo date('l, F j, Y'); ?></h3>
                    </div>
                    <div class="card-block">
                        <div class="row">
                            <div class="col-md-6">
                                <div class="widget bg-info">
                                    <div class="widget-body">
                                        <div class="d-flex justify-content-between align-items-center">
                                            <div class="state">
                                                <h6>Total Subtasks to be Completed</h6>
                                                <h2><?php echo $todayTotalSubTasks; ?></h2>
                                            </div>
                                            <div class="icon">
                                                <i class="ik ik-calendar"></i>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                <div class="widget bg-success">
                                    <div class="widget-body">
                                        <div class="d-flex justify-content-between align-items-center">
                                            <div class="state">
                                                <h6>Completed Subtasks</h6>
                                                <h2><?php echo $todayCompletedSubTasks; ?></h2>
                                            </div>
                                            <div class="icon">
                                                <i class="ik ik-check-circle"></i>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                                <div class="widget bg-warning">
                                    <div class="widget-body">
                                        <div class="d-flex justify-content-between align-items-center">
                                            <div class="state">
                                                <h6>Incomplete Subtasks</h6>
                                                <h2><?php echo $todayIncompleteSubTasks; ?></h2>
                                            </div>
                                            <div class="icon">
                                                <i class="ik ik-alert-circle"></i>
                                            </div>
                                        </div>
                                    </div>
                                </div>
                            </div>
                            <div class="col-md-4">
                                <div class="card-block text-center">
                                    <canvas id="todaySubtasksDoughnutChart"
                                            style="height: 370px; width: 100%;"></canvas>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>

            </div>


            <div class="col-md-4">
                <div class="widget bg-danger">
                    <div class="widget-body">
                        <div class="d-flex justify-content-between align-items-center">
                            <div class="state">
                                <h6>Pending Tasks</h6>
                                <h2><?php echo $pendingTasks; ?></h2>
                            </div>
                            <div class="icon">
                                <i class="ik ik-alert-circle"></i>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="widget bg-success">
                    <div class="widget-body">
                        <div class="d-flex justify-content-between align-items-center">
                            <div class="state">
                                <h6>Completed Tasks</h6>
                                <h2><?php echo $completedTasks; ?></h2>
                            </div>
                            <div class="icon">
                                <i class="ik ik-check-circle"></i>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="widget bg-warning">
                    <div class="widget-body">
                        <div class="d-flex justify-content-between align-items-center">
                            <div class="state">
                                <h6>Unassigned Subtasks</h6>
                                <h2><?php echo $unassignedSubtasks; ?></h2>
                            </div>
                            <div class="icon">
                                <i class="ik ik-grid"></i>
                            </div>
                        </div>
                    </div>
                </div>


            </div>
        </div>
    </div>
</div>

<!-- Scripts for Charts -->
<script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
<script>
    // Data for the doughnut chart
    var completedSubTasks = <?php echo $completedSubTasks; ?>;
    var incompleteSubTasks = <?php echo $incompleteSubTasks; ?>;

    // Create Pie Chart for Subtasks
    new Chart(document.getElementById('subtasksPieChart'), {
        type: 'doughnut',
        data: {
            labels: ['Completed Subtasks', 'Incomplete Subtasks'],
            datasets: [{
                data: [completedSubTasks, incompleteSubTasks],
                backgroundColor: ['#28a745', '#fd7e14'],
                borderColor: ['#ffffff', '#ffffff'],
                borderWidth: 1
            }]
        },
        options: {
            responsive: true,
            maintainAspectRatio: false,
            plugins: {
                legend: {
                    display: true,
                    position: 'bottom'
                }
            }
        }
    });

    // Data for today's subtasks doughnut chart
    var todayCompletedSubTasks = <?php echo $todayCompletedSubTasks; ?>;
    var todayIncompleteSubTasks = <?php echo $todayIncompleteSubTasks; ?>;

    // Create Doughnut Chart for Today's Subtasks
    new Chart(document.getElementById('todaySubtasksDoughnutChart'), {
        type: 'doughnut',
        data: {
            labels: ['Completed Subtasks', 'Incomplete Subtasks'],
            datasets: [{
                data: [todayCompletedSubTasks, todayIncompleteSubTasks],
                backgroundColor: ['#28a745', '#ffc107'],
                borderColor: ['#ffffff', '#ffffff'],
                borderWidth: 1
            }]
        },
        options: {
            responsive: true,
            maintainAspectRatio: false,
            plugins: {
                legend: {
                    display: true,
                    position: 'bottom'
                }
            }
        }
    });
</script>

<?php include('footer.php'); ?>