| @@ -435,29 +435,29 @@ open class ReportService( | |||
| daysOfMonth.forEach { dayInfo -> | |||
| rowIndex++ | |||
| rowSize++ | |||
| tempCell = sheet.createRow(rowIndex).createCell(0) | |||
| tempCell = sheet.getRow(rowIndex).createCell(0) | |||
| tempCell.setCellValue(dayInfo.date) | |||
| tempCell.cellStyle.dataFormat = dateStyle | |||
| tempCell.cellStyle.setFont(boldFont) | |||
| // cellStyle.alignment = HorizontalAlignment.LEFT | |||
| tempCell = sheet.createRow(rowIndex).createCell(1) | |||
| tempCell = sheet.getRow(rowIndex).createCell(1) | |||
| tempCell.setCellValue(dayInfo.weekday) | |||
| tempCell.cellStyle.setFont(boldFont) | |||
| // cellStyle.alignment = HorizontalAlignment.LEFT | |||
| } | |||
| rowIndex += 1 | |||
| tempCell = sheet.createRow(rowIndex).createCell(0) | |||
| tempCell = sheet.getRow(rowIndex).createCell(0) | |||
| sheet.addMergedRegion(CellRangeAddress(rowIndex,rowIndex , 0, 1)) | |||
| tempCell.setCellValue("Sub-total") | |||
| tempCell.cellStyle.setFont(boldFont) | |||
| CellUtil.setAlignment(tempCell, HorizontalAlignment.CENTER) | |||
| CellUtil.setCellStyleProperties(tempCell, DoubleBorderBottom) | |||
| tempCell = sheet.createRow(rowIndex).createCell(1) | |||
| tempCell = sheet.getRow(rowIndex).createCell(1) | |||
| CellUtil.setCellStyleProperties(tempCell, DoubleBorderBottom) | |||
| rowIndex += 1 | |||
| tempCell = sheet.createRow(rowIndex).createCell(0) | |||
| tempCell = sheet.getRow(rowIndex).createCell(0) | |||
| tempCell.setCellValue("Total Normal Hours [A]") | |||
| CellUtil.setAlignment(tempCell, HorizontalAlignment.CENTER) | |||
| @@ -467,21 +467,21 @@ open class ReportService( | |||
| if (timesheets.isNotEmpty()) { | |||
| timesheets.forEach { t -> | |||
| normalConsumed += t.normalConsumed!! | |||
| otConsumed += t.otConsumed ?: 0.0 | |||
| otConsumed += t.otConsumed ?: 0.0 | |||
| } | |||
| } | |||
| tempCell = sheet.createRow(rowIndex).createCell(2) | |||
| tempCell = sheet.getRow(rowIndex).createCell(2) | |||
| tempCell.setCellValue(normalConsumed) | |||
| tempCell.cellStyle.dataFormat = accountingStyle | |||
| sheet.addMergedRegion(CellRangeAddress(rowIndex,rowIndex , 0, 1)) | |||
| // | |||
| rowIndex += 1 | |||
| tempCell = sheet.createRow(rowIndex).createCell(0) | |||
| tempCell = sheet.getRow(rowIndex).createCell(0) | |||
| tempCell.setCellValue("Total Other Hours [B]") | |||
| CellUtil.setAlignment(tempCell, HorizontalAlignment.CENTER) | |||
| tempCell.cellStyle.setFont(boldFont) | |||
| tempCell = sheet.createRow(rowIndex).createCell(2) | |||
| tempCell = sheet.getRow(rowIndex).createCell(2) | |||
| tempCell.setCellValue(otConsumed) | |||
| tempCell.cellStyle.dataFormat = accountingStyle | |||
| @@ -490,7 +490,7 @@ open class ReportService( | |||
| // Total Leave Hours | |||
| rowIndex += 1 | |||
| tempCell = sheet.createRow(rowIndex).createCell(0) | |||
| tempCell = sheet.getRow(rowIndex).createCell(0) | |||
| tempCell.setCellValue("Total Leave Hours") | |||
| CellUtil.setAlignment(tempCell, HorizontalAlignment.CENTER) | |||
| sheet.addMergedRegion(CellRangeAddress(rowIndex,rowIndex , 0, 1)) | |||
| @@ -499,22 +499,22 @@ open class ReportService( | |||
| leaveHours += l.leaveHours!! | |||
| } | |||
| } | |||
| tempCell = sheet.createRow(rowIndex).createCell(2) | |||
| tempCell = sheet.getRow(rowIndex).createCell(2) | |||
| tempCell.setCellValue(leaveHours) | |||
| tempCell.cellStyle.dataFormat = accountingStyle | |||
| // Total Spent Manhours | |||
| rowIndex += 1 | |||
| tempCell = sheet.createRow(rowIndex).createCell(0) | |||
| tempCell = sheet.getRow(rowIndex).createCell(0) | |||
| tempCell.setCellValue("Total Spent Manhours [A+B]") | |||
| tempCell.cellStyle.setFont(boldFont) | |||
| CellUtil.setAlignment(tempCell, HorizontalAlignment.CENTER) | |||
| CellUtil.setCellStyleProperties(tempCell, DoubleBorderBottom) | |||
| tempCell = sheet.createRow(rowIndex).createCell(1) | |||
| tempCell = sheet.getRow(rowIndex).createCell(1) | |||
| CellUtil.setAlignment(tempCell, HorizontalAlignment.CENTER) | |||
| CellUtil.setCellStyleProperties(tempCell, DoubleBorderBottom) | |||
| tempCell = sheet.createRow(rowIndex).createCell(2) | |||
| tempCell = sheet.getRow(rowIndex).createCell(2) | |||
| tempCell.cellFormula = "C${rowIndex-2}+C${rowIndex-1}" | |||
| tempCell.cellStyle.dataFormat = accountingStyle | |||
| CellUtil.setCellStyleProperties(tempCell, DoubleBorderBottom) | |||
| @@ -524,7 +524,7 @@ open class ReportService( | |||
| rowIndex = 7 | |||
| columnIndex = 2 | |||
| projectList.forEachIndexed { index, title -> | |||
| tempCell = sheet.createRow(7).createCell(columnIndex + index) | |||
| tempCell = sheet.getRow(7).createCell(columnIndex + index) | |||
| tempCell.setCellValue(title) | |||
| CellUtil.setAlignment(tempCell, HorizontalAlignment.RIGHT) | |||
| CellUtil.setCellStyleProperties(tempCell, ThinBorderBottom) | |||
| @@ -533,13 +533,13 @@ open class ReportService( | |||
| if (timesheets.isNotEmpty()) { | |||
| projectList.forEach { _ -> | |||
| for (i in 0 until rowSize) { | |||
| tempCell = sheet.createRow(8 + i).createCell(columnIndex) | |||
| tempCell = sheet.getRow(8 + i).createCell(columnIndex) | |||
| tempCell.setCellValue(0.0) | |||
| tempCell.cellStyle.dataFormat = accountingStyle | |||
| } | |||
| timesheets.forEach { timesheet -> | |||
| dayInt = timesheet.recordDate!!.dayOfMonth | |||
| tempCell = sheet.createRow(dayInt.plus(7)).createCell(columnIndex) | |||
| tempCell = sheet.getRow(dayInt.plus(7)).createCell(columnIndex) | |||
| tempCell.setCellValue(timesheet.normalConsumed!!) | |||
| } | |||
| @@ -550,46 +550,46 @@ open class ReportService( | |||
| if (leaves.isNotEmpty()) { | |||
| leaves.forEach { leave -> | |||
| for (i in 0 until rowSize) { | |||
| tempCell = sheet.createRow(8 + i).createCell(columnIndex) | |||
| tempCell = sheet.getRow(8 + i).createCell(columnIndex) | |||
| tempCell.setCellValue(0.0) | |||
| tempCell.cellStyle.dataFormat = accountingStyle | |||
| } | |||
| dayInt = leave.recordDate!!.dayOfMonth | |||
| tempCell = sheet.createRow(dayInt.plus(7)).createCell(columnIndex) | |||
| tempCell = sheet.getRow(dayInt.plus(7)).createCell(columnIndex) | |||
| tempCell.setCellValue(leave.leaveHours!!) | |||
| } | |||
| } | |||
| ///////////////////////////////////////////////////////// Leave Hours //////////////////////////////////////////////////////////////////// | |||
| tempCell = sheet.createRow(rowIndex).createCell(columnIndex) | |||
| tempCell = sheet.getRow(rowIndex).createCell(columnIndex) | |||
| tempCell.setCellValue("Leave Hours") | |||
| CellUtil.setCellStyleProperties(tempCell, ThinBorderBottom) | |||
| columnIndex += 1 | |||
| tempCell = sheet.createRow(rowIndex).createCell(columnIndex) | |||
| tempCell = sheet.getRow(rowIndex).createCell(columnIndex) | |||
| tempCell.setCellValue("Daily Manhour Spent\n(Excluding Leave Hours)") | |||
| CellUtil.setCellStyleProperties(tempCell, ThinBorderBottom) | |||
| sheet.addMergedRegion(CellRangeAddress(6,6 , 2, columnIndex)) | |||
| ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// | |||
| rowIndex = 8 | |||
| // if (sheet.createRow(rowIndex - 1).getCell(2).stringCellValue != "Leave Hours") { | |||
| if (sheet.getRow(rowIndex - 1).getCell(2).stringCellValue != "Leave Hours") { | |||
| // cal daily spent manhour | |||
| for (i in 0 until rowSize) { | |||
| tempCell = sheet.createRow(rowIndex).createCell(columnIndex) | |||
| tempCell = sheet.getRow(rowIndex).createCell(columnIndex) | |||
| tempCell.cellFormula = "SUM(${getColumnAlphabet(2)}${rowIndex+1}:${getColumnAlphabet(columnIndex - 2)}${rowIndex+1})" // should columnIndex - 2 | |||
| rowIndex++ | |||
| } | |||
| // cal subtotal | |||
| println(rowIndex) | |||
| for (i in 0 until columnSize - 2) { // minus last col | |||
| tempCell = sheet.createRow(rowIndex).createCell(2 + i) | |||
| tempCell = sheet.getRow(rowIndex).createCell(2 + i) | |||
| tempCell.cellFormula = "SUM(${getColumnAlphabet(2 + i)}9:${getColumnAlphabet(2 + i)}${rowIndex})" | |||
| tempCell.cellStyle.dataFormat = accountingStyle | |||
| tempCell.cellStyle.setFont(boldFont) | |||
| CellUtil.setCellStyleProperties(tempCell, DoubleBorderBottom) | |||
| // } | |||
| } | |||
| } | |||
| return workbook | |||
| } | |||