| @@ -316,17 +316,27 @@ open class BomService( | |||||
| } | } | ||||
| val leftTargetValueRow = sheet.getRow(startRowIndex) | val leftTargetValueRow = sheet.getRow(startRowIndex) | ||||
| val leftTargetValueCell = leftTargetValueRow.getCell(startColumnIndex + 1) | val leftTargetValueCell = leftTargetValueRow.getCell(startColumnIndex + 1) | ||||
| fun getCellValueAsString(cell: org.apache.poi.ss.usermodel.Cell?): String { | |||||
| return when { | |||||
| cell == null -> "" | |||||
| cell.cellType == CellType.STRING -> cell.stringCellValue.trim() | |||||
| cell.cellType == CellType.NUMERIC -> cell.numericCellValue.toString().trim() | |||||
| cell.cellType == CellType.BLANK -> "" | |||||
| else -> "" | |||||
| } | |||||
| } | |||||
| when { | when { | ||||
| tempCellVal.contains("深淺") -> request.isDark = calculateColourScore(leftTargetValueCell.stringCellValue.trim()) | |||||
| tempCellVal.contains("浮沉") -> request.isFloat = calculateFloatScore(leftTargetValueCell.stringCellValue.trim()) | |||||
| tempCellVal.contains("過敏原 (如有)") -> request.allergicSubstances = calculateAllergicSubstancesScore(leftTargetValueCell.stringCellValue.trim()) | |||||
| tempCellVal.contains("濃淡") -> request.isDense = if (leftTargetValueCell.cellType == CellType.NUMERIC) | |||||
| tempCellVal.contains("深淺") -> request.isDark = calculateColourScore(getCellValueAsString(leftTargetValueCell)) | |||||
| tempCellVal.contains("浮沉") -> request.isFloat = calculateFloatScore(getCellValueAsString(leftTargetValueCell)) | |||||
| tempCellVal.contains("過敏原 (如有)") -> request.allergicSubstances = calculateAllergicSubstancesScore(getCellValueAsString(leftTargetValueCell)) | |||||
| tempCellVal.contains("濃淡") -> request.isDense = if (leftTargetValueCell?.cellType == CellType.NUMERIC) | |||||
| leftTargetValueCell.numericCellValue.toInt() | leftTargetValueCell.numericCellValue.toInt() | ||||
| else 0 | else 0 | ||||
| tempCellVal.contains("損耗率") -> request.scrapRate = if (leftTargetValueCell.cellType == CellType.NUMERIC) | |||||
| tempCellVal.contains("損耗率") -> request.scrapRate = if (leftTargetValueCell?.cellType == CellType.NUMERIC) | |||||
| leftTargetValueCell.numericCellValue.toInt() | leftTargetValueCell.numericCellValue.toInt() | ||||
| else 0 | |||||
| else 0 | |||||
| } | } | ||||
| } | } | ||||
| if (startRowIndex < endRowIndex) { | if (startRowIndex < endRowIndex) { | ||||
| @@ -356,9 +366,10 @@ open class BomService( | |||||
| var process = processRepository.findByNameAndDeletedIsFalse(name) | var process = processRepository.findByNameAndDeletedIsFalse(name) | ||||
| ?: processRepository.findByCodeAndDeletedIsFalse(name) | ?: processRepository.findByCodeAndDeletedIsFalse(name) | ||||
| if (process == null) { | if (process == null) { | ||||
| val truncatedName = name.take(30) | |||||
| process = Process().apply { | process = Process().apply { | ||||
| this.name = name | |||||
| this.code = name | |||||
| this.name = truncatedName | |||||
| this.code = truncatedName | |||||
| this.description = name | this.description = name | ||||
| } | } | ||||
| process = processRepository.saveAndFlush(process) | process = processRepository.saveAndFlush(process) | ||||
| @@ -526,8 +537,8 @@ open class BomService( | |||||
| val resolver = PathMatchingResourcePatternResolver() | val resolver = PathMatchingResourcePatternResolver() | ||||
| // val excels = resolver.getResources("bomImport/*.xlsx") | // val excels = resolver.getResources("bomImport/*.xlsx") | ||||
| //val excels = resolver.getResources("file:C:/Users/Kelvin YAU/Downloads/bom/*.xlsx") | //val excels = resolver.getResources("file:C:/Users/Kelvin YAU/Downloads/bom/*.xlsx") | ||||
| //val excels = resolver.getResources("file:C:/Users/Kelvin YAU/Downloads/bom/*.xlsx") | |||||
| val excels = resolver.getResources("file:C:/Users/kw093/Downloads/bom/bom/*.xlsx") | |||||
| val excels = resolver.getResources("file:C:/Users/Kelvin YAU/Downloads/bom/*.xlsx") | |||||
| //val excels = resolver.getResources("file:C:/Users/kw093/Downloads/bom/bom/*.xlsx") | |||||
| // val excels = resolver.getResources("file:C:/Users/2Fi/Desktop/Third Wave of BOM Excel/*.xlsx") | // val excels = resolver.getResources("file:C:/Users/2Fi/Desktop/Third Wave of BOM Excel/*.xlsx") | ||||
| println("size: ${excels.size}") | println("size: ${excels.size}") | ||||
| val logExcel = ClassPathResource("excelTemplate/bom_excel_issue_log.xlsx") | val logExcel = ClassPathResource("excelTemplate/bom_excel_issue_log.xlsx") | ||||