From 3fb00e7fed2c8ece7ac5faf4b685996c7131418d Mon Sep 17 00:00:00 2001 From: OathK1per Date: Fri, 4 Nov 2022 15:48:33 +0800 Subject: [PATCH] =?UTF-8?q?=E6=95=B0=E9=87=8F=E6=94=AF=E6=8C=81=E5=B0=8F?= =?UTF-8?q?=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../work/controller/backend/ProjectController.java | 12 ++++++------ .../work/model/ProjectBudgetCostDetailBase.java | 8 ++++---- .../model/ProjectBudgetCostDetailRepository.java | 2 +- .../ProjectBudgetCostProjectManageDetailBase.java | 8 ++++---- ...ojectBudgetCostProjectManageDetailRepository.java | 2 +- .../work/model/ProjectBudgetIncomeDetailBase.java | 8 ++++---- .../model/ProjectBudgetIncomeDetailRepository.java | 3 ++- .../cn/palmte/work/service/ProjectBudgetService.java | 12 ++++++------ .../cn/palmte/work/utils/excel/ExportExcelUtils.java | 12 ++++++------ 9 files changed, 34 insertions(+), 33 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 deaa5f3..437fb31 100644 --- a/src/main/java/cn/palmte/work/controller/backend/ProjectController.java +++ b/src/main/java/cn/palmte/work/controller/backend/ProjectController.java @@ -180,7 +180,7 @@ public class ProjectController extends BaseController { } //收入明细 List budgetIncomeDetail = projectBudgetService.getBudgetIncomeDetail(project); - Integer incomeTotalAmount = projectBudgetService.getBudgetIncomeAmount(project); + BigDecimal incomeTotalAmount = projectBudgetService.getBudgetIncomeAmount(project); Set rates = new HashSet<>(); StringBuilder incomeTaxSb = new StringBuilder(); String incomeTaxRates; @@ -206,7 +206,7 @@ public class ProjectController extends BaseController { exportExcelUtils.exportIncomePlanDetailExcel(headers6, columns6, project, budgetBean, budgetIncomePlanDetail, incomePlanTotalReceiveAmount, "yyyy-MM-dd", 0, "收款计划表", outputStream); //成本明细 List budgetCostDetail = projectBudgetService.getBudgetCostDetail(project); - Integer costTotalAmount = projectBudgetService.getBudgetCostAmount(project); + BigDecimal costTotalAmount = projectBudgetService.getBudgetCostAmount(project); BigDecimal costUnderwrittenAmountTotal = projectBudgetService.getBudgetCostUnderwrittenAmountTotal(project); BigDecimal costPayAmountTotal = projectBudgetService.getBudgetCostPayAmountTotal(project); List procurementTypes = procurementTypeService.allProcurementTypeList(); @@ -230,7 +230,7 @@ public class ProjectController extends BaseController { exportExcelUtils.exportCostDetailExcel(headers3, columns3, project, budgetBean, budgetCostDetail, costTotalAmount, costUnderwrittenAmountTotal, costPayAmountTotal, procurementMap, "yyyy-MM-dd", 0, "采购成本明细表", outputStream); //项目管理成本明细 List budgetCostProjectManageDetail = projectBudgetService.getBudgetCostProjectManageDetail(project); - Integer costProjectManageTotalAmount = projectBudgetService.getBudgetCostProjectManageAmount(project); + BigDecimal costProjectManageTotalAmount = projectBudgetService.getBudgetCostProjectManageAmount(project); BigDecimal managePayAmountTotal = projectBudgetService.getBudgetCostProjectManagePayAmount(project); String[] headers4 = {"序号", "财务费用类别", "业务项目", "项目明细", "单位", "数量", "单价", "总金额(元)", "支出时间", "支出金额(元)", "预估计算方法", "预估依据", "备注"}; String[] columns4 = {"tempId", "type", "name", "detail", "unit", "amount", "price", "total", "payTime", "payAmount", "predictMethod", "predictWhy", "remark"}; @@ -1164,7 +1164,7 @@ public class ProjectController extends BaseController { BudgetBean budgetBean = projectBudgetService.getBudget(project); //收入明细 List budgetIncomeDetail = projectBudgetService.getBudgetIncomeDetail(project); - Integer incomeTotalAmount = projectBudgetService.getBudgetIncomeAmount(project); + BigDecimal incomeTotalAmount = projectBudgetService.getBudgetIncomeAmount(project); String[] headers2 = {"序号", "类别", "名称", "单位", "数量", "单价", "税率(%)", "含税总金额(元)", "不含税金额(元)", "税金(元)"}; String[] columns2 = {"tempId", "type", "name", "unit", "amount", "price", "taxRate", "totalTaxInclude", "totalTaxExclude", "totalTax"}; exportExcelUtils.exportIncomeDetailExcel(headers2, columns2, project, budgetBean, budgetIncomeDetail, incomeTotalAmount, "yyyy-MM-dd", 0, "收入明细表", outputStream); @@ -1208,7 +1208,7 @@ public class ProjectController extends BaseController { BudgetBean budgetBean = projectBudgetService.getBudget(project); //成本明细 List budgetCostDetail = projectBudgetService.getBudgetCostDetail(project); - Integer costTotalAmount = projectBudgetService.getBudgetCostAmount(project); + BigDecimal costTotalAmount = projectBudgetService.getBudgetCostAmount(project); BigDecimal costUnderwrittenAmountTotal = projectBudgetService.getBudgetCostUnderwrittenAmountTotal(project); BigDecimal costPayAmountTotal = projectBudgetService.getBudgetCostPayAmountTotal(project); List procurementTypes = procurementTypeService.allProcurementTypeList(); @@ -1234,7 +1234,7 @@ public class ProjectController extends BaseController { BudgetBean budgetBean = projectBudgetService.getBudget(project); //项目管理成本明细 List budgetCostProjectManageDetail = projectBudgetService.getBudgetCostProjectManageDetail(project); - Integer costProjectManageTotalAmount = projectBudgetService.getBudgetCostProjectManageAmount(project); + BigDecimal costProjectManageTotalAmount = projectBudgetService.getBudgetCostProjectManageAmount(project); BigDecimal managePayAmountTotal = projectBudgetService.getBudgetCostProjectManagePayAmount(project); String[] headers4 = {"序号", "财务费用类别", "业务项目", "项目明细", "单位", "数量", "单价", "总金额(元)", "支出时间", "支出金额(元)", "预估计算方法", "预估依据", "备注"}; String[] columns4 = {"tempId", "type", "name", "detail", "unit", "amount", "price", "total", "payTime", "payAmount", "predictMethod", "predictWhy", "remark"}; diff --git a/src/main/java/cn/palmte/work/model/ProjectBudgetCostDetailBase.java b/src/main/java/cn/palmte/work/model/ProjectBudgetCostDetailBase.java index 0d9f47a..39012b2 100644 --- a/src/main/java/cn/palmte/work/model/ProjectBudgetCostDetailBase.java +++ b/src/main/java/cn/palmte/work/model/ProjectBudgetCostDetailBase.java @@ -30,7 +30,7 @@ public class ProjectBudgetCostDetailBase { private String name; private String unit; - private int amount; + private BigDecimal amount; private BigDecimal price; @Column(name = "tax_rate") @@ -106,11 +106,11 @@ public class ProjectBudgetCostDetailBase { this.unit = unit; } - public int getAmount() { + public BigDecimal getAmount() { return amount; } - public void setAmount(int amount) { + public void setAmount(BigDecimal amount) { this.amount = amount; } @@ -190,7 +190,7 @@ public class ProjectBudgetCostDetailBase { if(null == price){ return null; } - return price.multiply(new BigDecimal(amount)); + return price.multiply(amount); } public BigDecimal getTotalTaxExclude(){ BigDecimal totalTaxInclude = getTotalTaxInclude(); diff --git a/src/main/java/cn/palmte/work/model/ProjectBudgetCostDetailRepository.java b/src/main/java/cn/palmte/work/model/ProjectBudgetCostDetailRepository.java index 9e02d9f..bbf03b8 100644 --- a/src/main/java/cn/palmte/work/model/ProjectBudgetCostDetailRepository.java +++ b/src/main/java/cn/palmte/work/model/ProjectBudgetCostDetailRepository.java @@ -10,7 +10,7 @@ public interface ProjectBudgetCostDetailRepository extends JpaRepository findAllByProjectIdEquals(int id); @Query(value = "select sum(amount) from project_budget_cost_detail where project_id = ?1", nativeQuery = true) - Integer findAmountByProject(int projectId); + BigDecimal findAmountByProject(int projectId); @Query(value = "select sum(pay_amount) from project_budget_cost_detail where project_id = ?1", nativeQuery = true) BigDecimal findPayAmountByProject(int id); diff --git a/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailBase.java b/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailBase.java index dc91ba5..23d4364 100644 --- a/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailBase.java +++ b/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailBase.java @@ -29,7 +29,7 @@ public class ProjectBudgetCostProjectManageDetailBase { private String detail; private String unit; - private int amount; + private BigDecimal amount; private BigDecimal price; @Column(name = "pay_time") @@ -96,11 +96,11 @@ public class ProjectBudgetCostProjectManageDetailBase { this.unit = unit; } - public int getAmount() { + public BigDecimal getAmount() { return amount; } - public void setAmount(int amount) { + public void setAmount(BigDecimal amount) { this.amount = amount; } @@ -164,7 +164,7 @@ public class ProjectBudgetCostProjectManageDetailBase { if(null == price){ return null; } - return price.multiply(new BigDecimal(amount)); + return price.multiply(amount); } public int getDeletable() { diff --git a/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailRepository.java b/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailRepository.java index 078ab44..7c24b54 100644 --- a/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailRepository.java +++ b/src/main/java/cn/palmte/work/model/ProjectBudgetCostProjectManageDetailRepository.java @@ -10,7 +10,7 @@ public interface ProjectBudgetCostProjectManageDetailRepository extends JpaRepos List findAllByProjectIdEquals(int id); @Query(value = "select sum(amount) from project_budget_cost_project_manage_detail where project_id = ?1", nativeQuery = true) - Integer findAmountByProject(int id); + BigDecimal findAmountByProject(int id); @Query(value = "select sum(pay_amount) from project_budget_cost_project_manage_detail where project_id = ?1", nativeQuery = true) BigDecimal findPayAmountByProject(int id); diff --git a/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetailBase.java b/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetailBase.java index 9f2d73b..b8890e8 100644 --- a/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetailBase.java +++ b/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetailBase.java @@ -27,7 +27,7 @@ public class ProjectBudgetIncomeDetailBase { private String name; private String unit; - private int amount; + private BigDecimal amount; private BigDecimal price; @Column(name = "tax_rate") @@ -73,11 +73,11 @@ public class ProjectBudgetIncomeDetailBase { this.unit = unit; } - public int getAmount() { + public BigDecimal getAmount() { return amount; } - public void setAmount(int amount) { + public void setAmount(BigDecimal amount) { this.amount = amount; } @@ -101,7 +101,7 @@ public class ProjectBudgetIncomeDetailBase { if(null == price){ return null; } - return price.multiply(new BigDecimal(amount)); + return price.multiply(amount); } public BigDecimal getTotalTaxExclude(){ BigDecimal totalTaxInclude = getTotalTaxInclude(); diff --git a/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetailRepository.java b/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetailRepository.java index 8d9d848..bc0a426 100644 --- a/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetailRepository.java +++ b/src/main/java/cn/palmte/work/model/ProjectBudgetIncomeDetailRepository.java @@ -3,11 +3,12 @@ package cn.palmte.work.model; import org.springframework.data.jpa.repository.JpaRepository; import org.springframework.data.jpa.repository.Query; +import java.math.BigDecimal; import java.util.List; public interface ProjectBudgetIncomeDetailRepository extends JpaRepository { List findAllByProjectIdEquals(int id); @Query(value = "select sum(amount) from project_budget_income_detail where project_id = ?1", nativeQuery = true) - Integer findAmountByProject(int projectId); + BigDecimal findAmountByProject(int projectId); } diff --git a/src/main/java/cn/palmte/work/service/ProjectBudgetService.java b/src/main/java/cn/palmte/work/service/ProjectBudgetService.java index 9147704..abbecbb 100644 --- a/src/main/java/cn/palmte/work/service/ProjectBudgetService.java +++ b/src/main/java/cn/palmte/work/service/ProjectBudgetService.java @@ -391,7 +391,7 @@ public class ProjectBudgetService { /** * 获取项目的收入总数量 */ - public Integer getBudgetIncomeAmount(Project project){ + public BigDecimal getBudgetIncomeAmount(Project project){ return projectBudgetIncomeDetailRepository.findAmountByProject(project.getId()); } @@ -500,7 +500,7 @@ public class ProjectBudgetService { /** * 获取项目的成本总数量 */ - public Integer getBudgetCostAmount(Project project){ + public BigDecimal getBudgetCostAmount(Project project){ return projectBudgetCostDetailRepository.findAmountByProject(project.getId()); } /** @@ -571,7 +571,7 @@ public class ProjectBudgetService { /** * 获取项目的项目管理总数量 */ - public Integer getBudgetCostProjectManageAmount(Project project){ + public BigDecimal getBudgetCostProjectManageAmount(Project project){ return projectBudgetCostProjectManageDetailRepository.findAmountByProject(project.getId()); } /** @@ -588,7 +588,7 @@ public class ProjectBudgetService { detail.setType(Integer.parseInt(split[0])); detail.setName(split[1]); detail.setPrice(new BigDecimal(0)); - detail.setAmount(0); + detail.setAmount(new BigDecimal(0)); detail.setDeletable(0); projectManageDetails.add(detail); } @@ -1027,7 +1027,7 @@ public class ProjectBudgetService { key = "数量"; o1 = m.get(key); if (o1 != null) { - temp.setAmount(Integer.parseInt((String) o1)); + temp.setAmount(new BigDecimal((String) o1)); } key = "单价"; o1 = m.get(key); @@ -1126,7 +1126,7 @@ public class ProjectBudgetService { key = "数量"; o1 = m.get(key); if (o1 != null) { - temp.setAmount(Integer.parseInt((String) o1)); + temp.setAmount(new BigDecimal((String) o1)); } key = "单价"; o1 = m.get(key); 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 fc07610..b167cf4 100644 --- a/src/main/java/cn/palmte/work/utils/excel/ExportExcelUtils.java +++ b/src/main/java/cn/palmte/work/utils/excel/ExportExcelUtils.java @@ -974,7 +974,7 @@ public class ExportExcelUtils { out.close(); } - public void exportIncomeDetailExcel(String[] headers, String[] columns, Project project, BudgetBean budgetBean, List budgetIncomeDetail, Integer incomeTotalAmount, String pattern, int rowIndex, String sheetName, ServletOutputStream outputStream) { + public void exportIncomeDetailExcel(String[] headers, String[] columns, Project project, BudgetBean budgetBean, List budgetIncomeDetail, BigDecimal incomeTotalAmount, String pattern, int rowIndex, String sheetName, ServletOutputStream outputStream) { // 遍历集合数据,产生数据行 int index = rowIndex; XSSFSheet sheet = workbook.createSheet(sheetName); @@ -1042,7 +1042,7 @@ public class ExportExcelUtils { totalCell.setCellValue("总计"); } else if (i == 4) { totalCell.setCellType(CellType.NUMERIC); - totalCell.setCellValue((incomeTotalAmount == null) ? 0 : incomeTotalAmount); + totalCell.setCellValue(Utils.format(incomeTotalAmount)); } else if (i == 7) { totalCell.setCellType(CellType.NUMERIC); totalCell.setCellValue(Utils.format(budgetBean.getIncomeTotalTaxInclude())); @@ -1128,7 +1128,7 @@ public class ExportExcelUtils { } } - public void exportCostDetailExcel(String[] headers, String[] columns, Project project, BudgetBean budgetBean, List budgetCostDetail, Integer costTotalAmount, BigDecimal costUnderwrittenAmountTotal, BigDecimal costPayAmountTotal, Map procurementMap, String pattern, int rowIndex, String sheetName, ServletOutputStream outputStream) { + public void exportCostDetailExcel(String[] headers, String[] columns, Project project, BudgetBean budgetBean, List budgetCostDetail, BigDecimal costTotalAmount, BigDecimal costUnderwrittenAmountTotal, BigDecimal costPayAmountTotal, Map procurementMap, String pattern, int rowIndex, String sheetName, ServletOutputStream outputStream) { // 遍历集合数据,产生数据行 int index = rowIndex; XSSFSheet sheet = workbook.createSheet(sheetName); @@ -1208,7 +1208,7 @@ public class ExportExcelUtils { totalCell.setCellValue("总计"); } else if (i == 5) { totalCell.setCellType(CellType.NUMERIC); - totalCell.setCellValue((costTotalAmount == null) ? 0 : costTotalAmount); + totalCell.setCellValue(Utils.format(costTotalAmount)); } else if (i == 8) { totalCell.setCellType(CellType.NUMERIC); totalCell.setCellValue(Utils.format(budgetBean.getCostPurchaseTotalTaxInclude())); @@ -1231,7 +1231,7 @@ public class ExportExcelUtils { } } - public void exportCostManageDetailExcel(String[] headers, String[] columns, Project project, BudgetBean budgetBean, List budgetCostProjectManageDetail, Integer costProjectManageTotalAmount, BigDecimal managePayAmountTotal, String pattern, int rowIndex, String sheetName, ServletOutputStream outputStream) { + public void exportCostManageDetailExcel(String[] headers, String[] columns, Project project, BudgetBean budgetBean, List budgetCostProjectManageDetail, BigDecimal costProjectManageTotalAmount, BigDecimal managePayAmountTotal, String pattern, int rowIndex, String sheetName, ServletOutputStream outputStream) { // 遍历集合数据,产生数据行 int index = rowIndex; XSSFSheet sheet = workbook.createSheet(sheetName); @@ -1301,7 +1301,7 @@ public class ExportExcelUtils { totalCell.setCellValue("总计"); } else if (i == 5) { totalCell.setCellType(CellType.NUMERIC); - totalCell.setCellValue((costProjectManageTotalAmount == null) ? 0 : costProjectManageTotalAmount); + totalCell.setCellValue(Utils.format(costProjectManageTotalAmount)); } else if (i == 7) { totalCell.setCellType(CellType.NUMERIC); totalCell.setCellValue(Utils.format(budgetBean.getCostProjectManageTaxExclude()));