调整费用明细标题和数据填充逻辑,修正丢失与报废费用的显示

This commit is contained in:
syruan 2025-09-24 20:43:55 +08:00
parent e3e9dfed2f
commit f232db9e56
2 changed files with 99 additions and 104 deletions

View File

@ -363,34 +363,6 @@ public class PoiOutPage {
} }
rowNum = createTotalRow(sheet, rowNum, listRepair, totalCostRepair, headerStyle); rowNum = createTotalRow(sheet, rowNum, listRepair, totalCostRepair, headerStyle);
/**
* 报废费用明细
*/
// 填充标题行
rowNum = createTitleRowStyleCost(sheet, rowNum, "报废费用明细", titleStyle, listScrap.size());
// 填充表头
rowNum = createHeaderRow(sheet, rowNum, listScrap, headerStyle);
// 填充数据行
if (resultScrap!= null &&!resultScrap.isEmpty()) {
rowNum = createDataRows(sheet, rowNum, resultScrap, contentStyle, listScrap.size());
} else {
// 如果没有数据则仅显示表头
// rowNum++;
// rowNum = createDataRows(sheet, rowNum, resultScrap, contentStyle, listScrap.size());
HSSFRow row = sheet.createRow(rowNum++);
HSSFCell cell = row.createCell(0);
cell.setCellStyle(headerStyle);
cell.setCellValue("暂无数据");
sheet.addMergedRegion(new CellRangeAddress(rowNum - 1, rowNum - 1, 0, (short) (listScrap.size() - 1)));
CellRangeAddress cellRange = new CellRangeAddress(rowNum - 1, rowNum - 1, 0, (short) (listScrap.size() - 1));
// 设置边框样式
RegionUtil.setBorderTop(BorderStyle.THIN, cellRange, sheet);
RegionUtil.setBorderBottom(BorderStyle.THIN, cellRange, sheet);
RegionUtil.setBorderLeft(BorderStyle.THIN, cellRange, sheet);
RegionUtil.setBorderRight(BorderStyle.THIN, cellRange, sheet);
}
rowNum = createTotalRow(sheet, rowNum, listScrap, totalCostScrap, headerStyle);
/** /**
* 丢失费用明细 * 丢失费用明细
*/ */
@ -419,6 +391,34 @@ public class PoiOutPage {
} }
rowNum = createTotalRow(sheet, rowNum, listLose, totalCostLose, headerStyle); rowNum = createTotalRow(sheet, rowNum, listLose, totalCostLose, headerStyle);
/**
* 报废费用明细
*/
// 填充标题行
rowNum = createTitleRowStyleCost(sheet, rowNum, "报废费用明细", titleStyle, listScrap.size());
// 填充表头
rowNum = createHeaderRow(sheet, rowNum, listScrap, headerStyle);
// 填充数据行
if (resultScrap!= null &&!resultScrap.isEmpty()) {
rowNum = createDataRows(sheet, rowNum, resultScrap, contentStyle, listScrap.size());
} else {
// 如果没有数据则仅显示表头
// rowNum++;
// rowNum = createDataRows(sheet, rowNum, resultScrap, contentStyle, listScrap.size());
HSSFRow row = sheet.createRow(rowNum++);
HSSFCell cell = row.createCell(0);
cell.setCellStyle(headerStyle);
cell.setCellValue("暂无数据");
sheet.addMergedRegion(new CellRangeAddress(rowNum - 1, rowNum - 1, 0, (short) (listScrap.size() - 1)));
CellRangeAddress cellRange = new CellRangeAddress(rowNum - 1, rowNum - 1, 0, (short) (listScrap.size() - 1));
// 设置边框样式
RegionUtil.setBorderTop(BorderStyle.THIN, cellRange, sheet);
RegionUtil.setBorderBottom(BorderStyle.THIN, cellRange, sheet);
RegionUtil.setBorderLeft(BorderStyle.THIN, cellRange, sheet);
RegionUtil.setBorderRight(BorderStyle.THIN, cellRange, sheet);
}
rowNum = createTotalRow(sheet, rowNum, listScrap, totalCostScrap, headerStyle);
/** /**
* 减免费用明细 * 减免费用明细
*/ */
@ -530,34 +530,6 @@ public class PoiOutPage {
} }
rowNum = createTotalRow(sheet, rowNum, listRepair, totalCostRepair, headerStyle); rowNum = createTotalRow(sheet, rowNum, listRepair, totalCostRepair, headerStyle);
/**
* 报废费用明细
*/
// 填充标题行
rowNum = createTitleRowStyleCost(sheet, rowNum, "报废费用明细", titleStyle, listScrap.size());
// 填充表头
rowNum = createHeaderRow(sheet, rowNum, listScrap, headerStyle);
// 填充数据行
if (resultScrap!= null &&!resultScrap.isEmpty()) {
rowNum = createDataRows(sheet, rowNum, resultScrap, contentStyle, listScrap.size());
} else {
// 如果没有数据则仅显示表头
// rowNum++;
// rowNum = createDataRows(sheet, rowNum, resultScrap, contentStyle, listScrap.size());
HSSFRow row = sheet.createRow(rowNum++);
HSSFCell cell = row.createCell(0);
cell.setCellStyle(headerStyle);
cell.setCellValue("暂无数据");
sheet.addMergedRegion(new CellRangeAddress(rowNum - 1, rowNum - 1, 0, (short) (listScrap.size() - 1)));
CellRangeAddress cellRange = new CellRangeAddress(rowNum - 1, rowNum - 1, 0, (short) (listScrap.size() - 1));
// 设置边框样式
RegionUtil.setBorderTop(BorderStyle.THIN, cellRange, sheet);
RegionUtil.setBorderBottom(BorderStyle.THIN, cellRange, sheet);
RegionUtil.setBorderLeft(BorderStyle.THIN, cellRange, sheet);
RegionUtil.setBorderRight(BorderStyle.THIN, cellRange, sheet);
}
rowNum = createTotalRow(sheet, rowNum, listScrap, totalCostScrap, headerStyle);
/** /**
* 丢失费用明细 * 丢失费用明细
*/ */
@ -586,6 +558,34 @@ public class PoiOutPage {
} }
rowNum = createTotalRow(sheet, rowNum, listLose, totalCostLose, headerStyle); rowNum = createTotalRow(sheet, rowNum, listLose, totalCostLose, headerStyle);
/**
* 报废费用明细
*/
// 填充标题行
rowNum = createTitleRowStyleCost(sheet, rowNum, "报废费用明细", titleStyle, listScrap.size());
// 填充表头
rowNum = createHeaderRow(sheet, rowNum, listScrap, headerStyle);
// 填充数据行
if (resultScrap!= null &&!resultScrap.isEmpty()) {
rowNum = createDataRows(sheet, rowNum, resultScrap, contentStyle, listScrap.size());
} else {
// 如果没有数据则仅显示表头
// rowNum++;
// rowNum = createDataRows(sheet, rowNum, resultScrap, contentStyle, listScrap.size());
HSSFRow row = sheet.createRow(rowNum++);
HSSFCell cell = row.createCell(0);
cell.setCellStyle(headerStyle);
cell.setCellValue("暂无数据");
sheet.addMergedRegion(new CellRangeAddress(rowNum - 1, rowNum - 1, 0, (short) (listScrap.size() - 1)));
CellRangeAddress cellRange = new CellRangeAddress(rowNum - 1, rowNum - 1, 0, (short) (listScrap.size() - 1));
// 设置边框样式
RegionUtil.setBorderTop(BorderStyle.THIN, cellRange, sheet);
RegionUtil.setBorderBottom(BorderStyle.THIN, cellRange, sheet);
RegionUtil.setBorderLeft(BorderStyle.THIN, cellRange, sheet);
RegionUtil.setBorderRight(BorderStyle.THIN, cellRange, sheet);
}
rowNum = createTotalRow(sheet, rowNum, listScrap, totalCostScrap, headerStyle);
/** /**
* 减免费用明细 * 减免费用明细
*/ */
@ -713,34 +713,6 @@ public class PoiOutPage {
} }
rowNum = createTotalRow(sheet, rowNum, listRepair, totalCostRepair, headerStyle); rowNum = createTotalRow(sheet, rowNum, listRepair, totalCostRepair, headerStyle);
/**
* 报废费用明细
*/
// 填充标题行
rowNum = createTitleRowStyleCost(sheet, rowNum, "报废费用明细", titleStyle, listScrap.size());
// 填充表头
rowNum = createHeaderRow(sheet, rowNum, listScrap, headerStyle);
// 填充数据行
if (resultScrap!= null &&!resultScrap.isEmpty()) {
rowNum = createDataRows(sheet, rowNum, resultScrap, contentStyle, listScrap.size());
} else {
// 如果没有数据则仅显示表头
// rowNum++;
// rowNum = createDataRows(sheet, rowNum, resultScrap, contentStyle, listScrap.size());
HSSFRow row = sheet.createRow(rowNum++);
HSSFCell cell = row.createCell(0);
cell.setCellStyle(headerStyle);
cell.setCellValue("暂无数据");
sheet.addMergedRegion(new CellRangeAddress(rowNum - 1, rowNum - 1, 0, (short) (listScrap.size() - 1)));
CellRangeAddress cellRange = new CellRangeAddress(rowNum - 1, rowNum - 1, 0, (short) (listScrap.size() - 1));
// 设置边框样式
RegionUtil.setBorderTop(BorderStyle.THIN, cellRange, sheet);
RegionUtil.setBorderBottom(BorderStyle.THIN, cellRange, sheet);
RegionUtil.setBorderLeft(BorderStyle.THIN, cellRange, sheet);
RegionUtil.setBorderRight(BorderStyle.THIN, cellRange, sheet);
}
rowNum = createTotalRow(sheet, rowNum, listScrap, totalCostScrap, headerStyle);
/** /**
* 丢失费用明细 * 丢失费用明细
*/ */
@ -769,6 +741,34 @@ public class PoiOutPage {
} }
rowNum = createTotalRow(sheet, rowNum, listLose, totalCostLose, headerStyle); rowNum = createTotalRow(sheet, rowNum, listLose, totalCostLose, headerStyle);
/**
* 报废费用明细
*/
// 填充标题行
rowNum = createTitleRowStyleCost(sheet, rowNum, "报废费用明细", titleStyle, listScrap.size());
// 填充表头
rowNum = createHeaderRow(sheet, rowNum, listScrap, headerStyle);
// 填充数据行
if (resultScrap!= null &&!resultScrap.isEmpty()) {
rowNum = createDataRows(sheet, rowNum, resultScrap, contentStyle, listScrap.size());
} else {
// 如果没有数据则仅显示表头
// rowNum++;
// rowNum = createDataRows(sheet, rowNum, resultScrap, contentStyle, listScrap.size());
HSSFRow row = sheet.createRow(rowNum++);
HSSFCell cell = row.createCell(0);
cell.setCellStyle(headerStyle);
cell.setCellValue("暂无数据");
sheet.addMergedRegion(new CellRangeAddress(rowNum - 1, rowNum - 1, 0, (short) (listScrap.size() - 1)));
CellRangeAddress cellRange = new CellRangeAddress(rowNum - 1, rowNum - 1, 0, (short) (listScrap.size() - 1));
// 设置边框样式
RegionUtil.setBorderTop(BorderStyle.THIN, cellRange, sheet);
RegionUtil.setBorderBottom(BorderStyle.THIN, cellRange, sheet);
RegionUtil.setBorderLeft(BorderStyle.THIN, cellRange, sheet);
RegionUtil.setBorderRight(BorderStyle.THIN, cellRange, sheet);
}
rowNum = createTotalRow(sheet, rowNum, listScrap, totalCostScrap, headerStyle);
/** /**
* 减免费用明细 * 减免费用明细
*/ */

