Commit 29d7a0bf authored by nie'hong's avatar nie'hong

完善工时统计

parent 683120e1
...@@ -829,7 +829,7 @@ public class StatisticsServiceImpl implements StatisticsService { ...@@ -829,7 +829,7 @@ public class StatisticsServiceImpl implements StatisticsService {
HSSFCell row_1Cell; HSSFCell row_1Cell;
// 总计行单元格 // 总计行单元格
HSSFCell totalRow2Cell; HSSFCell totalRow2Cell;
if (!"请假".equals(projectWorkTimeAndType.get(i).getProjectName()) && !"调休".equals(projectWorkTimeAndType.get(i).getProjectName())) { // if (!"请假".equals(projectWorkTimeAndType.get(i).getProjectName()) && !"调休".equals(projectWorkTimeAndType.get(i).getProjectName())) {
// 项目名称或类型名称 // 项目名称或类型名称
row_1Cell = row_1.createCell((i + 1) * 2); row_1Cell = row_1.createCell((i + 1) * 2);
totalRow2Cell = totalRow2.createCell((i + 1) * 2); totalRow2Cell = totalRow2.createCell((i + 1) * 2);
...@@ -845,32 +845,32 @@ public class StatisticsServiceImpl implements StatisticsService { ...@@ -845,32 +845,32 @@ public class StatisticsServiceImpl implements StatisticsService {
// 该项目加班工时合计 // 该项目加班工时合计
HSSFCell cell2 = totalRow1.createCell((i + 1) * 2 + 1); HSSFCell cell2 = totalRow1.createCell((i + 1) * 2 + 1);
cell2.setCellValue(projectWorkTimeAndType.get(i).getOverTime()); cell2.setCellValue(projectWorkTimeAndType.get(i).getOverTime());
} else { // } else {
// 合计行最后的列 // 合计行最后的列
short lastCellNum = totalRow1.getLastCellNum(); // short lastCellNum = totalRow1.getLastCellNum();
// 调休和请假的类型名单元格 // 调休和请假的类型名单元格
row_1Cell = row_1.createCell(lastCellNum); // row_1Cell = row_1.createCell(lastCellNum);
// 请假或调休的总计单元格 // 请假或调休的总计单元格
totalRow2Cell = totalRow2.createCell(lastCellNum); // totalRow2Cell = totalRow2.createCell(lastCellNum);
// 请假或调休合计 // 请假或调休合计
HSSFCell cell1 = totalRow1.createCell(lastCellNum); // HSSFCell cell1 = totalRow1.createCell(lastCellNum);
cell1.setCellValue(projectWorkTimeAndType.get(i).getNormalTime()); // cell1.setCellValue(projectWorkTimeAndType.get(i).getNormalTime());
} // }
row_1Cell.setCellValue(projectWorkTimeAndType.get(i).getProjectName()); row_1Cell.setCellValue(projectWorkTimeAndType.get(i).getProjectName());
totalRow2Cell.setCellValue(projectWorkTimeAndType.get(i).getTotalTime()); totalRow2Cell.setCellValue(projectWorkTimeAndType.get(i).getTotalTime());
} }
// 所有项目的合计 // 所有项目的合计
String lastProjectName = projectWorkTimeAndType.get(projectWorkTimeAndType.size() - 1).getProjectName(); // String lastProjectName = projectWorkTimeAndType.get(projectWorkTimeAndType.size() - 1).getProjectName();
short row1_lastCellNum = row_1.getLastCellNum(); short row1_lastCellNum = row_1.getLastCellNum();
if (lastProjectName.equals("请假") || lastProjectName.equals("调休")) { // if (lastProjectName.equals("请假") || lastProjectName.equals("调休")) {
row_1.createCell(row1_lastCellNum).setCellValue("合计"); // row_1.createCell(row1_lastCellNum).setCellValue("合计");
totalRow1.createCell(row1_lastCellNum).setCellValue(userWorkTimeStatisticsByProject.getTotalTime()); // totalRow1.createCell(row1_lastCellNum).setCellValue(userWorkTimeStatisticsByProject.getTotalTime());
totalRow2.createCell(row1_lastCellNum).setCellValue(userWorkTimeStatisticsByProject.getTotalTime()); // totalRow2.createCell(row1_lastCellNum).setCellValue(userWorkTimeStatisticsByProject.getTotalTime());
} else { // } else {
row_1.createCell(row1_lastCellNum + 1).setCellValue("合计"); row_1.createCell(row1_lastCellNum + 1).setCellValue("合计");
totalRow1.createCell(row1_lastCellNum + 1).setCellValue(userWorkTimeStatisticsByProject.getTotalTime()); totalRow1.createCell(row1_lastCellNum + 1).setCellValue(userWorkTimeStatisticsByProject.getTotalTime());
totalRow2.createCell(row1_lastCellNum + 1).setCellValue(userWorkTimeStatisticsByProject.getTotalTime()); totalRow2.createCell(row1_lastCellNum + 1).setCellValue(userWorkTimeStatisticsByProject.getTotalTime());
} // }
for (int i = 0; i < userWorkTimeStatisticsReport.size() - 2; i++) { for (int i = 0; i < userWorkTimeStatisticsReport.size() - 2; i++) {
UserWorkTimeStatisticsByProject userWorkTimeStatisticsByProject1 = userWorkTimeStatisticsReport.get(i); UserWorkTimeStatisticsByProject userWorkTimeStatisticsByProject1 = userWorkTimeStatisticsReport.get(i);
...@@ -885,8 +885,7 @@ public class StatisticsServiceImpl implements StatisticsService { ...@@ -885,8 +885,7 @@ public class StatisticsServiceImpl implements StatisticsService {
// 项目的工时 // 项目的工时
for (int j = 0; j < projectWorkTimeAndType1.size(); j++) { for (int j = 0; j < projectWorkTimeAndType1.size(); j++) {
for (int k = 2; k < row1_lastCellNum; k++) { for (int k = 2; k < row1_lastCellNum; k++) {
// 除开请假和调休 if (row_1.getCell(k) != null && projectWorkTimeAndType1.get(j).getProjectName().equals(row_1.getCell(k).getStringCellValue())) {
if (row_1.getCell(k) != null && !projectWorkTimeAndType1.get(j).getProjectName().equals("请假") && !projectWorkTimeAndType1.get(j).getProjectName().equals("调休") && projectWorkTimeAndType1.get(j).getProjectName().equals(row_1.getCell(k).getStringCellValue())) {
if (projectWorkTimeAndType1.get(j).getNormalTime() != null) { if (projectWorkTimeAndType1.get(j).getNormalTime() != null) {
HSSFCell cell_k_1 = row_i.createCell(k); HSSFCell cell_k_1 = row_i.createCell(k);
cell_k_1.setCellValue(projectWorkTimeAndType1.get(j).getNormalTime()); cell_k_1.setCellValue(projectWorkTimeAndType1.get(j).getNormalTime());
...@@ -895,14 +894,13 @@ public class StatisticsServiceImpl implements StatisticsService { ...@@ -895,14 +894,13 @@ public class StatisticsServiceImpl implements StatisticsService {
HSSFCell cell_k_2 = row_i.createCell(k + 1); HSSFCell cell_k_2 = row_i.createCell(k + 1);
cell_k_2.setCellValue(projectWorkTimeAndType1.get(j).getOverTime()); cell_k_2.setCellValue(projectWorkTimeAndType1.get(j).getOverTime());
} }
break;
}
if (row_1.getCell(k) != null && projectWorkTimeAndType1.get(j).getProjectName().equals(row_1.getCell(k).getStringCellValue())) {
if (projectWorkTimeAndType1.get(j).getNormalTime() != null) {
HSSFCell cell_k_1 = row_i.createCell(k);
cell_k_1.setCellValue(projectWorkTimeAndType1.get(j).getNormalTime());
}
} }
// if (row_1.getCell(k) != null && projectWorkTimeAndType1.get(j).getProjectName().equals(row_1.getCell(k).getStringCellValue())) {
// if (projectWorkTimeAndType1.get(j).getNormalTime() != null) {
// HSSFCell cell_k_1 = row_i.createCell(k);
// cell_k_1.setCellValue(projectWorkTimeAndType1.get(j).getNormalTime());
// }
// }
} }
} }
...@@ -912,7 +910,7 @@ public class StatisticsServiceImpl implements StatisticsService { ...@@ -912,7 +910,7 @@ public class StatisticsServiceImpl implements StatisticsService {
} }
// 合并单元格,第一行 // 合并单元格,第一行
CellRangeAddress cellRangeAddress = new CellRangeAddress(0, 0, 0, row1_lastCellNum); CellRangeAddress cellRangeAddress = new CellRangeAddress(0, 0, 0, row1_lastCellNum + 1);
sheet1.addMergedRegion(cellRangeAddress); sheet1.addMergedRegion(cellRangeAddress);
setBorderStyle(cellRangeAddress, sheet1); setBorderStyle(cellRangeAddress, sheet1);
// 序号 // 序号
...@@ -936,9 +934,9 @@ public class StatisticsServiceImpl implements StatisticsService { ...@@ -936,9 +934,9 @@ public class StatisticsServiceImpl implements StatisticsService {
// 项目行和总计行,正常工时和加班工时表头列数 // 项目行和总计行,正常工时和加班工时表头列数
short lastCellNum = row_2.getLastCellNum(); short lastCellNum = row_2.getLastCellNum();
for (int i = 0; i < lastCellNum / 2; i++) { for (int i = 0; i < lastCellNum / 2; i++) {
if (row_1.getCell(2 * i).getStringCellValue().equals("请假") || row_1.getCell(2 * i).getStringCellValue().equals("调休")) { // if (row_1.getCell(2 * i).getStringCellValue().equals("请假") || row_1.getCell(2 * i).getStringCellValue().equals("调休")) {
continue; // continue;
} // }
// 总计行 // 总计行
CellRangeAddress cellRangeAddress4 = new CellRangeAddress(userWorkTimeStatisticsReport.size() + 2, userWorkTimeStatisticsReport.size() + 2, i * 2, i * 2 + 1); CellRangeAddress cellRangeAddress4 = new CellRangeAddress(userWorkTimeStatisticsReport.size() + 2, userWorkTimeStatisticsReport.size() + 2, i * 2, i * 2 + 1);
sheet1.addMergedRegion(cellRangeAddress4); sheet1.addMergedRegion(cellRangeAddress4);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment