Pārlūkot izejas kodu

update import timesheet (cyril)

add_swagger
MSI\derek pirms 9 mēnešiem
vecāks
revīzija
e6a272671f
1 mainītis faili ar 27 papildinājumiem un 21 dzēšanām
  1. +27
    -21
      src/main/java/com/ffii/tsms/modules/timesheet/service/TimesheetsService.kt

+ 27
- 21
src/main/java/com/ffii/tsms/modules/timesheet/service/TimesheetsService.kt Parādīt failu

@@ -194,28 +194,21 @@ open class TimesheetsService(
val row = sheet.getRow(i)

// Necessary Cell Value
val mtsid = row.getCell(0).numericCellValue.toInt()
val staffId = row.getCell(1).stringCellValue
var projectCode = when (row.getCell(4).stringCellValue.isNullOrBlank()) {
val staffId = when (row.getCell(1) == null || row.getCell(1).stringCellValue.isNullOrBlank()) {
true -> ""
false -> StringBuilder(row.getCell(4).stringCellValue).insert(1, '-').toString()
}
val projectSubCode = when (row.getCell(5)?.cellType) {
CellType.STRING -> row.getCell(5).stringCellValue.padStart(3, '0')
CellType.NUMERIC -> row.getCell(5).numericCellValue.toString().padStart(3, '0')
else -> ""
false -> row.getCell(1).stringCellValue
}
val recordDate = when (row.getCell(7).toString().isBlank()) {
true -> null
false -> LocalDate.parse(row.getCell(7).toString(), formatter);
var projectCode = when (row.getCell(4) == null || row.getCell(4).stringCellValue.isNullOrBlank()) {
true -> ""
false -> StringBuilder(row.getCell(4).stringCellValue).insert(1, '-').toString()
}
val hours: Double = row.getCell(8).numericCellValue

// Start Process
if (!staffId.isNullOrBlank() && projectCode.isNotBlank()) {
logger.info("row :$i | lastCellNum" + row.lastCellNum)

// process staff
val mtsid = row.getCell(0).numericCellValue.toInt()
logger.info("---------staff-------")
logger.info("mtsid: $mtsid")
logger.info("Staff ID: $staffId")
@@ -230,7 +223,11 @@ open class TimesheetsService(

// process project
logger.info("---------project-------")

val projectSubCode = when (row.getCell(5)?.cellType) {
CellType.STRING -> row.getCell(5).stringCellValue.padStart(3, '0')
CellType.NUMERIC -> row.getCell(5).numericCellValue.toInt().toString().padStart(3, '0')
else -> ""
}
if (projectSubCode.isNotBlank()) {
val splitMainProjectCode = projectCode.split('-')
projectCode = splitMainProjectCode[0] + '-' + String.format(
@@ -247,16 +244,21 @@ open class TimesheetsService(

// process project task
logger.info("---------project task-------")
val task = taskRepository.findById(41).getOrNull()
val task = taskRepository.findById(42).getOrNull()
val projectTask =
project?.let { p -> task?.let { t -> projectTaskRepository.findByProjectAndTask(p, t) } }

// process record date
logger.info("---------record date-------")
val recordDate = when (row.getCell(7).toString().isBlank()) {
true -> null
false -> LocalDate.parse(row.getCell(7).toString(), formatter);
}
logger.info("Recode Date: $recordDate")

// normal hour + ot hour
logger.info("---------normal hour + ot hour-------")
val hours: Double = row.getCell(8).numericCellValue
val normalHours = if (hours > 8.0) 8.0 else hours
val otHours = if (hours > 8.0) hours - 8.0 else 0.0
logger.info("Normal Hours: $normalHours | OT Hours: $otHours")
@@ -317,19 +319,17 @@ open class TimesheetsService(
for (i in 1..<sheet.lastRowNum) {
val row = sheet.getRow(i)

val mtsid = row.getCell(0).numericCellValue.toInt()
val staffId = row.getCell(1).stringCellValue
val recordDate = when (row.getCell(7).toString().isBlank()) {
true -> null
false -> LocalDate.parse(row.getCell(7).toString(), formatter);
val staffId = when (row.getCell(1) == null || row.getCell(1).stringCellValue.isNullOrBlank()) {
true -> ""
false -> row.getCell(1).stringCellValue
}
val hours: Double = row.getCell(8).numericCellValue

if (!staffId.isNullOrBlank()) {
logger.info("row :$i | lastCellNum" + row.lastCellNum)

// process staff
logger.info("---------staff-------")
val mtsid = row.getCell(0).numericCellValue.toInt()
var staff = staffRepository.findByStaffId(staffId).getOrNull()
if (staff == null) {
staff = staffRepository.findByStaffId("B000").orElseThrow()
@@ -352,9 +352,15 @@ open class TimesheetsService(

// process record date
logger.info("---------record date-------")
val recordDate = when (row.getCell(7).toString().isBlank()) {
true -> null
false -> LocalDate.parse(row.getCell(7).toString(), formatter);
}
logger.info("Recode Date: $recordDate")

// normal hour + ot hour
logger.info("---------normal hour + ot hour-------")
val hours: Double = row.getCell(8).numericCellValue
val normalHours = if (hours > 8.0) 8.0 else hours
val otHours = if (hours > 8.0) hours - 8.0 else 0.0



Notiek ielāde…
Atcelt
Saglabāt