View File

@ -336,47 +336,42 @@ public class SltAgreementInfoController extends BaseController {
private void expOutExcelAll(HttpServletResponse response, List<SltLeaseInfo> lease,List<SltLeaseInfo> lose,List<SltLeaseInfo> repair,List<SltLeaseInfo> scrap,List<SltLeaseInfo> reduction, private void expOutExcelAll(HttpServletResponse response, List<SltLeaseInfo> lease,List<SltLeaseInfo> lose,List<SltLeaseInfo> repair,List<SltLeaseInfo> scrap,List<SltLeaseInfo> reduction,
String filename,String projectName,String unitName,BigDecimal totalCostLease,BigDecimal totalCostLose,BigDecimal totalCostRepair,BigDecimal totalCostScrap,BigDecimal totalCostReduction) String filename,String projectName,String unitName,BigDecimal totalCostLease,BigDecimal totalCostLose,BigDecimal totalCostRepair,BigDecimal totalCostScrap,BigDecimal totalCostReduction)
throws Exception { throws Exception {
List<Map<String, Object>> resultsLease = new ArrayList<Map<String, Object>>(); List<Map<String, Object>> resultsLease = new ArrayList<>();
List<Map<String, Object>> resultsLose = new ArrayList<Map<String, Object>>(); List<Map<String, Object>> resultsLose = new ArrayList<>();
List<Map<String, Object>> resultsRepair = new ArrayList<Map<String, Object>>(); List<Map<String, Object>> resultsRepair = new ArrayList<>();
List<Map<String, Object>> resultsScrap = new ArrayList<Map<String, Object>>(); List<Map<String, Object>> resultsScrap = new ArrayList<>();
List<Map<String, Object>> resultsReduction = new ArrayList<Map<String, Object>>(); List<Map<String, Object>> resultsReduction = new ArrayList<>();
if (lease!= null) { if (lease!= null) {
int sizeLease = lease.size(); int sizeLease = lease.size();
for (int i = 0; i < sizeLease; i++) { for (SltLeaseInfo bean : lease) {
SltLeaseInfo bean = lease.get(i);
Map<String, Object> maps = outReceiveDetailsBeanToMap(bean, 1, 1); Map<String, Object> maps = outReceiveDetailsBeanToMap(bean, 1, 1);
resultsLease.add(maps); resultsLease.add(maps);
} }
} }
if (lose!= null) { if (lose!= null) {
int sizeLose = lose.size(); int sizeLose = lose.size();
for (int i = 0; i < sizeLose; i++) { for (SltLeaseInfo bean : lose) {
SltLeaseInfo bean = lose.get(i);
Map<String, Object> maps = outReceiveDetailsBeanToMap(bean, 2, 1); Map<String, Object> maps = outReceiveDetailsBeanToMap(bean, 2, 1);
resultsLose.add(maps); resultsLose.add(maps);
} }
} }
if (repair!= null) { if (repair!= null) {
int sizeRepair = repair.size(); int sizeRepair = repair.size();
for (int i = 0; i < sizeRepair; i++) { for (SltLeaseInfo bean : repair) {
SltLeaseInfo bean = repair.get(i);
Map<String, Object> maps = outReceiveDetailsBeanToMap(bean, 3, 1); Map<String, Object> maps = outReceiveDetailsBeanToMap(bean, 3, 1);
resultsRepair.add(maps); resultsRepair.add(maps);
} }
} }
if (scrap!= null) { if (scrap!= null) {
int sizeScrap = scrap.size(); int sizeScrap = scrap.size();
for (int i = 0; i < sizeScrap; i++) { for (SltLeaseInfo bean : scrap) {
SltLeaseInfo bean = scrap.get(i);
Map<String, Object> maps = outReceiveDetailsBeanToMap(bean, 4, 1); Map<String, Object> maps = outReceiveDetailsBeanToMap(bean, 4, 1);
resultsScrap.add(maps); resultsScrap.add(maps);
} }
} }
if (reduction!= null) { if (reduction!= null) {
int sizeReduction = reduction.size(); int sizeReduction = reduction.size();
for (int i = 0; i < sizeReduction; i++) { for (SltLeaseInfo bean : reduction) {
SltLeaseInfo bean = reduction.get(i);
Map<String, Object> maps = outReceiveDetailsBeanToMap(bean, 5, 1); Map<String, Object> maps = outReceiveDetailsBeanToMap(bean, 5, 1);
resultsReduction.add(maps); resultsReduction.add(maps);
} }