| Current Path : /home/emeraadmin/public_html/pages/subcontractor/ |
| 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'); ?>