| @@ -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 | |||