|
|
|
@@ -316,17 +316,27 @@ open class BomService( |
|
|
|
} |
|
|
|
val leftTargetValueRow = sheet.getRow(startRowIndex) |
|
|
|
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 { |
|
|
|
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() |
|
|
|
else 0 |
|
|
|
tempCellVal.contains("損耗率") -> request.scrapRate = if (leftTargetValueCell.cellType == CellType.NUMERIC) |
|
|
|
|
|
|
|
tempCellVal.contains("損耗率") -> request.scrapRate = if (leftTargetValueCell?.cellType == CellType.NUMERIC) |
|
|
|
leftTargetValueCell.numericCellValue.toInt() |
|
|
|
else 0 |
|
|
|
else 0 |
|
|
|
} |
|
|
|
} |
|
|
|
if (startRowIndex < endRowIndex) { |
|
|
|
@@ -356,9 +366,10 @@ open class BomService( |
|
|
|
var process = processRepository.findByNameAndDeletedIsFalse(name) |
|
|
|
?: processRepository.findByCodeAndDeletedIsFalse(name) |
|
|
|
if (process == null) { |
|
|
|
val truncatedName = name.take(30) |
|
|
|
process = Process().apply { |
|
|
|
this.name = name |
|
|
|
this.code = name |
|
|
|
this.name = truncatedName |
|
|
|
this.code = truncatedName |
|
|
|
this.description = name |
|
|
|
} |
|
|
|
process = processRepository.saveAndFlush(process) |
|
|
|
@@ -526,8 +537,8 @@ open class BomService( |
|
|
|
val resolver = PathMatchingResourcePatternResolver() |
|
|
|
// 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/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") |
|
|
|
println("size: ${excels.size}") |
|
|
|
val logExcel = ClassPathResource("excelTemplate/bom_excel_issue_log.xlsx") |
|
|
|
|