Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
P
PERFORMA_REPLICA
Overview
Overview
Details
Activity
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
Muhammad Usman
PERFORMA_REPLICA
Commits
7ffe8f1d
Commit
7ffe8f1d
authored
Sep 20, 2017
by
Harsh Shah
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Culture Fit --> Element level result including color code
parent
b7533187
Show whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
78 additions
and
36 deletions
+78
-36
CultureNarrative.java
cmsWebApp/src/performa/orm/CultureNarrative.java
+9
-0
JobApplication.java
cmsWebApp/src/performa/orm/JobApplication.java
+1
-1
ColorCode.java
cmsWebApp/src/performa/orm/types/ColorCode.java
+11
-0
ColorCode.xml
cmsWebApp/src/performa/orm/types/ColorCode.xml
+5
-3
AnalysisEngine.java
cmsWebApp/src/performa/utils/AnalysisEngine.java
+20
-6
common.css
cmsWebApp/webroot/css/common.css
+9
-8
view_application_tab_applicant.jsp
...nsions/adminportal/inc/view_application_tab_applicant.jsp
+18
-16
view_applicants_shortlist_grid.jsp
...extensions/adminportal/view_applicants_shortlist_grid.jsp
+5
-2
No files found.
cmsWebApp/src/performa/orm/CultureNarrative.java
View file @
7ffe8f1d
package
performa
.
orm
;
import
oneit.utils.StringUtils
;
public
class
CultureNarrative
extends
BaseCultureNarrative
{
...
...
@@ -16,4 +18,10 @@ public class CultureNarrative extends BaseCultureNarrative
{
return
"CultureNarrative"
;
}
@Override
public
String
getToString
()
{
return
StringUtils
.
subNulls
(
getNotes
(),
super
.
getToString
());
}
}
\ No newline at end of file
cmsWebApp/src/performa/orm/JobApplication.java
View file @
7ffe8f1d
...
...
@@ -312,7 +312,7 @@ public class JobApplication extends BaseJobApplication
public
Long
getCultureFitScore
()
{
return
getCultureFit
()
!=
null
?
(
Long
)
getCultureFit
().
get
(
null
)
:
0
;
return
getCultureFit
()
!=
null
&&
getCultureFit
().
get
(
null
)
!=
null
?
((
Tuple
.
T2
<
Long
,
Set
<
Tuple
.
T3
>>)
getCultureFit
().
get
(
null
)).
get0
()
:
0L
;
}
public
Long
getRequirementFitScore
()
...
...
cmsWebApp/src/performa/orm/types/ColorCode.java
View file @
7ffe8f1d
...
...
@@ -41,6 +41,8 @@ public class ColorCode extends AbstractEnumerated
private
transient
String
CSSClass
;
private
transient
String
DotCSSClass
;
private
ColorCode
(
String
name
,
String
value
,
String
description
,
boolean
disabled
)
{
super
(
name
,
value
,
description
,
disabled
);
...
...
@@ -61,6 +63,11 @@ public class ColorCode extends AbstractEnumerated
return
CSSClass
;
}
public
String
getDotCSSClass
()
{
return
DotCSSClass
;
}
public
static
final
Comparator
COMPARE_BY_POSITION
=
new
CompareEnumByPosition
(
allColorCodes
);
...
...
@@ -131,12 +138,15 @@ public class ColorCode extends AbstractEnumerated
RED
.
ColorRank
=
3
;
RED
.
RatingScore
=
0
;
RED
.
CSSClass
=
"red-b"
;
RED
.
DotCSSClass
=
"red-dot"
;
AMBER
.
ColorRank
=
2
;
AMBER
.
RatingScore
=
5
;
AMBER
.
CSSClass
=
"yellow-b"
;
AMBER
.
DotCSSClass
=
"yellow-dot"
;
GREEN
.
ColorRank
=
1
;
GREEN
.
RatingScore
=
10
;
GREEN
.
CSSClass
=
"green-b"
;
GREEN
.
DotCSSClass
=
"green-dot"
;
}
...
...
@@ -167,6 +177,7 @@ public class ColorCode extends AbstractEnumerated
attribs
.
put
(
"ColorRank"
,
ArrayFormatter
.
toObject
(
getColorRank
()));
attribs
.
put
(
"RatingScore"
,
ArrayFormatter
.
toObject
(
getRatingScore
()));
attribs
.
put
(
"CSSClass"
,
ArrayFormatter
.
toObject
(
getCSSClass
()));
attribs
.
put
(
"DotCSSClass"
,
ArrayFormatter
.
toObject
(
getDotCSSClass
()));
return
attribs
;
}
...
...
cmsWebApp/src/performa/orm/types/ColorCode.xml
View file @
7ffe8f1d
...
...
@@ -6,10 +6,11 @@
<DATA
name=
"ColorRank"
type=
"Integer"
/>
<DATA
name=
"RatingScore"
type=
"Integer"
/>
<DATA
name=
"CSSClass"
type=
"String"
/>
<DATA
name=
"DotCSSClass"
type=
"String"
/>
<VALUE
name=
"RED"
value=
"RED"
description=
"Red"
ColorRank=
"3"
RatingScore=
"0"
CSSClass=
'"red-b"'
/>
<VALUE
name=
"AMBER"
value=
"AMBER"
description=
"Amber"
ColorRank=
"2"
RatingScore=
"5"
CSSClass=
'"yellow-b"'
/>
<VALUE
name=
"GREEN"
value=
"GREEN"
description=
"Green"
ColorRank=
"1"
RatingScore=
"10"
CSSClass=
'"green-b"'
/>
<VALUE
name=
"RED"
value=
"RED"
description=
"Red"
ColorRank=
"3"
RatingScore=
"0"
CSSClass=
'"red-b"'
DotCSSClass=
'"red-dot"'
/>
<VALUE
name=
"AMBER"
value=
"AMBER"
description=
"Amber"
ColorRank=
"2"
RatingScore=
"5"
CSSClass=
'"yellow-b"'
DotCSSClass=
'"yellow-dot"'
/>
<VALUE
name=
"GREEN"
value=
"GREEN"
description=
"Green"
ColorRank=
"1"
RatingScore=
"10"
CSSClass=
'"green-b"'
DotCSSClass=
'"green-dot"'
/>
</CONSTANT>
</ROOT>
\ No newline at end of file
cmsWebApp/src/performa/utils/AnalysisEngine.java
View file @
7ffe8f1d
...
...
@@ -4,6 +4,7 @@ import java.util.*;
import
oneit.logging.*
;
import
oneit.objstore.*
;
import
oneit.objstore.rdbms.filters.*
;
import
oneit.objstore.utils.*
;
import
oneit.utils.*
;
import
oneit.utils.filter.*
;
import
oneit.utils.math.*
;
...
...
@@ -230,7 +231,8 @@ public class AnalysisEngine
LogMgr
.
log
(
JobApplication
.
LOG
,
LogLevel
.
PROCESSING1
,
"AnalysisEngine --> analyseAnswers completed for Candidate "
,
candidate
,
" Level:"
,
level
);
}
public
static
Map
<
CultureClass
,
Long
>
getCultureFit
(
Set
<
CultureCriteriaAnswer
>
cultureCriteriaAnswers
,
Job
job
)
//Tuple.T2<Long, Set<Tuple.T3>> ---> T2<Score, List<T3 <WeightingScore, CultureElement, Narrative>>
public
static
Map
<
CultureClass
,
Tuple
.
T2
<
Long
,
Set
<
Tuple
.
T3
>>>
getCultureFit
(
Set
<
CultureCriteriaAnswer
>
cultureCriteriaAnswers
,
Job
job
)
{
LogMgr
.
log
(
JobApplication
.
LOG
,
LogLevel
.
PROCESSING1
,
"AnalysisEngine --> getCultureFit called"
);
...
...
@@ -238,16 +240,17 @@ public class AnalysisEngine
CultureCriteriaAnswer
.
pipesCultureCriteriaAnswer
(
cultureCriteriaAnswers
).
toSelectedQuestion
().
toNarratives
().
toCultureElementRating
().
uniqueVals
();
CultureCriteriaAnswer
.
pipesCultureCriteriaAnswer
(
cultureCriteriaAnswers
).
toCultureElement
().
uniqueVals
();
Map
<
CultureClass
,
Integer
>
scoreMap
=
new
HashMap
();
Map
<
CultureClass
,
Integer
>
maxScoreMap
=
new
HashMap
();
Map
<
CultureClass
,
Integer
>
scoreMap
=
new
LinkedHashMap
();
Map
<
CultureClass
,
Integer
>
maxScoreMap
=
new
LinkedHashMap
();
Map
<
CultureClass
,
Set
<
Tuple
.
T3
>>
elementMap
=
new
LinkedHashMap
();
for
(
CultureClass
cultureClass
:
CultureClass
.
getCultureClassArray
())
{
scoreMap
.
put
(
cultureClass
,
0
);
maxScoreMap
.
put
(
cultureClass
,
0
);
elementMap
.
put
(
cultureClass
,
new
TreeSet
<
Tuple
.
T3
>());
}
for
(
CultureCriteriaAnswer
answer
:
cultureCriteriaAnswers
)
{
CultureCriteria
criteria
=
answer
.
getCriteriaJob
(
job
);
...
...
@@ -273,6 +276,12 @@ public class AnalysisEngine
{
ratingScore
=
narrative
.
getColorCode
().
getRatingScore
();
}
Tuple
.
T3
tuple
=
new
Tuple
.
T3
(
weightingScore
,
element
,
narrative
);
tuple
.
setComparatorForIndex
(
CollectionUtils
.
reverse
(
CollectionUtils
.
DEFAULT_COMPARATOR_NULLS_FIRST
),
0
);
tuple
.
setComparatorForIndex
(
ObjectComparator
.
BY_ID
,
1
);
elementMap
.
get
(
cultureClass
).
add
(
tuple
);
}
int
score
=
(
weightingScore
*
ratingScore
);
...
...
@@ -285,15 +294,20 @@ public class AnalysisEngine
}
Map
<
CultureClass
,
Long
>
cultureFitMap
=
getFinalFitMap
(
scoreMap
,
maxScoreMap
);
Map
<
CultureClass
,
Tuple
.
T2
<
Long
,
Set
<
Tuple
.
T3
>>>
finalMap
=
new
LinkedHashMap
();
for
(
CultureClass
cultureClass
:
cultureFitMap
.
keySet
())
{
finalMap
.
put
(
cultureClass
,
new
Tuple
.
T2
(
cultureFitMap
.
get
(
cultureClass
),
elementMap
.
get
(
cultureClass
)));
}
LogMgr
.
log
(
JobApplication
.
LOG
,
LogLevel
.
PROCESSING1
,
"AnalysisEngine --> getCultureFit completed"
);
return
cultureFit
Map
;
return
final
Map
;
}
private
static
<
T
>
Map
<
T
,
Long
>
getFinalFitMap
(
Map
<
T
,
Integer
>
scoreMap
,
Map
<
T
,
Integer
>
maxScoreMap
)
{
Map
<
T
,
Long
>
fitMap
=
new
HashMap
();
Map
<
T
,
Long
>
fitMap
=
new
Linked
HashMap
();
int
totalScore
=
0
;
int
totalMaxScore
=
0
;
...
...
cmsWebApp/webroot/css/common.css
View file @
7ffe8f1d
...
...
@@ -2861,23 +2861,24 @@ span.export-candidate,span.appli-status-short{
background-color
:
#f7f7f8
;
box-shadow
:
inset
1px
0
0
0
#dddddd
;
}
.
red
-dot
{
.
common
-dot
{
width
:
12px
;
height
:
12px
;
background-color
:
#fabdc1
;
border
:
1px
solid
#fb5d67
;
display
:
inline-block
;
border-radius
:
50%
;
vertical-align
:
middle
;
}
.red-dot
{
background-color
:
#fabdc1
;
border
:
1px
solid
#fb5d67
;
}
.yellow-dot
{
background-color
:
#fbe7a1
;
border
:
1px
solid
#fbc712
;
width
:
12px
;
height
:
12px
;
display
:
inline-block
;
border-radius
:
50%
;
vertical-align
:
middle
;
}
.green-dot
{
background-color
:
#8CE2DB
;
border
:
1px
solid
#47BBB3
;
}
.text-dot-dot
{
overflow
:
hidden
;
...
...
cmsWebApp/webroot/extensions/adminportal/inc/view_application_tab_applicant.jsp
View file @
7ffe8f1d
...
...
@@ -111,18 +111,18 @@
<div class="row four-label">
<div class="col-md-6 col-sm-6 col-xs-6 text-left">
<div class="a-label-row">
<span class="yellow-dot"></span><span class="r-y-label text-dot-dot">Achievement</span>
<span class="
common-dot
yellow-dot"></span><span class="r-y-label text-dot-dot">Achievement</span>
</div>
<div class="a-label-row">
<span class="red-dot"></span><span class="r-y-label text-dot-dot">Item with a long ti</span>
<span class="
common-dot
red-dot"></span><span class="r-y-label text-dot-dot">Item with a long ti</span>
</div>
</div>
<div class="col-md-6 col-sm-6 col-xs-6 text-left">
<div class="a-label-row">
<span class="yellow-dot"></span><span class="r-y-label text-dot-dot">Remuneration</span>
<span class="
common-dot
yellow-dot"></span><span class="r-y-label text-dot-dot">Remuneration</span>
</div>
<div class="a-label-row">
<span class="red-dot"></span><span class="r-y-label text-dot-dot">Item title</span>
<span class="
common-dot
red-dot"></span><span class="r-y-label text-dot-dot">Item title</span>
</div>
</div>
</div>
...
...
@@ -135,15 +135,15 @@
<div class="row four-label">
<div class="col-md-6 col-sm-6 col-xs-6 text-left">
<div class="a-label-row">
<span class="yellow-dot"></span><span class="r-y-label text-dot-dot">Achievement</span>
<span class="
common-dot
yellow-dot"></span><span class="r-y-label text-dot-dot">Achievement</span>
</div>
<div class="a-label-row">
<span class="red-dot"></span><span class="r-y-label text-dot-dot">Item title</span>
<span class="
common-dot
red-dot"></span><span class="r-y-label text-dot-dot">Item title</span>
</div>
</div>
<div class="col-md-6 col-sm-6 col-xs-6 text-left">
<div class="a-label-row">
<span class="yellow-dot"></span><span class="r-y-label text-dot-dot">Remuneration</span>
<span class="
common-dot
yellow-dot"></span><span class="r-y-label text-dot-dot">Remuneration</span>
</div>
</div>
</div>
...
...
@@ -160,13 +160,13 @@
<div class="row four-label">
<div class="col-md-6 col-sm-6 col-xs-6 text-left">
<div class="a-label-row">
<span class="yellow-dot"></span><span class="r-y-label text-dot-dot">Item title</span>
<span class="
common-dot
yellow-dot"></span><span class="r-y-label text-dot-dot">Item title</span>
</div>
<div class="a-label-row"> </div>
</div>
<div class="col-md-6 col-sm-6 col-xs-6 text-left">
<div class="a-label-row">
<span class="red-dot"></span><span class="r-y-label text-dot-dot">Item title</span>
<span class="
common-dot
red-dot"></span><span class="r-y-label text-dot-dot">Item title</span>
</div>
<div class="a-label-row"> </div>
</div>
...
...
@@ -254,17 +254,16 @@
</div>
<div class="tab-pane" id="2a">
<%
MultiHashtable<CultureClass, CultureCriteriaAnswer> cultureAnswersByClass = jobApplication.getCultureAnswersByClass();
Map<CultureClass, Long> cultureFitData = (Map<CultureClass, Long>)jobApplication.getCultureFit();
Map<CultureClass, Tuple.T2<Long, Set<Tuple.T3>>> cultureFitData = (Map<CultureClass, Tuple.T2<Long, Set<Tuple.T3>>>) jobApplication.getCultureFit();
for(CultureClass cClass: cultureFitData.keySet())
{
if(cClass
==
null)
if(cClass
== null || cultureFitData.get(cClass) ==
null)
{
continue;
}
Long rating = cultureFitData.get(cClass);
Long rating = cultureFitData.get(cClass)
.get0()
;
%>
<div class="main-pro-bar">
<div class="pro-bar">
...
...
@@ -281,16 +280,19 @@
</div>
<div class="expand-hide-tag">
<%
for(
CultureCriteriaAnswer answer: cultureAnswersByClass.getValuesForKey(cClass
))
for(
Tuple.T3 tuple : cultureFitData.get(cClass).get1(
))
{
CultureNarrative cultureNarrative = (CultureNarrative) tuple.get2();
String dotClass = cultureNarrative != null && cultureNarrative.getColorCode() != null ? cultureNarrative.getColorCode().getDotCSSClass() : "";
%>
<div class="tab-row">
<div class="tab-view-label">
<oneit:toString value="<%= answer.getCultureElement() %>" mode="EscapeHTML"/>
<span class="common-dot <%= dotClass %>"></span>
<oneit:toString value="<%= tuple.get1() %>" mode="EscapeHTML"/>
</div>
<div class="tab-view-side">
<div class="like-strive" style="margin-top: 20px;">
<oneit:toString value="<%=
answer.getSelectedQuestion().getDescription() %>"
mode="EscapeHTML"/>
<oneit:toString value="<%=
cultureNarrative %>"
mode="EscapeHTML"/>
</div>
</div>
</div>
...
...
cmsWebApp/webroot/extensions/adminportal/view_applicants_shortlist_grid.jsp
View file @
7ffe8f1d
...
...
@@ -148,6 +148,8 @@
<%
for(FactorClass factorClass : jobApplication.getSortedFactorClasses())
{
if(factorClass != null && roleScoreMap.get(factorClass) != null)
{
%>
<div class="detail-row">
<div class="detail-label">
...
...
@@ -159,6 +161,7 @@
</div>
<%
}
}
%>
</div>
<div class="culture jcc">
...
...
@@ -174,7 +177,7 @@
</div>
<div class="detail-box">
<%
Map<CultureClass,
Long> cultureFitData = (Map<CultureClass, Long
>)jobApplication.getCultureFit();
Map<CultureClass,
Tuple.T2<Long, Set<Tuple.T3>>> cultureFitData = (Map<CultureClass, Tuple.T2<Long, Set<Tuple.T3>>
>)jobApplication.getCultureFit();
for(CultureClass cClass: cultureFitData.keySet())
{
...
...
@@ -185,7 +188,7 @@
%>
<div class="detail-row">
<div class="detail-label"><oneit:toString value="<%= cClass %>" mode="EscapeHTML"/></div>
<div class="detail-no green"><oneit:toString value="<%= cultureFitData.get(cClass) %>" mode="WholeNumber" /></div>
<div class="detail-no green"><oneit:toString value="<%= cultureFitData.get(cClass)
!= null ? cultureFitData.get(cClass).get0() : 0
%>" mode="WholeNumber" /></div>
</div>
<%
}
...
...
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