Skip to content
GitLab
Explore
Projects
Groups
Topics
Snippets
Projects
Groups
Topics
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Register
Sign in
Toggle navigation
Menu
UPSMF
knowledge-platform
Commits
a3487c78
Commit
a3487c78
authored
2 years ago
by
lakshmikommalapati
Browse files
Options
Download
Patches
Plain Diff
update in CompetencyExcelParser class
parent
26d5c46d
poc_bulk_upload
No related merge requests found
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
assessment-api/assessment-service/app/handlers/CompetencyExcelParser.scala
+81
-4
...sessment-service/app/handlers/CompetencyExcelParser.scala
with
81 additions
and
4 deletions
+81
-4
assessment-api/assessment-service/app/handlers/CompetencyExcelParser.scala
+
81
−
4
View file @
a3487c78
package
handlers
import
handlers.CompetencyExcelParser.fracclMap
import
org.apache.poi.ss.usermodel.DataFormatter
import
org.apache.poi.xssf.usermodel.
{
XSSFRow
,
XSSFSheet
,
XSSFWorkbook
}
import
org.slf4j.
{
Logger
,
LoggerFactory
}
...
...
@@ -9,6 +10,7 @@ import java.util
import
scala.collection.JavaConverters.
{
asScalaIteratorConverter
,
iterableAsScalaIterableConverter
,
mapAsScalaMapConverter
}
import
scala.collection.mutable
import
scala.collection.mutable.ListBuffer
import
scala.sys.SystemProperties.headless.key
case
class
Activity
(
code
:
String
,
label
:
String
)
...
...
@@ -23,6 +25,10 @@ object CompetencyExcelParser {
private
var
listData
:
util.Map
[
String
,
AnyRef
]
=
new
util
.
HashMap
[
String
,
AnyRef
]
private
var
fracclMap
:
mutable.Map
[
String
,
AnyRef
]
=
mutable
.
Map
.
empty
private
var
competencyMap
:
util.Map
[
String
,
AnyRef
]
=
new
util
.
HashMap
[
String
,
AnyRef
]()
var
dataList
:
List
[
util.Map
[
String
,
AnyRef
]]
=
List
.
empty
var
data
:
util.Map
[
String
,
AnyRef
]
=
new
util
.
HashMap
[
String
,
AnyRef
]()
var
map
:
List
[
util.Map
[
String
,
AnyRef
]]
=
List
.
empty
var
dataMap
:
util.Map
[
String
,
AnyRef
]
=
new
util
.
HashMap
[
String
,
AnyRef
]()
def
parseCompetencyData
(
xssFRow
:
XSSFRow
)
=
{
val
rowContent
=
(
0
until
xssFRow
.
getPhysicalNumberOfCells
)
...
...
@@ -48,7 +54,9 @@ object CompetencyExcelParser {
listData
.
put
(
"compefracclMaptency"
,
competency
)
listData
.
put
(
"competencyLevelId"
,
competencyLevelId
)
fracclMap
.
put
(
competencyMapping
.
concat
(
activityId
),
listData
)
listData
fetchDataFromFracclMap
(
competencyMapping
.
concat
(
activityId
),
fracclMap
)
// fetchsheetdata(listData)
//listData
}
...
...
@@ -81,7 +89,9 @@ object CompetencyExcelParser {
}
else
{
None
}
}).
toList
getData
}
...
...
@@ -91,11 +101,13 @@ object CompetencyExcelParser {
val
finalData
:
mutable.Map
[
String
,
List
[
Map
[
String
,
AnyRef
]]]
=
mutable
.
Map
.
empty
try
{
val
workbook
=
new
XSSFWorkbook
(
new
FileInputStream
(
file
))
//getData = getCompetenciesData(workbook.getSheetAt(1))
(
1
until
workbook
.
getNumberOfSheets
)
.
foreach
(
index
=>
{
if
(
index
==
1
)
{
getData
=
getCompetenciesData
(
workbook
.
getSheetAt
(
index
))
}
getSheetBasedOnRoleLabel
(
getData
,
workbook
.
getSheetAt
(
index
))
val
convertedData
=
getData
.
map
(
_
.
asScala
.
toMap
)
finalData
+=
(
workbook
.
getSheetName
(
index
)
->
convertedData
)
...
...
@@ -115,5 +127,70 @@ object CompetencyExcelParser {
javaMap
}
def
fetchDataFromFracclMap
(
competencylevel
:
String
,
fracclMap
:
mutable.Map
[
String
,
AnyRef
])
:
util.Map
[
String
,
AnyRef
]
=
{
logger
.
info
(
"Enter into the fetchDataFromFracclMap"
)
val
competencyLevelValue
=
fracclMap
.
get
(
competencylevel
)
val
key
:
String
=
"roleLabel"
val
levelValue
:
AnyRef
=
competencyLevelValue
match
{
case
Some
(
x
)
=>
{
val
dataLabel
=
x
.
asInstanceOf
[
util.Map
[
String
,
AnyRef
]]
var
valueOption
:
AnyRef
=
dataLabel
.
get
(
key
)
valueOption
}
case
None
=>
"None"
}
val
activity
:
AnyRef
=
/*levelValue match{
case levelValue=>*/
competencyLevelValue
match
{
case
Some
(
x
)
=>
{
val
dataLabel
=
x
.
asInstanceOf
[
util.Map
[
String
,
AnyRef
]]
var
valueOption
:
AnyRef
=
dataLabel
.
get
(
"activityLabel"
)
valueOption
}
case
None
=>
"None"
}
data
.
put
(
competencylevel
,
activity
)
//dataList=dataList:+data
dataMap
.
put
(
levelValue
.
toString
,
data
)
dataMap
}
}
def
getSheetBasedOnRoleLabel
(
data
:
List
[
util.Map
[
String
,
AnyRef
]],
sheet
:
XSSFSheet
)
:
util.Map
[
String
,
AnyRef
]={
logger
.
info
(
"Enter into the getSheetBasedOnRoleLabel"
)
val
sheetMap
:
util.Map
[
String
,
AnyRef
]
=new
util
.
HashMap
[
String
,
AnyRef
]()
val
keyValue
=
data
.
flatMap
(
m
=>
m
.
keySet
().
asScala
).
distinct
.
toList
val
value
=
data
.
flatMap
(
n
=>
n
.
values
().
asScala
).
distinct
val
activity
:
String
=
null
/*value.foreach{v=>
activity= v match{
case Some(x)=>{
val activityLabel:String=x.asInstanceOf
}
}
}*/
// val innerValue = data.flatMap(_.get(key)).map(_.innerValue).getOrElse(Seq.empty)
keyValue
.
foreach
(
k
=>
if
(
k
.
equals
(
sheet
.
getSheetName
)
){
}
else
{
}
)
sheetMap
.
put
(
"key"
,
"value"
).
asInstanceOf
[
util.Map
[
String
,
AnyRef
]]
}
}
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment
Menu
Explore
Projects
Groups
Topics
Snippets