From 24d7a8a8a2d63e683f2e0a6e838510368898e60c Mon Sep 17 00:00:00 2001 From: OathK1per Date: Fri, 19 Aug 2022 16:45:10 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=BC=E5=87=BA=E8=A1=A8=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/backend/ProjectController.java | 2 +- .../work/utils/excel/ExportExcelUtils.java | 2 +- .../utils/excel/ExportFinalExcelUtils.java | 26 +++++++++ .../utils/excel/ExportSettleExcelUtils.java | 53 ++++++++++++++----- .../templates/admin/monthly_settle_info.ftl | 2 + .../templates/admin/monthly_settle_list.ftl | 6 ++- .../templates/admin/project_approve.ftl | 2 +- .../templates/admin/project_budget_edit.ftl | 2 +- 8 files changed, 78 insertions(+), 17 deletions(-) diff --git a/src/main/java/cn/palmte/work/controller/backend/ProjectController.java b/src/main/java/cn/palmte/work/controller/backend/ProjectController.java index 291e914..54e8743 100644 --- a/src/main/java/cn/palmte/work/controller/backend/ProjectController.java +++ b/src/main/java/cn/palmte/work/controller/backend/ProjectController.java @@ -204,7 +204,7 @@ public class ProjectController extends BaseController { //项目管理成本明细 List budgetCostProjectManageDetail = projectBudgetService.getBudgetCostProjectManageDetail(project); Integer costProjectManageTotalAmount = projectBudgetService.getBudgetCostProjectManageAmount(project); - String[] headers4 = {"序号", "财务费用类别", "业务项目", "项目明细", "单位", "数量", "单价", "总金额(元)", "预估计算防范", "预估依据", "备注"}; + String[] headers4 = {"序号", "财务费用类别", "业务项目", "项目明细", "单位", "数量", "单价", "总金额(元)", "预估计算方法", "预估依据", "备注"}; String[] columns4 = {"tempId", "type", "name", "detail", "unit", "amount", "price", "total", "predictMethod", "predictWhy", "remark"}; exportExcelUtils.exportCostManageDetailExcel(headers4, columns4, project, budgetBean, budgetCostProjectManageDetail, costProjectManageTotalAmount, "yyyy-MM-dd", 0, "项目管理成本表", outputStream); //资金计划明细 diff --git a/src/main/java/cn/palmte/work/utils/excel/ExportExcelUtils.java b/src/main/java/cn/palmte/work/utils/excel/ExportExcelUtils.java index 38f132c..a76a5ad 100644 --- a/src/main/java/cn/palmte/work/utils/excel/ExportExcelUtils.java +++ b/src/main/java/cn/palmte/work/utils/excel/ExportExcelUtils.java @@ -551,7 +551,7 @@ public class ExportExcelUtils { Cell remarkCell = row.createCell(0); remarkCell.setCellStyle(style); remarkCell.setCellType(CellType.STRING); - remarkCell.setCellValue("(备注:财务记取以不含税方式核算)"); + remarkCell.setCellValue("(备注:财务计取以不含税方式核算)"); return index; } diff --git a/src/main/java/cn/palmte/work/utils/excel/ExportFinalExcelUtils.java b/src/main/java/cn/palmte/work/utils/excel/ExportFinalExcelUtils.java index a429c07..4aea71a 100644 --- a/src/main/java/cn/palmte/work/utils/excel/ExportFinalExcelUtils.java +++ b/src/main/java/cn/palmte/work/utils/excel/ExportFinalExcelUtils.java @@ -422,6 +422,7 @@ public class ExportFinalExcelUtils { createExpropriationRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2); createCompanyManageRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2); createCostIncomeTaxRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2); + createTotalCostManageRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2); return index; } @@ -521,6 +522,31 @@ public class ExportFinalExcelUtils { fifthCell.setCellValue(Utils.format(finalBean.getCostIncomeTaxFinalTotal())); } + + private void createTotalCostManageRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, SettleBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style2) { + Row row = sheet.createRow(index); + Cell firstCell = row.createCell(0); + firstCell.setCellStyle(style2); + firstCell.setCellType(CellType.STRING); + firstCell.setCellValue("合计"); + Cell secondCell = row.createCell(1); + secondCell.setCellStyle(style2); + secondCell.setCellType(CellType.STRING); + secondCell.setCellValue(""); + Cell thirdCell = row.createCell(2); + thirdCell.setCellStyle(style2); + thirdCell.setCellType(CellType.NUMERIC); + thirdCell.setCellValue(Utils.format(budgetBean.getCostExpropriationTaxExclude().add(budgetBean.getCostCompanyManageTaxExclude()))); + Cell fourthCell = row.createCell(3); + fourthCell.setCellStyle(style2); + fourthCell.setCellType(CellType.NUMERIC); + fourthCell.setCellValue(Utils.format(settleBean.getCostManageTotal())); + Cell fifthCell = row.createCell(4); + fifthCell.setCellStyle(style2); + fifthCell.setCellType(CellType.NUMERIC); + fifthCell.setCellValue(Utils.format(finalBean.getCostManageTotal())); + } + private int createProfitRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean settleBean, FinalBean finalBean, XSSFSheet sheet, int index, CellStyle style, CellStyle style2) { createSubTitleProfitRow(sheet, index++, style); createGrossProfitRow(budgetBean, cashFlowBean, settleBean, finalBean, sheet, index++, style2); diff --git a/src/main/java/cn/palmte/work/utils/excel/ExportSettleExcelUtils.java b/src/main/java/cn/palmte/work/utils/excel/ExportSettleExcelUtils.java index b32cb97..1b0e83f 100644 --- a/src/main/java/cn/palmte/work/utils/excel/ExportSettleExcelUtils.java +++ b/src/main/java/cn/palmte/work/utils/excel/ExportSettleExcelUtils.java @@ -478,6 +478,7 @@ public class ExportSettleExcelUtils { createExpropriationRow(budgetBean, cashFlowBean, formerBean, settleBean, currentBean, sheet, index++, style2); createCompanyManageRow(budgetBean, cashFlowBean, formerBean, settleBean, currentBean, sheet, index++, style2); createCostIncomeTaxRow(budgetBean, cashFlowBean, formerBean, settleBean, currentBean, sheet, index++, style2); + createTotalCostManageRow(budgetBean, cashFlowBean, formerBean, settleBean, currentBean, sheet, index++, style2); return index; } @@ -593,6 +594,34 @@ public class ExportSettleExcelUtils { sixthCell.setCellValue(Utils.format(currentBean.getCostIncomeTax())); } + private void createTotalCostManageRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean formerBean, SettleBean settleBean, FormerBean currentBean, XSSFSheet sheet, int index, CellStyle style2) { + Row row = sheet.createRow(index); + Cell firstCell = row.createCell(0); + firstCell.setCellStyle(style2); + firstCell.setCellType(CellType.STRING); + firstCell.setCellValue("合计"); + Cell secondCell = row.createCell(1); + secondCell.setCellStyle(style2); + secondCell.setCellType(CellType.STRING); + secondCell.setCellValue(""); + Cell thirdCell = row.createCell(2); + thirdCell.setCellStyle(style2); + thirdCell.setCellType(CellType.NUMERIC); + thirdCell.setCellValue(Utils.format(budgetBean.getCostExpropriationTaxExclude().add(budgetBean.getCostCompanyManageTaxExclude()))); + Cell fourthCell = row.createCell(3); + fourthCell.setCellStyle(style2); + fourthCell.setCellType(CellType.NUMERIC); + fourthCell.setCellValue(Utils.format(formerBean.getCostManageTotal())); + Cell fifthCell = row.createCell(4); + fifthCell.setCellStyle(style2); + fifthCell.setCellType(CellType.NUMERIC); + fifthCell.setCellValue(Utils.format(settleBean.getCostManageTotal())); + Cell sixthCell = row.createCell(5); + sixthCell.setCellStyle(style2); + sixthCell.setCellType(CellType.NUMERIC); + sixthCell.setCellValue(Utils.format(currentBean.getCostManageTotal())); + } + private int createProfitRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean formerBean, SettleBean settleBean, FormerBean currentBean, XSSFSheet sheet, int index, CellStyle style, CellStyle style2) { createSubTitleProfitRow(sheet, index++, style); createGrossProfitRow(budgetBean, cashFlowBean, formerBean, settleBean, currentBean, sheet, index++, style2); @@ -656,12 +685,12 @@ public class ExportSettleExcelUtils { Cell sixthCell = row.createCell(5); sixthCell.setCellStyle(style2); sixthCell.setCellType(CellType.NUMERIC); -// if (currentBean.getIncomeTotalTaxExclude().abs().compareTo(BigDecimal.valueOf(0.01)) > 0) { -// -// } else { -// -// } - sixthCell.setCellValue(Utils.format(currentBean.getGrossProfitMargin())); + if (currentBean.getIncomeTotalTaxExclude().abs().compareTo(BigDecimal.valueOf(0.01)) > 0) { + sixthCell.setCellValue(Utils.format(currentBean.getGrossProfit().multiply(new BigDecimal(100)).divide(currentBean.getIncomeTotalTaxExclude()))); + } else { + sixthCell.setCellValue(Utils.format(currentBean.getGrossProfit().multiply(new BigDecimal(100)))); + } +// Utils.format(currentBean.getGrossProfit().multiply(new BigDecimal(100)).divide(currentBean.getIncomeTotalTaxExclude())); } // private void createGrossProfitMarginRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean formerBean, SettleBean settleBean, FormerBean currentBean, XSSFSheet sheet, int index, CellStyle style2) { @@ -701,12 +730,12 @@ public class ExportSettleExcelUtils { Cell sixthCell = row.createCell(5); sixthCell.setCellStyle(style2); sixthCell.setCellType(CellType.NUMERIC); -// if (currentBean.getIncomeTotalTaxExclude().abs().compareTo(BigDecimal.valueOf(0.01)) > 0) { -// -// } else { -// -// } - sixthCell.setCellValue(Utils.format(currentBean.getContributionProfitMargin())); + if (currentBean.getIncomeTotalTaxExclude().abs().compareTo(BigDecimal.valueOf(0.01)) > 0) { + sixthCell.setCellValue(Utils.format(currentBean.getContributionProfit().multiply(new BigDecimal(100)).divide(currentBean.getIncomeTotalTaxExclude()))); + } else { + sixthCell.setCellValue(Utils.format(currentBean.getContributionProfit().multiply(new BigDecimal(100)))); + } +// sixthCell.setCellValue(Utils.format(currentBean.getContributionProfitMargin())); } // private void createContributionProfitRateRow(BudgetBean budgetBean, CashFlowBean cashFlowBean, FormerBean formerBean, SettleBean settleBean, FormerBean currentBean, XSSFSheet sheet, int index, CellStyle style2) { diff --git a/src/main/resources/templates/admin/monthly_settle_info.ftl b/src/main/resources/templates/admin/monthly_settle_info.ftl index 0a72d6b..893da9a 100644 --- a/src/main/resources/templates/admin/monthly_settle_info.ftl +++ b/src/main/resources/templates/admin/monthly_settle_info.ftl @@ -354,7 +354,9 @@
+ <@shiro.hasPermission name="MONTHLY_SETTLE_EXPORT"> +
diff --git a/src/main/resources/templates/admin/monthly_settle_list.ftl b/src/main/resources/templates/admin/monthly_settle_list.ftl index a1c820d..4850281 100644 --- a/src/main/resources/templates/admin/monthly_settle_list.ftl +++ b/src/main/resources/templates/admin/monthly_settle_list.ftl @@ -125,10 +125,12 @@
+ F + <@shiro.hasPermission name="MONTHLY_SETTLE_EXPORT"> +
@@ -139,6 +141,7 @@
+ <@shiro.hasPermission name="MONTHLY_SETTLE_IMPORT">
+
diff --git a/src/main/resources/templates/admin/project_approve.ftl b/src/main/resources/templates/admin/project_approve.ftl index d014c96..b6f06ad 100644 --- a/src/main/resources/templates/admin/project_approve.ftl +++ b/src/main/resources/templates/admin/project_approve.ftl @@ -1306,7 +1306,7 @@ required readonly title="公司管理费用不含税总额"> - (备注:财务记取以不含税方式核算) + (备注:财务计取以不含税方式核算) 利润率计算 diff --git a/src/main/resources/templates/admin/project_budget_edit.ftl b/src/main/resources/templates/admin/project_budget_edit.ftl index 38bf354..466e017 100644 --- a/src/main/resources/templates/admin/project_budget_edit.ftl +++ b/src/main/resources/templates/admin/project_budget_edit.ftl @@ -1090,7 +1090,7 @@ - (备注:财务记取以不含税方式核算) + (备注:财务计取以不含税方式核算) 利润率计算