From 77d60c1520b63deaae7cde8919a1335271fcb11f Mon Sep 17 00:00:00 2001 From: hanbo <2608504783@qq.com> Date: Fri, 26 Nov 2021 15:02:52 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E4=BA=BA=E5=91=98?= =?UTF-8?q?=E6=96=B0=E5=A2=9E=E6=8A=A5=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cn/palmte/work/controller/backend/AccountController.java | 4 ++-- src/main/resources/templates/admin/account_input.ftl | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/main/java/cn/palmte/work/controller/backend/AccountController.java b/src/main/java/cn/palmte/work/controller/backend/AccountController.java index 49f931b..aba1695 100644 --- a/src/main/java/cn/palmte/work/controller/backend/AccountController.java +++ b/src/main/java/cn/palmte/work/controller/backend/AccountController.java @@ -139,8 +139,8 @@ public class AccountController extends BaseController { accountService.saveOrUpdateAccount(userId, admin.getRoleId(), admin, privateKey); } catch (Exception e) { - logger.error("保存账号出错!" + e.toString()); - return "新增账号出错!请联系管理员处理!"; + model.put("errorMessage", "保存账号出错!请联系管理员处理"); + return "/common/error"; } return "redirect:/account/list"; } diff --git a/src/main/resources/templates/admin/account_input.ftl b/src/main/resources/templates/admin/account_input.ftl index d10a2aa..6de4ed8 100644 --- a/src/main/resources/templates/admin/account_input.ftl +++ b/src/main/resources/templates/admin/account_input.ftl @@ -129,7 +129,7 @@ readonly + minlength="1" maxlength="10" <#if userId!=-1>readonly required placeholder="请输入直接主管"/>
From 1c3d2ca9440d3a043045895d4779102715bcde33 Mon Sep 17 00:00:00 2001 From: hanbo <2608504783@qq.com> Date: Fri, 26 Nov 2021 15:57:12 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E5=86=B3=E7=AE=97=E5=88=A9=E6=B6=A6?= =?UTF-8?q?=E7=8E=87=E4=BF=9D=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/palmte/work/bean/FinalBean.java | 26 +++++++++-- .../work/model/ProjectFinalProfitMargin.java | 44 +++++++++++++++++++ .../work/service/ProjectFinalSevice.java | 41 +++++++++++++++++ .../templates/admin/project_final_edit.ftl | 2 +- 4 files changed, 109 insertions(+), 4 deletions(-) diff --git a/src/main/java/cn/palmte/work/bean/FinalBean.java b/src/main/java/cn/palmte/work/bean/FinalBean.java index 6dc8338..666afe3 100644 --- a/src/main/java/cn/palmte/work/bean/FinalBean.java +++ b/src/main/java/cn/palmte/work/bean/FinalBean.java @@ -1,6 +1,7 @@ package cn.palmte.work.bean; import java.math.BigDecimal; +import java.math.RoundingMode; public class FinalBean { @@ -154,7 +155,13 @@ public class FinalBean { private BigDecimal grossProfitProfitMargin; public BigDecimal getGrossProfitProfitMargin() { - return grossProfitProfitMargin; + BigDecimal grossProfitFinalTotal = getGrossProfitFinalTotal(); + BigDecimal incomeTotal = getIncomeTotal(); + + if(null == grossProfitFinalTotal || null == incomeTotal){ + return null; + } + return grossProfitFinalTotal.divide(incomeTotal,4, RoundingMode.HALF_UP).multiply(new BigDecimal(100)); } public void setGrossProfitProfitMargin(BigDecimal grossProfitProfitMargin) { @@ -186,7 +193,14 @@ public class FinalBean { private BigDecimal contributionMarginProfitMargin; public BigDecimal getContributionMarginProfitMargin() { - return contributionMarginProfitMargin; + BigDecimal contributionMarginFinalTotal = getContributionMarginFinalTotal(); + BigDecimal incomeTotal = getIncomeTotal(); + + if(null == contributionMarginFinalTotal || null == incomeTotal){ + return null; + } + + return contributionMarginFinalTotal.divide(incomeTotal,4, RoundingMode.HALF_UP).multiply(new BigDecimal(100)); } public void setContributionMarginProfitMargin(BigDecimal contributionMarginProfitMargin) { @@ -217,7 +231,13 @@ public class FinalBean { private BigDecimal netMarginProfitMargin; public BigDecimal getNetMarginProfitMargin() { - return netMarginProfitMargin; + BigDecimal netMarginFinalTotal = getNetMarginFinalTotal(); + BigDecimal incomeTotal = getIncomeTotal(); + + if(null == netMarginFinalTotal || null == incomeTotal){ + return null; + } + return netMarginFinalTotal.divide(incomeTotal,4, RoundingMode.HALF_UP).multiply(new BigDecimal(100)); } public void setNetMarginProfitMargin(BigDecimal netMarginProfitMargin) { diff --git a/src/main/java/cn/palmte/work/model/ProjectFinalProfitMargin.java b/src/main/java/cn/palmte/work/model/ProjectFinalProfitMargin.java index 62b545e..d1ad7a9 100644 --- a/src/main/java/cn/palmte/work/model/ProjectFinalProfitMargin.java +++ b/src/main/java/cn/palmte/work/model/ProjectFinalProfitMargin.java @@ -53,6 +53,20 @@ public class ProjectFinalProfitMargin { @Column(name = "final_total_profit_margin") private BigDecimal finalTotalProfitMargin; + /** + * 利润率 + */ + @Column(name = "profit_margin") + private BigDecimal profitMargin; + + public BigDecimal getProfitMargin() { + return profitMargin; + } + + public void setProfitMargin(BigDecimal profitMargin) { + this.profitMargin = profitMargin; + } + public Integer getId() { return id; } @@ -77,5 +91,35 @@ public class ProjectFinalProfitMargin { this.type = type; } + public BigDecimal getEstimateTotalProfitMargin() { + return estimateTotalProfitMargin; + } + public void setEstimateTotalProfitMargin(BigDecimal estimateTotalProfitMargin) { + this.estimateTotalProfitMargin = estimateTotalProfitMargin; + } + + public BigDecimal getBudgetTotalProfitMargin() { + return budgetTotalProfitMargin; + } + + public void setBudgetTotalProfitMargin(BigDecimal budgetTotalProfitMargin) { + this.budgetTotalProfitMargin = budgetTotalProfitMargin; + } + + public BigDecimal getSettleTotalProfitMargin() { + return settleTotalProfitMargin; + } + + public void setSettleTotalProfitMargin(BigDecimal settleTotalProfitMargin) { + this.settleTotalProfitMargin = settleTotalProfitMargin; + } + + public BigDecimal getFinalTotalProfitMargin() { + return finalTotalProfitMargin; + } + + public void setFinalTotalProfitMargin(BigDecimal finalTotalProfitMargin) { + this.finalTotalProfitMargin = finalTotalProfitMargin; + } } \ No newline at end of file diff --git a/src/main/java/cn/palmte/work/service/ProjectFinalSevice.java b/src/main/java/cn/palmte/work/service/ProjectFinalSevice.java index 21ceaeb..0adcfa4 100644 --- a/src/main/java/cn/palmte/work/service/ProjectFinalSevice.java +++ b/src/main/java/cn/palmte/work/service/ProjectFinalSevice.java @@ -55,6 +55,9 @@ public class ProjectFinalSevice { @Autowired private ProjectSettleService projectSettleService; + @Autowired + private ProjectFinalProfitMarginRepository projectFinalProfitMarginRepository; + @Transactional public void save(Project project, FinalBean finalBean) { //预算表数据 @@ -76,6 +79,9 @@ public class ProjectFinalSevice { //保存项目结算管理成本信息 saveProjectFinalCostManage(project,finalBean,estimate,budget,settle); + //保存项目决算利润率 + saveProjectFinalProfitMargin(project,finalBean,estimate,budget,settle); + //保存项目结算现金流量信息 saveProjectFinalCashFlux(project,finalBean,cashFlowBean,settle); @@ -103,6 +109,9 @@ public class ProjectFinalSevice { //保存项目结算管理成本信息 saveProjectFinalCostManage(project,finalBean,estimate,budget,settle); + //保存项目决算利润率 + saveProjectFinalProfitMargin(project,finalBean,estimate,budget,settle); + //保存项目结算现金流量信息 saveProjectFinalCashFlux(project,finalBean,cashFlowBean,settle); @@ -113,6 +122,38 @@ public class ProjectFinalSevice { } + private void saveProjectFinalProfitMargin(Project project, FinalBean finalBean, EstimateBean estimate, BudgetBean budget, FormerBean settle) { + ProjectFinalProfitMargin typeGrossProfit = new ProjectFinalProfitMargin(); + typeGrossProfit.setProjectId(project.getId()); + typeGrossProfit.setType(ProjectFinalProfitMargin.TYPE_GROSS_PROFIT); + typeGrossProfit.setEstimateTotalProfitMargin(estimate.getProjectGrossProfit()); + typeGrossProfit.setBudgetTotalProfitMargin(budget.getProjectGrossProfit()); + typeGrossProfit.setSettleTotalProfitMargin(settle.getGrossProfit()); + typeGrossProfit.setFinalTotalProfitMargin(finalBean.getGrossProfitFinalTotal()); + typeGrossProfit.setProfitMargin(finalBean.getGrossProfitProfitMargin()); + projectFinalProfitMarginRepository.saveAndFlush(typeGrossProfit); + + + ProjectFinalProfitMargin typeContributionMargin = new ProjectFinalProfitMargin(); + typeContributionMargin.setProjectId(project.getId()); + typeContributionMargin.setType(ProjectFinalProfitMargin.TYPE_CONTRIBUTION_MARGIN); + typeContributionMargin.setEstimateTotalProfitMargin(estimate.getProjectContributionProfit()); + typeContributionMargin.setBudgetTotalProfitMargin(budget.getProjectContributionProfit()); + typeContributionMargin.setSettleTotalProfitMargin(settle.getContributionProfit()); + typeContributionMargin.setFinalTotalProfitMargin(finalBean.getContributionMarginFinalTotal()); + typeContributionMargin.setProfitMargin(finalBean.getContributionMarginProfitMargin()); + projectFinalProfitMarginRepository.saveAndFlush(typeContributionMargin); + + ProjectFinalProfitMargin typeNetMargin = new ProjectFinalProfitMargin(); + typeNetMargin.setProjectId(project.getId()); + typeNetMargin.setType(ProjectFinalProfitMargin.TYPE_NET_MARGIN); + typeNetMargin.setSettleTotalProfitMargin(settle.getNetProfit()); + typeNetMargin.setFinalTotalProfitMargin(finalBean.getNetMarginFinalTotal()); + typeNetMargin.setProfitMargin(finalBean.getNetMarginProfitMargin()); + projectFinalProfitMarginRepository.saveAndFlush(typeNetMargin); + + } + public void saveProjectFinalCostManage(Project project, FinalBean finalBean,EstimateBean estimate,BudgetBean budget,FormerBean settle){ ProjectFinalCostManage expropriationManage = new ProjectFinalCostManage(); expropriationManage.setProjectId(project.getId()); diff --git a/src/main/resources/templates/admin/project_final_edit.ftl b/src/main/resources/templates/admin/project_final_edit.ftl index bf0e8a7..5525dd8 100644 --- a/src/main/resources/templates/admin/project_final_edit.ftl +++ b/src/main/resources/templates/admin/project_final_edit.ftl @@ -232,7 +232,7 @@ 项目净利润 / - + /<#----> From 5d765d1a6492e8d956139a6ef469fb95d0181a3e Mon Sep 17 00:00:00 2001 From: xxssyyyyssxx Date: Fri, 26 Nov 2021 16:20:07 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=95=B0=E5=AD=97=E6=9C=80=E5=A4=A79999999?= =?UTF-8?q?999.99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../static/assets/js/project_budget_cost.js | 2 +- .../js/project_budget_cost_project_manage.js | 2 +- .../static/assets/js/project_budget_income.js | 2 +- .../static/assets/js/project_budget_plan.js | 12 +++--- .../templates/admin/project_budget_edit.ftl | 24 +++++------ .../templates/admin/project_estimate_add.ftl | 36 ++++++++-------- .../templates/admin/project_estimate_edit.ftl | 42 +++++++++---------- 7 files changed, 60 insertions(+), 60 deletions(-) diff --git a/src/main/resources/static/assets/js/project_budget_cost.js b/src/main/resources/static/assets/js/project_budget_cost.js index 9414740..884c1df 100644 --- a/src/main/resources/static/assets/js/project_budget_cost.js +++ b/src/main/resources/static/assets/js/project_budget_cost.js @@ -126,7 +126,7 @@ function appendTrCost() { ''+ ''+ ''+ - ''+ + ''+ ''+ ''+ ''+ diff --git a/src/main/resources/static/assets/js/project_budget_cost_project_manage.js b/src/main/resources/static/assets/js/project_budget_cost_project_manage.js index 992503d..9447993 100644 --- a/src/main/resources/static/assets/js/project_budget_cost_project_manage.js +++ b/src/main/resources/static/assets/js/project_budget_cost_project_manage.js @@ -39,7 +39,7 @@ function appendTrCostProjectManage() { ' \n' + ' \n' + ' \n' + - ' \n' + + ' \n' + ' \n' + ' \n' + ' \n' + diff --git a/src/main/resources/static/assets/js/project_budget_income.js b/src/main/resources/static/assets/js/project_budget_income.js index fdcc029..1b462e1 100644 --- a/src/main/resources/static/assets/js/project_budget_income.js +++ b/src/main/resources/static/assets/js/project_budget_income.js @@ -80,7 +80,7 @@ function appendTrIncome() { ' \n' + ' \n' + ' \n' + - ' \n' + + ' \n' + ' \n' + ' \n' + ' \n' + diff --git a/src/main/resources/static/assets/js/project_budget_plan.js b/src/main/resources/static/assets/js/project_budget_plan.js index 5b455e2..25b333d 100644 --- a/src/main/resources/static/assets/js/project_budget_plan.js +++ b/src/main/resources/static/assets/js/project_budget_plan.js @@ -93,13 +93,13 @@ function verifyBudgetPlan(){ function appendTrBudgetPlan() { var template = '\n' + ' \n' + - ' \n' + - ' \n' + - ' \n' + - ' \n' + + ' \n' + + ' \n' + + ' \n' + + ' \n' + ' \n' + - ' \n' + - ' \n' + + ' \n' + + ' \n' + ' \n' + ' \n' + ' \n' + diff --git a/src/main/resources/templates/admin/project_budget_edit.ftl b/src/main/resources/templates/admin/project_budget_edit.ftl index d91c222..2b06eea 100644 --- a/src/main/resources/templates/admin/project_budget_edit.ftl +++ b/src/main/resources/templates/admin/project_budget_edit.ftl @@ -283,8 +283,8 @@ 成本 其他 其他 - - + + 合计 @@ -312,7 +312,7 @@ 公司管理费用 - + @@ -443,7 +443,7 @@ - + @@ -511,7 +511,7 @@ - + @@ -565,7 +565,7 @@ - + @@ -631,13 +631,13 @@ <#list projectBudgetPlanDetails as projectBudgetPlanDetail> - - - - + + + + - - + + diff --git a/src/main/resources/templates/admin/project_estimate_add.ftl b/src/main/resources/templates/admin/project_estimate_add.ftl index cd7a453..924cb73 100644 --- a/src/main/resources/templates/admin/project_estimate_add.ftl +++ b/src/main/resources/templates/admin/project_estimate_add.ftl @@ -188,20 +188,20 @@ 收入 设备类 - - + + 收入 工程类 - - + + 收入 服务类 - - + + 合计 @@ -225,43 +225,43 @@ 成本 采购成本 设备 - + 成本 采购成本 施工 - - + + 成本 采购成本 服务 - - + + 成本 采购成本 其他 - - + + 成本 项目管理成本 项目管理成本 - + 成本 其他 其他 - - + + 合计 @@ -283,12 +283,12 @@ 财务费用 资金占用成本 - + 公司管理费用 - + diff --git a/src/main/resources/templates/admin/project_estimate_edit.ftl b/src/main/resources/templates/admin/project_estimate_edit.ftl index d59e3fc..74bc52e 100644 --- a/src/main/resources/templates/admin/project_estimate_edit.ftl +++ b/src/main/resources/templates/admin/project_estimate_edit.ftl @@ -188,26 +188,26 @@ 收入 设备类 - - + + 收入 工程类 - - + + 收入 服务类 - - + + 合计 - - + + @@ -225,43 +225,43 @@ 成本 采购成本 设备 - - + + 成本 采购成本 施工 - - + + 成本 采购成本 服务 - - + + 成本 采购成本 其他 - - + + 成本 项目管理成本 项目管理成本 - + 成本 其他 其他 - - + + 合计 @@ -283,12 +283,12 @@ 财务费用 资金占用成本 - + 公司管理费用 - +