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 3f520b8..8c1292a 100644 --- a/src/main/java/cn/palmte/work/controller/backend/ProjectController.java +++ b/src/main/java/cn/palmte/work/controller/backend/ProjectController.java @@ -1105,6 +1105,43 @@ public class ProjectController extends BaseController { } } + /** + * 概算主页面导出 + */ + @RequestMapping("/estimateMainExport") + public void estimateMainExport(HttpServletResponse response, @RequestParam int id) throws Exception{ + Project project = projectService.findById(id); + response.setHeader("Content-Disposition", "attachment;filename=".concat(new String((Utils.generateExcelName(project.getName() + "-项目立项(概算)基本信息")).getBytes(), StandardCharsets.ISO_8859_1))); + response.setHeader("Connection", "close"); + response.setHeader("Content-Type", "application/vnd.ms-excel"); + ServletOutputStream outputStream = response.getOutputStream(); + ExportExcelUtils exportExcelUtils = new ExportExcelUtils(); + String[] headers0 = {"部门名称", "项目编号", "项目名称", "项目类型", "项目计划开始时间", "项目计划结束时间", "垫资模式", "合作对象", "垫资利息", "垫资峰值", "合同金额", "项目毛利", "项目毛利率", "华智产品金额", "汇智产品金额", "华三产品金额", "其他产品金额", "项目把握度", "行业场景应用", "项目解决方案", "客户名称", "最终用户名称", "价值及风险"}; + String[] columns0 = {"deptName", "projectNo", "name", "typeDesc", "startDate", "endDate", "underwrittenModeStr", "collaborator", "advanceInterestAmountRound", "advancePeakAmountRound", "contractRound", "grossProfitRound", "grossProfitMarginRound", "huazhiRound", "huizhiRound", "huasanRound", "ziguangRound", "certaintyStr", "industryScenario", "resolvePlanStr", "customer", "terminalCustomer", "valueRisk"}; + exportExcelUtils.exportProjectExcel(headers0, columns0, project, "yyyy-MM-dd", 0, "项目立项(概算)基本信息", outputStream); + + exportExcelUtils.end(outputStream); + } + + /** + * 概算副页面导出 + */ + @RequestMapping("/estimateSecondExport") + public void estimateSecondExport(HttpServletResponse response, @RequestParam int id) throws Exception{ + Project project = projectService.findById(id); + response.setHeader("Content-Disposition", "attachment;filename=".concat(new String((Utils.generateExcelName(project.getName() + "-项目立项(概算)其他信息")).getBytes(), StandardCharsets.ISO_8859_1))); + response.setHeader("Connection", "close"); + response.setHeader("Content-Type", "application/vnd.ms-excel"); + ServletOutputStream outputStream = response.getOutputStream(); + ExportExcelUtils exportExcelUtils = new ExportExcelUtils(); + String[] headers1 = {"项目负责人", "预计合同签订时间", "项目计划招标时间", "是否二次合作", "直签", "主合同收款条款", "主合同具体解决方案", "计收计划"}; + String[] columns1 = {"principal", "contractTime", "bidsTime", "isSecondStr", "signTypeStr", "mainContractCollectionTerms", "mainContractResolvePlan", "calculationCollection"}; + exportExcelUtils.exportProjectExcel(headers1, columns1, project, "yyyy-MM-dd", 0, "项目立项(概算)其他信息", outputStream); + BudgetBean budgetBean = projectBudgetService.getBudget(project); + + exportExcelUtils.end(outputStream); + } + /** * 收入导出 */ @@ -1219,4 +1256,100 @@ public class ProjectController extends BaseController { exportExcelUtils.end(outputStream); } + + /** + * 预算页面导出 + */ + @RequestMapping("/budgetExport") + public void budgetExport(HttpServletResponse response, @RequestParam int id) throws Exception{ + Project project = projectService.findById(id); + response.setHeader("Content-Disposition", "attachment;filename=".concat(new String((Utils.generateExcelName(project.getName() + "-预算信息")).getBytes(), StandardCharsets.ISO_8859_1))); + response.setHeader("Connection", "close"); + response.setHeader("Content-Type", "application/vnd.ms-excel"); + ServletOutputStream outputStream = response.getOutputStream(); + ExportExcelUtils exportExcelUtils = new ExportExcelUtils(); + + List budgetIncomeDetail = projectBudgetService.getBudgetIncomeDetail(project); + Set rates = new HashSet<>(); + StringBuilder incomeTaxSb = new StringBuilder(); + String incomeTaxRates; + for (ProjectBudgetIncomeDetail projectBudgetIncomeDetail : budgetIncomeDetail) { + if (!rates.contains(projectBudgetIncomeDetail.getTaxRate().toPlainString())) { + incomeTaxSb.append(projectBudgetIncomeDetail.getTaxRate().toPlainString()).append("%,"); + rates.add(projectBudgetIncomeDetail.getTaxRate().toPlainString()); + } + } + if (incomeTaxSb.lastIndexOf(",") > 0 && incomeTaxSb.lastIndexOf(",") == incomeTaxSb.length() - 1) { + incomeTaxRates = incomeTaxSb.substring(0, incomeTaxSb.length() - 1); + } else { + incomeTaxRates = incomeTaxSb.toString(); + } + + List budgetCostDetail = projectBudgetService.getBudgetCostDetail(project); + Set rates2 = new HashSet<>(); + StringBuilder costTaxSb = new StringBuilder(); + String costTaxRates; + for (ProjectBudgetCostDetail projectBudgetCostDetail : budgetCostDetail) { + if (!rates2.contains(projectBudgetCostDetail.getTaxRate().toPlainString())) { + costTaxSb.append(projectBudgetCostDetail.getTaxRate().toPlainString()).append("%,"); + rates2.add(projectBudgetCostDetail.getTaxRate().toPlainString()); + } + } + if (costTaxSb.lastIndexOf(",") > 0 && costTaxSb.lastIndexOf(",") == costTaxSb.length() - 1) { + costTaxRates = costTaxSb.substring(0, costTaxSb.length() - 1); + } else { + costTaxRates = costTaxSb.toString(); + } + List projectBudgetPlanDetails = projectBudgetService.getProjectBudgetPlanDetails(project); + BudgetBean budgetBean = projectBudgetService.getBudget(project); + CashFlowBean cashFlowBean = projectBudgetService.getCashFlowBean(project, projectBudgetPlanDetails); + exportExcelUtils.exportBudgetExcel(budgetBean, cashFlowBean, 0, "项目预算信息", outputStream, project.getOtherName(), incomeTaxRates, costTaxRates); + + exportExcelUtils.end(outputStream); + } + + /** + * 结算页面导出 + */ + @RequestMapping("/settleExport") + public void settleExport(HttpServletResponse response, @RequestParam int id, @RequestParam String time) throws Exception{ + Project project = projectService.findById(id); + response.setHeader("Content-Disposition", "attachment;filename=".concat(new String((Utils.generateExcelName(project.getName() + "-项目结算信息")).getBytes(), StandardCharsets.ISO_8859_1))); + response.setHeader("Connection", "close"); + response.setHeader("Content-Type", "application/vnd.ms-excel"); + ServletOutputStream outputStream = response.getOutputStream(); + ExportExcelUtils exportExcelUtils = new ExportExcelUtils(); + + List projectBudgetPlanDetails = projectBudgetService.getProjectBudgetPlanDetails(project); + CashFlowBean cashFlowBean = projectBudgetService.getCashFlowBean(project, projectBudgetPlanDetails); + BudgetBean budgetBean = projectBudgetService.getBudget(project); + SettleBean settleBean = projectSettleService.getMonthSettle(project, time); + FormerBean formerBean = projectSettleService.getFormerSettle(project, time); + FormerBean currentBean = projectSettleService.getCurrentSettleBytime(project, time); + exportExcelUtils.exportSettleExcel(budgetBean, cashFlowBean, formerBean, settleBean, currentBean, 0, "项目结算信息" + time, outputStream, project.getOtherName()); + + exportExcelUtils.end(outputStream); + } + + /** + * 决算页面导出 + */ + @RequestMapping("/finalExport") + public void finalExport(HttpServletResponse response, @RequestParam int id) throws Exception{ + Project project = projectService.findById(id); + response.setHeader("Content-Disposition", "attachment;filename=".concat(new String((Utils.generateExcelName(project.getName() + "-项目决算信息")).getBytes(), StandardCharsets.ISO_8859_1))); + response.setHeader("Connection", "close"); + response.setHeader("Content-Type", "application/vnd.ms-excel"); + ServletOutputStream outputStream = response.getOutputStream(); + ExportExcelUtils exportExcelUtils = new ExportExcelUtils(); + + List projectBudgetPlanDetails = projectBudgetService.getProjectBudgetPlanDetails(project); + CashFlowBean cashFlowBean = projectBudgetService.getCashFlowBean(project, projectBudgetPlanDetails); + BudgetBean budgetBean = projectBudgetService.getBudget(project); + FinalBean finalBean = projectFinalSevice.getFinal(project); + FormerBean settleBean = projectSettleService.getCurrentSettle(project, ""); + exportExcelUtils.exportFinalExcel(budgetBean, cashFlowBean, settleBean, finalBean, 0, "项目决算信息", outputStream, project.getOtherName()); + + exportExcelUtils.end(outputStream); + } } diff --git a/src/main/resources/templates/admin/project_approve.ftl b/src/main/resources/templates/admin/project_approve.ftl index b3f0cfa..241a951 100644 --- a/src/main/resources/templates/admin/project_approve.ftl +++ b/src/main/resources/templates/admin/project_approve.ftl @@ -137,7 +137,15 @@ - +
+
+
+ +
+
+
@@ -397,6 +405,15 @@
+
+
+
+ +
+
+
@@ -1238,6 +1255,15 @@ 项目管理成本表 资金计划表-->
+
+
+
+ +
+
+
<#if (project.status==5 || project.status==10 || project.status==15) && project.approveStatusBudget == 1>
@@ -1589,6 +1615,15 @@


+
+
+
+ +
+
+
收入 @@ -1952,6 +1987,15 @@
+
+
+
+ +
+
+
收入