Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
I
intranet-resource-management
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
project-open
intranet-resource-management
Commits
a8545f69
Commit
a8545f69
authored
Sep 05, 2017
by
Frank Bergmann
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
- Added code to allow selecting the data to be shown
parent
de83bc07
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
65 additions
and
21 deletions
+65
-21
intranet-resource-management-procs-percentage.tcl
tcl/intranet-resource-management-procs-percentage.tcl
+43
-21
resources-planning.tcl
www/resources-planning.tcl
+22
-0
No files found.
tcl/intranet-resource-management-procs-percentage.tcl
View file @
a8545f69
...
...
@@ -36,6 +36,7 @@ ad_proc -public im_resource_mgmt_resource_planning_percentage {
{
-return_url
""
}
{
-page_url:required
}
{
-absences_included_in_project_planning_p
"1"
}
{
-report_shows
"percentage"
}
{
-debug_p 1
}
}
{
Creates Resource Report
...
...
@@ -55,6 +56,8 @@ ad_proc -public im_resource_mgmt_resource_planning_percentage {
# Department to use, when user is not assigned to one
set company_cost_center
[
im_cost_center_company
]
set default_department
[
parameter::get_from_package_key -package_key
"intranet-resource-management"
-parameter
"DefaultCostCenterId"
-default
$company
_cost_center
]
set timesheet_hours_per_day
[
parameter::get_from_package_key -package_key
"intranet-timesheet2"
-parameter
"TimesheetHoursPerDay"
-default 8.0
]
set freelancers_department 999999
if
{
""
==
$excluded
_group_ids
}
{
set excluded_group_ids 0
}
...
...
@@ -838,32 +841,51 @@ ad_proc -public im_resource_mgmt_resource_planning_percentage {
set col_attrib "
bgcolor=#$col
"
}
# Format user or department cells - choose a font color according to overallocation
# Determine the value to be shown by the report
# - availability: percentage availability of resource (user/cc)
# - report_shows: percentage/days
# - object_type: im_cost_center, im_project or user
# - assignment_hash: percentage of assignment aggregated
# - days_per_cell: number of days covered by a single cell
set cell_html "
 
;
 
;
 
;
 
;
"
set cell_type ""
set cell_color "
black
"
set cell_assig ""
set key "
[
join
$key
_list
"-"
]
-$object_id
"
# ad_return_complaint 1 "
<pre>$key<br>
[
array
names assignment_hash
]
</pre>
"
if {
[
info
exists assignment_hash
(
$key
)]
} {
set assig
[
expr
round
(
$assignment
_hash
(
$key
))
/
$days
_per_cell
]
set color "
black
"
if {
$availability
> 0} {
set overassignment_ratio
[
expr
(
1.0 *
$assig
/
$availability
)
- 1.0
]
# <= 1.0 -> black=#00000, >1.5 -> red=#FF0000
set ratio
[
expr
round
(
min
(
max
(
$overassignment
_ratio,0
)
* 700.0, 255
))]
set color "
#
[
format
%x
$ratio
]
0000
"
if {"" ne
$assig
} { set assig "
$assig
%
" }
set cell_html "
<font color=$color>$assig</font>
"
}
if {
[
info
exists assignment_hash
(
$key
)]
} {
set cell_type "
user
"
} else {
set cell_type "
project
"
set key "
[
join
$key
_list
"-"
]
-$project_id-$user_id
"
}
# Normal project assignment - don't compare and don't change color
set key "
[
join
$key
_list
"-"
]
-$project_id-$user_id
"
if {
[
info
exists assignment_hash
(
$key
)]
} {
set assig
[
expr
round
(
$assignment
_hash
(
$key
))
/
$days
_per_cell
]
if {"" ne
$assig
} { set assig "
$assig
%
" }
set cell_html
$assig
if {
[
info
exists assignment_hash
(
$key
)]
} {
set cell_assig
[
expr
round
(
$assignment
_hash
(
$key
))]
}
# Check for overassignments
if {"" ne
$cell
_assig &&
$availability
> 0} {
set overassignment_ratio
[
expr
(
1.0 *
$cell
_assig /
$availability
)
- 1.0
]
# <= 1.0 -> black=#00000, >1.5 -> red=#FF0000
set ratio
[
expr
round
(
min
(
max
(
$overassignment
_ratio,0
)
* 700.0, 255
))]
set cell_color "
#
[
format
%x
$ratio
]
0000
"
}
if {"" ne
$cell
_assig} { switch
$report
_shows {
percentage {
set perc
[
expr
$cell
_assig /
$days
_per_cell
]
set cell_html "
<font color=$cell_color>$perc%</font>
"
}
days {
set days
[
expr
round
(
10.0 *
$cell
_assig / 100.0
)
/ 10.0
]
set cell_html "
<font color=$cell_color>$days</font>
"
}
hours {
set days
[
expr
round
(
10.0 *
$cell
_assig *
$timesheet
_hours_per_day / 100.0
)
/ 10.0
]
set cell_html "
<font color=$cell_color>$days</font>
"
}
default { ad_return_complaint 1 "
percentage-report:<br>Unknown report_shows=$report_shows
" }
}}
switch
$object
_type {
im_cost_center {
set title "
Sum of availability of department members multiplied with % project assignments
"
...
...
www/resources-planning.tcl
View file @
a8545f69
...
...
@@ -28,6 +28,7 @@ ad_page_contract {
{
project_type_id:integer 0
}
{
employee_cost_center_id:integer 0
}
{
program_id:integer 0
}
{
report_shows
""
}
{
absences_included_in_project_planning_p
"1"
}
{
debug_p:integer 0
}
}
...
...
@@ -61,6 +62,9 @@ regsub -all {\+} $top_vars " " top_vars
set
restrict_to_user_department_by_default_p
[
parameter::get_from_package_key -package_key
"intranet-resource-management"
-parameter RestrictToUserDepartmentByDefaultP -default 0
]
set
default_report_shows
[
parameter::get_from_package_key -package_key
"intranet-resource-management"
-parameter DefaultResourcePlanningUnit -default
"percentage"
]
if
{
""
eq
$report
_shows
}
{
set report_shows
$default
_report_shows
}
# ------------------------------------------------------------
# Start and End-Dat as min/max of selected projects.
...
...
@@ -94,6 +98,7 @@ set html [im_resource_mgmt_resource_planning_percentage \
-report_project_type_id
$project
_type_id
\
-report_customer_id
$customer
_id
\
-report_employee_cost_center_id
$employee
_cost_center_id
\
-report_shows
$report
_shows
\
-excluded_group_ids
""
\
-page_url
$page
_url
\
-absences_included_in_project_planning_p
$absences
_included_in_project_planning_p
\
...
...
@@ -155,6 +160,23 @@ if {1} {
"
}
if
{
1
}
{
set show_options
[
list
\
"percentage"
[
lang::message::lookup
""
intranet-resource-management.Show_Percentage
"Percentage"
]
\
"days"
[
lang::message::lookup
""
intranet-resource-management.Show_Days
"Days"
]
\
"hours"
[
lang::message::lookup
""
intranet-resource-management.Show_Hours
"Hours"
]
\
]
append filter_html
"
<tr>
<td class=form-label>
[
lang::message::lookup
""
intranet-resource-management.Show_Value
"Show Value"
]
:</td>
<td class=form-widget>
[
im_select -translate_p 0 report_shows
$show
_options
$report
_shows
]
</td>
</tr>
"
}
append
filter_html
"
<tr>
<td class=form-label>
[
_ intranet-core.Start_Date
]
</td>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment