start reports

This commit is contained in:
2018-02-08 17:01:22 +01:00
parent 74847beb3b
commit 0441ba7b81
10 changed files with 190 additions and 1 deletions
@@ -34,6 +34,13 @@ class usersController extends MY_Controller {
$this->json( $users );
}
public function getUniqueprojectEmployees()
{
$projectEmployees = User::getUniqueProjectUsers();
$this->json( $projectEmployees );
}
public function saveUser()
{
$userValidation = new UserValidation();
@@ -0,0 +1,34 @@
<?php
defined( 'BASEPATH' ) OR exit( 'No direct script access allowed' );
/**
* Created by Pensare Software.
* User: Theo Weijmer
* Date: 08/02/2018
* Time: 15:16
*/
class EmployeeHoursController extends MY_Controller {
public function __construct()
{
parent::__construct();
if ( AUTHENTICATED == FALSE ) die( 'NO ACCES' );
$models = [];
$libraries = [];
$this->load->model( $models );
$this->load->library( $libraries );
}
public function index()
{
}
public function getMonthlyEmployeeHoursPerProject()
{
}
}
+29 -1
View File
@@ -11,6 +11,16 @@ class User extends BaseModel {
protected $table = "users";
public function projectemployees()
{
return $this->hasMany( 'Projectemployee' );
}
public function projectemployee()
{
return $this->hasOne( 'Projectemployee' );
}
public function role()
{
return $this->belongsTo( 'Role', 'level', 'rolelevel' );
@@ -18,7 +28,7 @@ class User extends BaseModel {
public static function getAllUsers( $archive )
{
$users = User::selectRaw("*, CONCAT(firstname, ' ', middlename, ' ', lastname) AS fullname")
$users = User::selectRaw( "*, CONCAT(firstname, ' ', middlename, ' ', lastname) AS fullname" )
->orderBy( 'lastname' );
if ( $archive == 'F' ) $users = $users->whereArchive( 'F' );
@@ -68,5 +78,23 @@ class User extends BaseModel {
User::whereId( $userID )->delete();
}
public static function getUniqueProjectUsers()
{
//TODO: date range
$projectusers = User::selectRaw( "
users.id,
CONCAT(firstname, ' ', middlename, ' ', lastname) AS fullname,
SUBSTR(MD5(users.id), 1, 6) AS slug" )
->join( 'projectemployees AS PEM', 'PEM.user_id', '=', 'users.id' )
->with( [
'projectemployee.project' => function ( $q ) {
$q->selectRaw( "id, YEAR(startdate) AS instroom, COALESCE(YEAR(enddate), '') AS uitstroom" );
}] )
->distinct()
->get();
return $projectusers;
}
}
@@ -0,0 +1,37 @@
<div class="MONTHLYEMPLOYEEHOURS">
<div class="row">
<div class="col-md-12">
<div class="nav-tabs-horizontal">
<ul class="nav nav-tabs nav-tabs-solid">
<li class="nav-item" data-bind="click:setActivetab.bind($data, 'euro')">
<a class="nav-link" data-bind="css:{'active':sluggy() == 'euro'}">totaal euro's</a>
</li>
<li class="nav-item" data-bind="click:setActivetab.bind($data, 'hours')">
<a class="nav-link" data-bind="css:{'active':sluggy() == 'hours'}">totaal uren</a>
</li>
<!-- ko foreach:uniqueEmployees -->
<li class="nav-item" data-bind="click:$root.setActivetab.bind($data, slug)">
<a class="nav-link" data-bind="text:fullname, css:{'active':$root.sluggy() == slug}"></a>
</li>
<!-- /ko -->
</ul>
<div class="tab-content">
<div class="tab-pane" data-bind="css:{'active':sluggy() == 'euro'}">
<?php $this->load->view('reports/monthlyemployeehours/euro_view'); ?>
</div>
<div class="tab-pane" data-bind="css:{'active':sluggy() == 'hours'}">
<?php $this->load->view('reports/monthlyemployeehours/hours_view'); ?>
</div>
<!-- ko foreach:uniqueEmployees -->
<div class="tab-pane" data-bind="css:{'active':$root.sluggy() == slug}">
<?php $this->load->view('reports/monthlyemployeehours/employee_view'); ?>
</div>
<!-- /ko -->
</div>
</div>
</div>
</div>
</div>
+1
View File
@@ -68,6 +68,7 @@
<script src="js/lib/modules/projects/offersModule.js?version=<?= $this->version ?>"></script>
<script src="js/lib/modules/projects/projectsModule.js?version=<?= $this->version ?>"></script>
<script src="js/lib/modules/projects/employeehoursModule.js?version=<?= $this->version ?>"></script>
<script src="js/lib/modules/reports/monthlyEmployeeHoursModule.js?version=<?= $this->version ?>"></script>
<!-- ***********MODALS************* -->
@@ -0,0 +1,3 @@
<ul data-bind="foreach: myData">
<li data-bind="text:test">text</li>
</ul>
@@ -0,0 +1 @@
<h1>EURO'S</h1>
@@ -0,0 +1 @@
<h1>hours</h1>