Commit cb5d7130 by Harsh Shah

View Application - Area Of Concern section for Role/Culture

parent a2fe4a0b
......@@ -9,7 +9,7 @@
<column name="object_last_updated_date" type="Date" nullable="false" length="22"/>
<column name="object_created_date" type="Date" nullable="false" length="22"/>
<column name="score_number" type="Long" nullable="true"/>
<column name="color_rank" type="Long" nullable="true"/>
<column name="color_code" type="String" nullable="true" length="200"/>
<column name="wghtd_score" type="Long" nullable="true"/>
<column name="test_analysis_id" type="Long" length="11" nullable="true"/>
<column name="factor_number" type="Long" length="11" nullable="true"/>
......
......@@ -9,7 +9,7 @@ CREATE TABLE tl_score (
object_created_date datetime DEFAULT getdate() NOT NULL
,
score_number numeric(12) NULL,
color_rank numeric(12) NULL,
color_code varchar(200) NULL,
wghtd_score numeric(12) NULL,
test_analysis_id numeric(12) NULL,
factor_number numeric(12) NULL,
......
......@@ -10,7 +10,7 @@ CREATE TABLE tl_score (
object_created_date date DEFAULT SYSDATE NOT NULL
,
score_number number(12) NULL,
color_rank number(12) NULL,
color_code varchar2(200) NULL,
wghtd_score number(12) NULL,
test_analysis_id number(12) NULL,
factor_number number(12) NULL,
......
......@@ -10,7 +10,7 @@ CREATE TABLE tl_score (
object_created_date timestamp DEFAULT NOW() NOT NULL
,
score_number numeric(12) NULL,
color_rank numeric(12) NULL,
color_code varchar(200) NULL,
wghtd_score numeric(12) NULL,
test_analysis_id numeric(12) NULL,
factor_number numeric(12) NULL,
......
......@@ -16,4 +16,9 @@ public class FactorScore extends BaseFactorScore
{
return "FactorScore";
}
public Integer getColorRank()
{
return getColorCode() != null ? getColorCode().getColorRank() : 0;
}
}
\ No newline at end of file
......@@ -6,13 +6,11 @@
<IMPORT value="performa.orm.types.*"/>
<TRANSIENT name="ColorCode" type="ColorCode" attribHelper="EnumeratedAttributeHelper"/>
<TABLE name="tl_score" tablePrefix="object" polymorphic="FALSE">
<ATTRIB name="Score" type="Integer" dbcol="score_number"/>
<ATTRIB name="ColorRank" type="Integer" dbcol="color_rank" />
<ATTRIB name="WghtdScore" type="Integer" dbcol="wghtd_score" />
<ATTRIB name="Score" type="Integer" dbcol="score_number"/>
<ATTRIB name="ColorCode" type="ColorCode" dbcol="color_code" attribHelper="EnumeratedAttributeHelper"/>
<ATTRIB name="WghtdScore" type="Integer" dbcol="wghtd_score" />
<SINGLEREFERENCE name="TestAnalysis" type="TestAnalysis" dbcol="test_analysis_id" backreferenceName="FactorScores"/>
<SINGLEREFERENCE name="Factor" type="Factor" dbcol="factor_number"/>
......
......@@ -28,13 +28,13 @@ public class FactorScorePersistenceMgr extends ObjectPersistenceMgr
// Private attributes corresponding to business object data
private Integer dummyScore;
private Integer dummyColorRank;
private ColorCode dummyColorCode;
private Integer dummyWghtdScore;
// Static constants corresponding to attribute helpers
private static final DefaultAttributeHelper HELPER_Score = DefaultAttributeHelper.INSTANCE;
private static final DefaultAttributeHelper HELPER_ColorRank = DefaultAttributeHelper.INSTANCE;
private static final EnumeratedAttributeHelper HELPER_ColorCode = new EnumeratedAttributeHelper (ColorCode.FACTORY_ColorCode);
private static final DefaultAttributeHelper HELPER_WghtdScore = DefaultAttributeHelper.INSTANCE;
......@@ -43,12 +43,12 @@ public class FactorScorePersistenceMgr extends ObjectPersistenceMgr
public FactorScorePersistenceMgr ()
{
dummyScore = (Integer)(HELPER_Score.initialise (dummyScore));
dummyColorRank = (Integer)(HELPER_ColorRank.initialise (dummyColorRank));
dummyColorCode = (ColorCode)(HELPER_ColorCode.initialise (dummyColorCode));
dummyWghtdScore = (Integer)(HELPER_WghtdScore.initialise (dummyWghtdScore));
}
private String SELECT_COLUMNS = "{PREFIX}tl_score.object_id as id, {PREFIX}tl_score.object_LAST_UPDATED_DATE as LAST_UPDATED_DATE, {PREFIX}tl_score.object_CREATED_DATE as CREATED_DATE, {PREFIX}tl_score.score_number, {PREFIX}tl_score.color_rank, {PREFIX}tl_score.wghtd_score, {PREFIX}tl_score.test_analysis_id, {PREFIX}tl_score.factor_number, {PREFIX}tl_score.level_number, {PREFIX}tl_score.narrative_id, 1 AS commasafe ";
private String SELECT_COLUMNS = "{PREFIX}tl_score.object_id as id, {PREFIX}tl_score.object_LAST_UPDATED_DATE as LAST_UPDATED_DATE, {PREFIX}tl_score.object_CREATED_DATE as CREATED_DATE, {PREFIX}tl_score.score_number, {PREFIX}tl_score.color_code, {PREFIX}tl_score.wghtd_score, {PREFIX}tl_score.test_analysis_id, {PREFIX}tl_score.factor_number, {PREFIX}tl_score.level_number, {PREFIX}tl_score.narrative_id, 1 AS commasafe ";
private String SELECT_JOINS = "";
public BaseBusinessClass fetchByID(ObjectID id, PersistentSetCollection allPSets, RDBMSPersistenceContext context, SQLManager sqlMgr) throws SQLException, StorageException
......@@ -100,7 +100,7 @@ public class FactorScorePersistenceMgr extends ObjectPersistenceMgr
// Check for persistent sets already prefetched
if (false || !tl_scorePSet.containsAttrib(BaseBusinessClass.FIELD_ObjectLastModified) ||
!tl_scorePSet.containsAttrib(FactorScore.FIELD_Score)||
!tl_scorePSet.containsAttrib(FactorScore.FIELD_ColorRank)||
!tl_scorePSet.containsAttrib(FactorScore.FIELD_ColorCode)||
!tl_scorePSet.containsAttrib(FactorScore.FIELD_WghtdScore)||
!tl_scorePSet.containsAttrib(FactorScore.SINGLEREFERENCE_TestAnalysis)||
!tl_scorePSet.containsAttrib(FactorScore.SINGLEREFERENCE_Factor)||
......@@ -195,10 +195,10 @@ public class FactorScorePersistenceMgr extends ObjectPersistenceMgr
{
int rowsUpdated = executeStatement (sqlMgr,
"UPDATE {PREFIX}tl_score " +
"SET score_number = ?, color_rank = ?, wghtd_score = ?, test_analysis_id = ? , factor_number = ? , level_number = ? , narrative_id = ? , object_LAST_UPDATED_DATE = " + sqlMgr.getPortabilityServices ().getTimestampExpression () + " " +
"SET score_number = ?, color_code = ?, wghtd_score = ?, test_analysis_id = ? , factor_number = ? , level_number = ? , narrative_id = ? , object_LAST_UPDATED_DATE = " + sqlMgr.getPortabilityServices ().getTimestampExpression () + " " +
"WHERE tl_score.object_id = ? AND " + getConcurrencyCheck (sqlMgr, "object_LAST_UPDATED_DATE", obj.getObjectLastModified ()) + " ",
CollectionUtils.listEntry (HELPER_Score.getForSQL(dummyScore, tl_scorePSet.getAttrib (FactorScore.FIELD_Score))).listEntry (HELPER_ColorRank.getForSQL(dummyColorRank, tl_scorePSet.getAttrib (FactorScore.FIELD_ColorRank))).listEntry (HELPER_WghtdScore.getForSQL(dummyWghtdScore, tl_scorePSet.getAttrib (FactorScore.FIELD_WghtdScore))).listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_TestAnalysis)))).listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_Factor)))).listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_Level)))).listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_Narrative)))).listEntry (objectID.longID ()).listEntry (obj.getObjectLastModified ()).toList().toArray());
CollectionUtils.listEntry (HELPER_Score.getForSQL(dummyScore, tl_scorePSet.getAttrib (FactorScore.FIELD_Score))).listEntry (HELPER_ColorCode.getForSQL(dummyColorCode, tl_scorePSet.getAttrib (FactorScore.FIELD_ColorCode))).listEntry (HELPER_WghtdScore.getForSQL(dummyWghtdScore, tl_scorePSet.getAttrib (FactorScore.FIELD_WghtdScore))).listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_TestAnalysis)))).listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_Factor)))).listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_Level)))).listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_Narrative)))).listEntry (objectID.longID ()).listEntry (obj.getObjectLastModified ()).toList().toArray());
if (rowsUpdated != 1)
{
......@@ -455,7 +455,7 @@ public class FactorScorePersistenceMgr extends ObjectPersistenceMgr
tl_scorePSet.setAttrib(BaseBusinessClass.FIELD_ObjectCreated, r.getTimestamp ("CREATED_DATE"));
tl_scorePSet.setAttrib(FactorScore.FIELD_Score, HELPER_Score.getFromRS(dummyScore, r, "score_number"));
tl_scorePSet.setAttrib(FactorScore.FIELD_ColorRank, HELPER_ColorRank.getFromRS(dummyColorRank, r, "color_rank"));
tl_scorePSet.setAttrib(FactorScore.FIELD_ColorCode, HELPER_ColorCode.getFromRS(dummyColorCode, r, "color_code"));
tl_scorePSet.setAttrib(FactorScore.FIELD_WghtdScore, HELPER_WghtdScore.getFromRS(dummyWghtdScore, r, "wghtd_score"));
tl_scorePSet.setAttrib(FactorScore.SINGLEREFERENCE_TestAnalysis, r.getObject ("test_analysis_id"));
......@@ -478,10 +478,10 @@ public class FactorScorePersistenceMgr extends ObjectPersistenceMgr
{
executeStatement (sqlMgr,
"INSERT INTO {PREFIX}tl_score " +
" (score_number, color_rank, wghtd_score, test_analysis_id, factor_number, level_number, narrative_id, object_id, object_LAST_UPDATED_DATE, object_CREATED_DATE) " +
" (score_number, color_code, wghtd_score, test_analysis_id, factor_number, level_number, narrative_id, object_id, object_LAST_UPDATED_DATE, object_CREATED_DATE) " +
"VALUES " +
" (?, ?, ?, ?, ?, ?, ?, ?, " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ", " + sqlMgr.getPortabilityServices ().getTimestampExpression () + ")",
CollectionUtils.listEntry (HELPER_Score.getForSQL(dummyScore, tl_scorePSet.getAttrib (FactorScore.FIELD_Score))).listEntry (HELPER_ColorRank.getForSQL(dummyColorRank, tl_scorePSet.getAttrib (FactorScore.FIELD_ColorRank))).listEntry (HELPER_WghtdScore.getForSQL(dummyWghtdScore, tl_scorePSet.getAttrib (FactorScore.FIELD_WghtdScore))) .listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_TestAnalysis)))).listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_Factor)))).listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_Level)))).listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_Narrative)))) .listEntry (objectID.longID ()).toList().toArray());
CollectionUtils.listEntry (HELPER_Score.getForSQL(dummyScore, tl_scorePSet.getAttrib (FactorScore.FIELD_Score))).listEntry (HELPER_ColorCode.getForSQL(dummyColorCode, tl_scorePSet.getAttrib (FactorScore.FIELD_ColorCode))).listEntry (HELPER_WghtdScore.getForSQL(dummyWghtdScore, tl_scorePSet.getAttrib (FactorScore.FIELD_WghtdScore))) .listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_TestAnalysis)))).listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_Factor)))).listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_Level)))).listEntry (SQLManager.CheckNull((Long)(tl_scorePSet.getAttrib (FactorScore.SINGLEREFERENCE_Narrative)))) .listEntry (objectID.longID ()).toList().toArray());
tl_scorePSet.setStatus (PersistentSetStatus.PROCESSED);
}
......
......@@ -6,6 +6,7 @@ import oneit.objstore.*;
import oneit.objstore.rdbms.filters.EqualsFilter;
import oneit.objstore.rdbms.filters.IsNotNullFilter;
import oneit.objstore.rdbms.filters.NotEqualsFilter;
import oneit.objstore.utils.ObjstoreUtils;
import oneit.utils.*;
import oneit.utils.filter.CollectionFilter;
import oneit.utils.filter.Filter;
......@@ -304,6 +305,33 @@ public class JobApplication extends BaseJobApplication
}
return super.getOverallRank();
}
@Override
public Map getFactorScoreDetails()
{
if(super.getFactorScoreDetails() == null && getCandidate() != null && getJob() != null && getJob().getLevel() != null)
{
try
{
Map<FactorClass, Map<FactorLevelLink, Map>> factorScoreDetails = new LinkedHashMap();
Map<FactorClass, Tuple.T2<Double, ColorCode>> roleScoreMap = (Map<FactorClass, Tuple.T2<Double, ColorCode>>) getRoleFit();
for(FactorClass factorClass : getSortedFactorClasses())
{
if(roleScoreMap.get(factorClass) != null && roleScoreMap.get(factorClass).get0() > 0d)
{
factorScoreDetails.put(factorClass, AnalysisEngine.getFactorScoreDetails(getCandidate(), getJob().getLevel(), factorClass));
}
}
setFactorScoreDetails(factorScoreDetails);
}
catch (FieldException ex)
{
LogMgr.log(LOG, LogLevel.PROCESSING1, ex, "Error occured when setting FactorScoreDetails for " + this);
}
}
return super.getFactorScoreDetails();
}
public Double getRoleFitScore()
{
......@@ -484,4 +512,67 @@ public class JobApplication extends BaseJobApplication
return answersByImportance;
}
public List<FactorScore> getRoleAreaOfConcerns()
{
Map<FactorClass, Map<FactorLevelLink, Map>> factorScoreDetails = getFactorScoreDetails();
List<FactorScore> factorScores = new ArrayList();
if(factorScoreDetails != null)
{
for(FactorClass factorClass : factorScoreDetails.keySet())
{
Map<FactorLevelLink, Map> factorDetails = factorScoreDetails.get(factorClass);
Collection<FactorLevelLink> sortedLinks = ObjstoreUtils.sort(factorDetails.keySet(),
new ObjectTransform[]{FactorLevelLink.pipesFactorLevelLink().toFactor().toObjectID()},
new Comparator[]{CollectionUtils.DEFAULT_COMPARATOR});
for(FactorLevelLink factorLevelLink : sortedLinks)
{
Map factorLinkDetails = factorDetails.get(factorLevelLink);
if(!factorLinkDetails.isEmpty())
{
FactorScore factorScore = (FactorScore) factorLinkDetails.get("factorScore");
if(factorScore != null && factorScore.getFactor() != null && factorScore.getColorCode() != null && factorScore.getColorCode() != ColorCode.GREEN) //SCORE.COLOR_RANK > 1 as per apollo
{
LevelFactorType levelFactorType = factorLevelLink.getLevel().getLevelFactorType(factorScore.getFactor());
if(levelFactorType != null && levelFactorType.getTypeFlag() == TypeFlag.PRIMARY)
{
factorScores.add(factorScore);
}
}
}
}
}
}
return factorScores;
}
public List<Tuple.T2> getCultureAreaOfConcerns()
{
Map<CultureClass, Tuple.T2<Long, Set<Tuple.T3>>> cultureFitData = (Map<CultureClass, Tuple.T2<Long, Set<Tuple.T3>>>) getCultureFit();
List<Tuple.T2> result = new ArrayList();
for(CultureClass cClass : cultureFitData.keySet())
{
if(cClass == null || cultureFitData.get(cClass) == null)
{
continue;
}
for(Tuple.T3 tuple : cultureFitData.get(cClass).get1())
{
CultureNarrative cultureNarrative = (CultureNarrative) tuple.get2();
if(cultureNarrative != null && cultureNarrative.getColorCode() != null && cultureNarrative.getColorCode() != ColorCode.GREEN)
{
result.add(new Tuple.T2(tuple.get1(), cultureNarrative.getColorCode()));
}
}
}
return result;
}
}
\ No newline at end of file
......@@ -7,11 +7,12 @@
<MULTIPLEREFERENCE name="AssessmentCriteriaAnswers" type="AssessmentCriteriaAnswer" backreferenceName="JobApplication" />
<TRANSIENT name="AppProcessOption" type="AppProcessOption" attribHelper="EnumeratedAttributeHelper"/>
<TRANSIENT name="OverallRank" type="Integer" />
<TRANSIENT name="RoleFit" type="Map" attribHelper="BLOBAttributeHelper" attribHelperInstance="BLOBAttributeHelper.INSTANCE"/>
<TRANSIENT name="RequirementFit" type="Map" attribHelper="BLOBAttributeHelper" attribHelperInstance="BLOBAttributeHelper.INSTANCE"/>
<TRANSIENT name="CultureFit" type="Map" attribHelper="BLOBAttributeHelper" attribHelperInstance="BLOBAttributeHelper.INSTANCE"/>
<TRANSIENT name="AppProcessOption" type="AppProcessOption" attribHelper="EnumeratedAttributeHelper"/>
<TRANSIENT name="OverallRank" type="Integer" />
<TRANSIENT name="RoleFit" type="Map" attribHelper="BLOBAttributeHelper" attribHelperInstance="BLOBAttributeHelper.INSTANCE"/>
<TRANSIENT name="RequirementFit" type="Map" attribHelper="BLOBAttributeHelper" attribHelperInstance="BLOBAttributeHelper.INSTANCE"/>
<TRANSIENT name="CultureFit" type="Map" attribHelper="BLOBAttributeHelper" attribHelperInstance="BLOBAttributeHelper.INSTANCE"/>
<TRANSIENT name="FactorScoreDetails" type="Map" attribHelper="BLOBAttributeHelper" attribHelperInstance="BLOBAttributeHelper.INSTANCE"/>
<TABLE name="tl_job_application" tablePrefix="object" polymorphic="FALSE">
......
......@@ -122,7 +122,6 @@ public class AnalysisEngine
factorScore.setLevel(level);
factorScore.setScore(score);
factorScore.setColorCode(factorScoreResult.getColorCode());
factorScore.setColorRank(factorScoreResult.getColorCode() != null ? factorScoreResult.getColorCode().getColorRank() : 0);
factorScore.setNarrative(factorScoreResult.getNarrative());
/**
......
<?xml version="1.0" encoding="UTF-8"?>
<!-- @AutoRun -->
<OBJECTS name="" xmlns:oneit="http://www.1iT.com.au">
<NODE name="Script" factory="Vector">
<NODE name="DDL" factory="Participant" class="oneit.sql.transfer.RedefineTableOperation">
<tableName factory="String">tl_score</tableName>
<column name="color_code" type="String" nullable="true" length="200"/>
</NODE>
</NODE>
</OBJECTS>
\ No newline at end of file
update tl_score set color_code = CASE WHEN color_rank = 1 THEN 'GREEN' WHEN color_rank = 2 THEN 'AMBER' WHEN color_rank = 3 THEN 'RED' ELSE null END;
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment