diff --git a/src/main/java/cn/palmte/work/bean/FinalBean.java b/src/main/java/cn/palmte/work/bean/FinalBean.java index b3bc1a9..1f25154 100644 --- a/src/main/java/cn/palmte/work/bean/FinalBean.java +++ b/src/main/java/cn/palmte/work/bean/FinalBean.java @@ -21,26 +21,40 @@ public class FinalBean { */ private BigDecimal incomeServiceFinalTotal; + /** + * 获取所有收入决算总额 + * + * @return + */ + public BigDecimal getIncomeTotal() { + BigDecimal incomeDeviceFinalTotal = getIncomeDeviceFinalTotal(); + BigDecimal incomeEngineerFinalTotal = getIncomeEngineerFinalTotal(); + BigDecimal incomeServiceFinalTotal = getIncomeServiceFinalTotal(); + if (null == incomeDeviceFinalTotal || null == incomeEngineerFinalTotal || null == incomeServiceFinalTotal) { + return new BigDecimal(0); + } + return incomeDeviceFinalTotal.add(incomeEngineerFinalTotal).add(incomeServiceFinalTotal); + } //========================成本表================================ /** - *设备采购成本决算总额 + * 设备采购成本决算总额 */ private BigDecimal costPurchaseDeviceFinalTotal; /** - *施工采购成本决算总额 + * 施工采购成本决算总额 */ private BigDecimal costPurchaseBuildFinalTotal; /** - *服务采购成本决算总额 + * 服务采购成本决算总额 */ private BigDecimal costPurchaseServiceFinalTotal; /** - *其他采购成本决算总额 + * 其他采购成本决算总额 */ private BigDecimal costPurchaseOtherFinalTotal; @@ -54,6 +68,28 @@ public class FinalBean { */ private BigDecimal costOtherFinalTotal; + /** + * 获取所有成本决算总额 + * + * @return + */ + public BigDecimal getCostTotal() { + BigDecimal costPurchaseDeviceFinalTotal = getCostPurchaseDeviceFinalTotal(); + BigDecimal costPurchaseBuildFinalTotal = getCostPurchaseBuildFinalTotal(); + BigDecimal costPurchaseServiceFinalTotal = getCostPurchaseServiceFinalTotal(); + BigDecimal costPurchaseOtherFinalTotal = getCostPurchaseOtherFinalTotal(); + BigDecimal costProjectManageFinalTotal = getCostProjectManageFinalTotal(); + BigDecimal costOtherFinalTotal = getCostOtherFinalTotal(); + + if (null == costPurchaseDeviceFinalTotal || null == costPurchaseBuildFinalTotal || null == costPurchaseServiceFinalTotal + || null == costPurchaseOtherFinalTotal || null == costProjectManageFinalTotal || null == costOtherFinalTotal) { + return new BigDecimal(0); + } + + return costPurchaseDeviceFinalTotal.add(costPurchaseBuildFinalTotal).add(costPurchaseServiceFinalTotal) + .add(costPurchaseOtherFinalTotal).add(costProjectManageFinalTotal).add(costOtherFinalTotal); + } + //========================管理表================================ @@ -72,6 +108,23 @@ public class FinalBean { */ private BigDecimal costIncomeTaxFinalTotal; + /** + * 获取所有管理成本决算总额 + * + * @return + */ + public BigDecimal getCostManageTotal() { + BigDecimal costExpropriationFinalTotal = getCostExpropriationFinalTotal(); + BigDecimal costCompanyManageFinalTotal = getCostCompanyManageFinalTotal(); + BigDecimal costIncomeTaxFinalTotal = getCostIncomeTaxFinalTotal(); + + if (null == costExpropriationFinalTotal || null == costCompanyManageFinalTotal || null == costIncomeTaxFinalTotal) { + return new BigDecimal(0); + } + + return costExpropriationFinalTotal.add(costCompanyManageFinalTotal).add(costIncomeTaxFinalTotal); + } + //========================利润率计算表================================ @@ -109,11 +162,11 @@ public class FinalBean { /** * a销售商品、提供劳务收到的现金 - * */ + */ private BigDecimal saleIncomeCash; /** * b收到的税费返还 - * */ + */ private BigDecimal taxReturn; /** * c其他与经营活动有关的现金【保证金收入】 @@ -128,7 +181,7 @@ public class FinalBean { */ private BigDecimal taxCost; /** - *f支付其他与经营活动有关的现金 + * f支付其他与经营活动有关的现金 */ private BigDecimal earnestMoneyCost; /** @@ -157,7 +210,7 @@ public class FinalBean { */ private BigDecimal financingCapitalOutflow; /** - *m筹资活动产生的现金流量净额 + * m筹资活动产生的现金流量净额 * m=k-l */ private BigDecimal financingCapitalCashflow; @@ -167,6 +220,39 @@ public class FinalBean { */ private BigDecimal netIncreaseMonetaryFunds; + /** + * 获取所有现金流量决算总额 + * @return + */ + public BigDecimal getCashFluxTotal() { + BigDecimal saleIncomeCash = getSaleIncomeCash(); + BigDecimal taxReturn = getTaxReturn(); + BigDecimal earnestMoneyIncome = getEarnestMoneyIncome(); + BigDecimal purchaseCost = getPurchaseCost(); + BigDecimal taxCost = getTaxCost(); + BigDecimal earnestMoneyCost = getEarnestMoneyCost(); + BigDecimal netCashFlow = getNetCashFlow(); + BigDecimal cashInflowFromInvestingActivities = getCashInflowFromInvestingActivities(); + BigDecimal cashOutflowFromInvestingActivities = getCashOutflowFromInvestingActivities(); + BigDecimal netCashFromInvestingActivities = getNetCashFromInvestingActivities(); + BigDecimal financingCapitalInflow = getFinancingCapitalInflow(); + BigDecimal financingCapitalOutflow = getFinancingCapitalOutflow(); + BigDecimal financingCapitalCashflow = getFinancingCapitalCashflow(); + BigDecimal netIncreaseMonetaryFunds = getNetIncreaseMonetaryFunds(); + + if (null == saleIncomeCash || null == taxReturn || null == earnestMoneyIncome || null == purchaseCost || null == taxCost + || null == earnestMoneyCost || null == netCashFlow || null == cashInflowFromInvestingActivities || + null == cashOutflowFromInvestingActivities || null == netCashFromInvestingActivities || + null == financingCapitalInflow || null == financingCapitalOutflow || null == financingCapitalCashflow || null == netIncreaseMonetaryFunds) { + return new BigDecimal(0); + } + + return saleIncomeCash.add(taxReturn).add(earnestMoneyIncome).add(purchaseCost).add(taxCost).add(earnestMoneyCost) + .add(netCashFlow).add(cashInflowFromInvestingActivities).add(cashOutflowFromInvestingActivities).add(netCashFromInvestingActivities) + .add(financingCapitalInflow).add(financingCapitalOutflow).add(financingCapitalCashflow).add(netIncreaseMonetaryFunds); + } + + public BigDecimal getIncomeDeviceFinalTotal() { return incomeDeviceFinalTotal; } 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 b5e2625..d1aa33a 100644 --- a/src/main/java/cn/palmte/work/controller/backend/ProjectController.java +++ b/src/main/java/cn/palmte/work/controller/backend/ProjectController.java @@ -2,6 +2,10 @@ package cn.palmte.work.controller.backend; import cn.palmte.work.bean.*; import cn.palmte.work.model.*; +import cn.palmte.work.service.ProjectBudgetService; +import cn.palmte.work.service.ProjectEstimateService; +import cn.palmte.work.service.ProjectFinalSevice; +import cn.palmte.work.service.ProjectService; import cn.palmte.work.service.*; import cn.palmte.work.utils.FreeMarkerUtil; import cn.palmte.work.utils.InterfaceUtil; @@ -49,6 +53,8 @@ public class ProjectController extends BaseController { private ActProcInsService actProcInsService; @Autowired private ProjectInstanceRelationRepository projectInstanceRelationRepository; + @Autowired + private ProjectFinalSevice projectFinalSevice; /** * 项目列表 @@ -331,7 +337,7 @@ public class ProjectController extends BaseController { model.put("underwrittenPlanStatistic", projectBudgetService.getProjectUnderwrittenPlanStatisticBean(projectBudgetPlanDetails)); //现金表 model.put("cashFlowBean", projectBudgetService.getCashFlowBean(project, projectBudgetPlanDetails)); - model.put("finalBean", new FinalBean()); + model.put("finalBean", projectFinalSevice.getFinal(project)); //freemarker可以利用的静态方法 model.put("Utils", FreeMarkerUtil.fromStaticPackage("cn.palmte.work.utils.Utils")); List list = projectTaskRecordService.list(id); @@ -369,7 +375,7 @@ public class ProjectController extends BaseController { model.put("underwrittenPlanStatistic", projectBudgetService.getProjectUnderwrittenPlanStatisticBean(projectBudgetPlanDetails)); //现金表 model.put("cashFlowBean", projectBudgetService.getCashFlowBean(project, projectBudgetPlanDetails)); - model.put("finalBean", new FinalBean()); + model.put("finalBean", projectFinalSevice.getFinal(project)); //freemarker可以利用的静态方法 model.put("Utils", FreeMarkerUtil.fromStaticPackage("cn.palmte.work.utils.Utils")); return "admin/project_approve"; diff --git a/src/main/java/cn/palmte/work/controller/backend/ProjectFinalController.java b/src/main/java/cn/palmte/work/controller/backend/ProjectFinalController.java index a013930..48441d8 100644 --- a/src/main/java/cn/palmte/work/controller/backend/ProjectFinalController.java +++ b/src/main/java/cn/palmte/work/controller/backend/ProjectFinalController.java @@ -52,9 +52,9 @@ public class ProjectFinalController extends BaseController{ } @RequestMapping("/save") - public void estimateAddSave(Project project, FinalBean finalBean, Map model) { + public String estimateAddSave(Project project, FinalBean finalBean, Map model) { projectFinalSevice.save(project,finalBean); - + return "redirect:/project/list"; } } diff --git a/src/main/java/cn/palmte/work/model/ProjectFinalCashFluxRepository.java b/src/main/java/cn/palmte/work/model/ProjectFinalCashFluxRepository.java index 684891a..68055e7 100644 --- a/src/main/java/cn/palmte/work/model/ProjectFinalCashFluxRepository.java +++ b/src/main/java/cn/palmte/work/model/ProjectFinalCashFluxRepository.java @@ -2,6 +2,10 @@ package cn.palmte.work.model; import org.springframework.data.jpa.repository.JpaRepository; +import java.util.List; + public interface ProjectFinalCashFluxRepository extends JpaRepository { + List findByProjectIdEquals(int id); + } diff --git a/src/main/java/cn/palmte/work/model/ProjectFinalCostManageRepository.java b/src/main/java/cn/palmte/work/model/ProjectFinalCostManageRepository.java index cee64f2..0f9d41e 100644 --- a/src/main/java/cn/palmte/work/model/ProjectFinalCostManageRepository.java +++ b/src/main/java/cn/palmte/work/model/ProjectFinalCostManageRepository.java @@ -2,6 +2,10 @@ package cn.palmte.work.model; import org.springframework.data.jpa.repository.JpaRepository; +import java.util.List; + public interface ProjectFinalCostManageRepository extends JpaRepository { + List findByProjectIdEquals(int id); + } diff --git a/src/main/java/cn/palmte/work/model/ProjectFinalCostRepository.java b/src/main/java/cn/palmte/work/model/ProjectFinalCostRepository.java index 99da84c..3357106 100644 --- a/src/main/java/cn/palmte/work/model/ProjectFinalCostRepository.java +++ b/src/main/java/cn/palmte/work/model/ProjectFinalCostRepository.java @@ -2,6 +2,10 @@ package cn.palmte.work.model; import org.springframework.data.jpa.repository.JpaRepository; +import java.util.List; + public interface ProjectFinalCostRepository extends JpaRepository { + List findByProjectIdEquals(int id); + } diff --git a/src/main/java/cn/palmte/work/model/ProjectFinalIncomeReposiry.java b/src/main/java/cn/palmte/work/model/ProjectFinalIncomeReposiry.java index 509ca31..55517d9 100644 --- a/src/main/java/cn/palmte/work/model/ProjectFinalIncomeReposiry.java +++ b/src/main/java/cn/palmte/work/model/ProjectFinalIncomeReposiry.java @@ -2,6 +2,8 @@ package cn.palmte.work.model; import org.springframework.data.jpa.repository.JpaRepository; -public interface ProjectFinalIncomeReposiry extends JpaRepository { +import java.util.List; +public interface ProjectFinalIncomeReposiry extends JpaRepository { + List findByProjectIdEquals(int id); } diff --git a/src/main/java/cn/palmte/work/service/ProjectFinalSevice.java b/src/main/java/cn/palmte/work/service/ProjectFinalSevice.java index 85980b6..ecb1aa4 100644 --- a/src/main/java/cn/palmte/work/service/ProjectFinalSevice.java +++ b/src/main/java/cn/palmte/work/service/ProjectFinalSevice.java @@ -7,6 +7,8 @@ import cn.palmte.work.bean.FinalBean; import cn.palmte.work.model.*; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import top.jfunc.common.utils.CollectionUtil; import java.math.BigDecimal; import java.util.ArrayList; @@ -33,6 +35,7 @@ public class ProjectFinalSevice { @Autowired private ProjectBudgetService projectBudgetService; + @Transactional public void save(Project project, FinalBean finalBean) { //预算表数据 EstimateBean estimate = projectEstimateService.getEstimate(project); @@ -185,7 +188,7 @@ public class ProjectFinalSevice { projectFinalCashFlux1.setBudgetTotalCashFlux(cashFlowBean.getSaleIncomeCash()); projectFinalCashFlux1.setFinalTotalCashFlux(new BigDecimal(0)); projectFinalCashFlux1.setFinalTotalCashFlux(finalBean.getSaleIncomeCash()); - list.add(projectFinalCashFlux1); + projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux1); ProjectFinalCashFlux projectFinalCashFlux2 = new ProjectFinalCashFlux(); projectFinalCashFlux2.setProjectId(project.getId()); @@ -193,7 +196,7 @@ public class ProjectFinalSevice { projectFinalCashFlux2.setBudgetTotalCashFlux(cashFlowBean.getTaxReturn()); projectFinalCashFlux2.setFinalTotalCashFlux(new BigDecimal(0)); projectFinalCashFlux2.setFinalTotalCashFlux(finalBean.getTaxReturn()); - list.add(projectFinalCashFlux2); + projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux2); ProjectFinalCashFlux projectFinalCashFlux3 = new ProjectFinalCashFlux(); projectFinalCashFlux3.setProjectId(project.getId()); @@ -201,7 +204,7 @@ public class ProjectFinalSevice { projectFinalCashFlux3.setBudgetTotalCashFlux(cashFlowBean.getEarnestMoneyIncome()); projectFinalCashFlux3.setFinalTotalCashFlux(new BigDecimal(0)); projectFinalCashFlux3.setFinalTotalCashFlux(finalBean.getEarnestMoneyIncome()); - list.add(projectFinalCashFlux3); + projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux3); ProjectFinalCashFlux projectFinalCashFlux4 = new ProjectFinalCashFlux(); projectFinalCashFlux4.setProjectId(project.getId()); @@ -209,7 +212,7 @@ public class ProjectFinalSevice { projectFinalCashFlux4.setBudgetTotalCashFlux(cashFlowBean.getPurchaseCost()); projectFinalCashFlux4.setFinalTotalCashFlux(new BigDecimal(0)); projectFinalCashFlux4.setFinalTotalCashFlux(finalBean.getPurchaseCost()); - list.add(projectFinalCashFlux4); + projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux4); ProjectFinalCashFlux projectFinalCashFlux5 = new ProjectFinalCashFlux(); projectFinalCashFlux5.setProjectId(project.getId()); @@ -217,7 +220,7 @@ public class ProjectFinalSevice { projectFinalCashFlux5.setBudgetTotalCashFlux(cashFlowBean.getTaxCost()); projectFinalCashFlux5.setFinalTotalCashFlux(new BigDecimal(0)); projectFinalCashFlux5.setFinalTotalCashFlux(finalBean.getTaxCost()); - list.add(projectFinalCashFlux5); + projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux5); ProjectFinalCashFlux projectFinalCashFlux6 = new ProjectFinalCashFlux(); projectFinalCashFlux6.setProjectId(project.getId()); @@ -225,7 +228,7 @@ public class ProjectFinalSevice { projectFinalCashFlux6.setBudgetTotalCashFlux(cashFlowBean.getEarnestMoneyCost()); projectFinalCashFlux6.setFinalTotalCashFlux(new BigDecimal(0)); projectFinalCashFlux6.setFinalTotalCashFlux(finalBean.getEarnestMoneyCost()); - list.add(projectFinalCashFlux6); + projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux6); ProjectFinalCashFlux projectFinalCashFlux7 = new ProjectFinalCashFlux(); projectFinalCashFlux7.setProjectId(project.getId()); @@ -233,7 +236,7 @@ public class ProjectFinalSevice { projectFinalCashFlux7.setBudgetTotalCashFlux(cashFlowBean.getNetCashFlow()); projectFinalCashFlux7.setFinalTotalCashFlux(new BigDecimal(0)); projectFinalCashFlux7.setFinalTotalCashFlux(finalBean.getNetCashFlow()); - list.add(projectFinalCashFlux7); + projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux7); ProjectFinalCashFlux projectFinalCashFlux8 = new ProjectFinalCashFlux(); projectFinalCashFlux8.setProjectId(project.getId()); @@ -241,7 +244,7 @@ public class ProjectFinalSevice { projectFinalCashFlux8.setBudgetTotalCashFlux(cashFlowBean.getCashInflowFromInvestingActivities()); projectFinalCashFlux8.setFinalTotalCashFlux(new BigDecimal(0)); projectFinalCashFlux8.setFinalTotalCashFlux(finalBean.getCashInflowFromInvestingActivities()); - list.add(projectFinalCashFlux8); + projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux8); ProjectFinalCashFlux projectFinalCashFlux9 = new ProjectFinalCashFlux(); projectFinalCashFlux9.setProjectId(project.getId()); @@ -249,7 +252,7 @@ public class ProjectFinalSevice { projectFinalCashFlux9.setBudgetTotalCashFlux(cashFlowBean.getCashOutflowFromInvestingActivities()); projectFinalCashFlux9.setFinalTotalCashFlux(new BigDecimal(0)); projectFinalCashFlux9.setFinalTotalCashFlux(finalBean.getCashOutflowFromInvestingActivities()); - list.add(projectFinalCashFlux9); + projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux9); ProjectFinalCashFlux projectFinalCashFlux10 = new ProjectFinalCashFlux(); projectFinalCashFlux10.setProjectId(project.getId()); @@ -257,7 +260,7 @@ public class ProjectFinalSevice { projectFinalCashFlux10.setBudgetTotalCashFlux(cashFlowBean.getNetCashFromInvestingActivities()); projectFinalCashFlux10.setFinalTotalCashFlux(new BigDecimal(0)); projectFinalCashFlux10.setFinalTotalCashFlux(finalBean.getNetCashFromInvestingActivities()); - list.add(projectFinalCashFlux10); + projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux10); ProjectFinalCashFlux projectFinalCashFlux11 = new ProjectFinalCashFlux(); projectFinalCashFlux11.setProjectId(project.getId()); @@ -265,7 +268,7 @@ public class ProjectFinalSevice { projectFinalCashFlux11.setBudgetTotalCashFlux(cashFlowBean.getFinancingCapitalInflow()); projectFinalCashFlux11.setFinalTotalCashFlux(new BigDecimal(0)); projectFinalCashFlux11.setFinalTotalCashFlux(finalBean.getFinancingCapitalInflow()); - list.add(projectFinalCashFlux11); + projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux11); ProjectFinalCashFlux projectFinalCashFlux12 = new ProjectFinalCashFlux(); projectFinalCashFlux12.setProjectId(project.getId()); @@ -273,7 +276,7 @@ public class ProjectFinalSevice { projectFinalCashFlux12.setBudgetTotalCashFlux(cashFlowBean.getFinancingCapitalOutflow()); projectFinalCashFlux12.setFinalTotalCashFlux(new BigDecimal(0)); projectFinalCashFlux12.setFinalTotalCashFlux(finalBean.getFinancingCapitalOutflow()); - list.add(projectFinalCashFlux12); + projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux12); ProjectFinalCashFlux projectFinalCashFlux13 = new ProjectFinalCashFlux(); projectFinalCashFlux13.setProjectId(project.getId()); @@ -281,7 +284,7 @@ public class ProjectFinalSevice { projectFinalCashFlux13.setBudgetTotalCashFlux(cashFlowBean.getFinancingCapitalCashflow()); projectFinalCashFlux13.setFinalTotalCashFlux(new BigDecimal(0)); projectFinalCashFlux13.setFinalTotalCashFlux(finalBean.getFinancingCapitalCashflow()); - list.add(projectFinalCashFlux13); + projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux13); ProjectFinalCashFlux projectFinalCashFlux14 = new ProjectFinalCashFlux(); projectFinalCashFlux14.setProjectId(project.getId()); @@ -289,10 +292,108 @@ public class ProjectFinalSevice { projectFinalCashFlux14.setBudgetTotalCashFlux(cashFlowBean.getNetIncreaseMonetaryFunds()); projectFinalCashFlux14.setFinalTotalCashFlux(new BigDecimal(0)); projectFinalCashFlux14.setFinalTotalCashFlux(finalBean.getNetIncreaseMonetaryFunds()); - list.add(projectFinalCashFlux14); + projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux14); - projectFinalCashFluxRepository.save(list); } + public FinalBean getFinal(Project project) { + FinalBean finalBean = new FinalBean(); + List projectFinalIncomes = projectFinalIncomeReposiry.findByProjectIdEquals(project.getId()); + + if(CollectionUtil.isNotEmpty(projectFinalIncomes)){ + for (ProjectFinalIncome projectFinalIncome : projectFinalIncomes) { + if(ProjectFinalIncome.TYPE_DEVICE == projectFinalIncome.getType()){ + finalBean.setIncomeDeviceFinalTotal(projectFinalIncome.getFinalTotalIncome()); + }else if(ProjectFinalIncome.TYPE_ENGINEER == projectFinalIncome.getType()){ + finalBean.setIncomeEngineerFinalTotal(projectFinalIncome.getFinalTotalIncome()); + }else if(ProjectFinalIncome.TYPE_SERVICE == projectFinalIncome.getType()){ + finalBean.setIncomeServiceFinalTotal(projectFinalIncome.getFinalTotalIncome()); + } + } + } + + List projectFinalCosts = projectFinalCostRepository.findByProjectIdEquals(project.getId()); + if(CollectionUtil.isNotEmpty(projectFinalCosts)){ + for (ProjectFinalCost projectFinalCost : projectFinalCosts) { + if(ProjectFinalCost.TYPE_DEVICE == projectFinalCost.getType()){ + finalBean.setCostPurchaseDeviceFinalTotal(projectFinalCost.getFinalTotalCost()); + }else if(ProjectFinalCost.TYPE_BUILDING == projectFinalCost.getType()){ + finalBean.setCostPurchaseBuildFinalTotal(projectFinalCost.getFinalTotalCost()); + }else if(ProjectFinalCost.TYPE_SERVICE == projectFinalCost.getType()){ + finalBean.setCostPurchaseServiceFinalTotal(projectFinalCost.getFinalTotalCost()); + }else if(ProjectFinalCost.TYPE_OTHER == projectFinalCost.getType()){ + finalBean.setCostPurchaseOtherFinalTotal(projectFinalCost.getFinalTotalCost()); + }else if(ProjectFinalCost.TYPE_PROJECT_MANAGE == projectFinalCost.getType()){ + finalBean.setCostProjectManageFinalTotal(projectFinalCost.getFinalTotalCost()); + }else if (ProjectFinalCost.TYPE_OTHER_OTHER == projectFinalCost.getType()){ + finalBean.setCostOtherFinalTotal(projectFinalCost.getFinalTotalCost()); + } + } + } + + List projectFinalCostManages = projectFinalCostManageRepository.findByProjectIdEquals(project.getId()); + + if(CollectionUtil.isNotEmpty(projectFinalCostManages)){ + for (ProjectFinalCostManage projectFinalCostManage : projectFinalCostManages) { + if(ProjectFinalCostManage.TYPE_EXPROPRIATION == projectFinalCostManage.getType()){ + finalBean.setCostExpropriationFinalTotal(projectFinalCostManage.getFinalTotalManageCost()); + }else if(ProjectFinalCostManage.TYPE_COMPANY_MANAGE == projectFinalCostManage.getType()){ + finalBean.setCostCompanyManageFinalTotal(projectFinalCostManage.getFinalTotalManageCost()); + }else if(ProjectFinalCostManage.TYPE_INCOME_TAX == projectFinalCostManage.getType()){ + finalBean.setCostIncomeTaxFinalTotal(projectFinalCostManage.getFinalTotalManageCost()); + } + } + } + + + List projectFinalCashFluxes = projectFinalCashFluxRepository.findByProjectIdEquals(project.getId()); + if(CollectionUtil.isNotEmpty(projectFinalCashFluxes)){ + for (ProjectFinalCashFlux projectFinalCashFlux : projectFinalCashFluxes) { + if(ProjectFinalCashFlux.TYPE1 == projectFinalCashFlux.getType()){ + finalBean.setSaleIncomeCash(projectFinalCashFlux.getFinalTotalCashFlux()); + } + if(ProjectFinalCashFlux.TYPE2 == projectFinalCashFlux.getType()){ + finalBean.setTaxReturn(projectFinalCashFlux.getFinalTotalCashFlux()); + } + if(ProjectFinalCashFlux.TYPE3 == projectFinalCashFlux.getType()){ + finalBean.setEarnestMoneyIncome(projectFinalCashFlux.getFinalTotalCashFlux()); + } + if(ProjectFinalCashFlux.TYPE4 == projectFinalCashFlux.getType()){ + finalBean.setPurchaseCost(projectFinalCashFlux.getFinalTotalCashFlux()); + } + if(ProjectFinalCashFlux.TYPE5 == projectFinalCashFlux.getType()){ + finalBean.setTaxCost(projectFinalCashFlux.getFinalTotalCashFlux()); + } + if(ProjectFinalCashFlux.TYPE6 == projectFinalCashFlux.getType()){ + finalBean.setEarnestMoneyCost(projectFinalCashFlux.getFinalTotalCashFlux()); + } + if(ProjectFinalCashFlux.TYPE7 == projectFinalCashFlux.getType()){ + finalBean.setNetCashFlow(projectFinalCashFlux.getFinalTotalCashFlux()); + } + if(ProjectFinalCashFlux.TYPE8 == projectFinalCashFlux.getType()){ + finalBean.setCashInflowFromInvestingActivities(projectFinalCashFlux.getFinalTotalCashFlux()); + } + if(ProjectFinalCashFlux.TYPE9 == projectFinalCashFlux.getType()){ + finalBean.setCashOutflowFromInvestingActivities(projectFinalCashFlux.getFinalTotalCashFlux()); + } + if(ProjectFinalCashFlux.TYPE10 == projectFinalCashFlux.getType()){ + finalBean.setNetCashFromInvestingActivities(projectFinalCashFlux.getFinalTotalCashFlux()); + } + if(ProjectFinalCashFlux.TYPE11 == projectFinalCashFlux.getType()){ + finalBean.setFinancingCapitalInflow(projectFinalCashFlux.getFinalTotalCashFlux()); + } + if(ProjectFinalCashFlux.TYPE12 == projectFinalCashFlux.getType()){ + finalBean.setFinancingCapitalOutflow(projectFinalCashFlux.getFinalTotalCashFlux()); + } + if(ProjectFinalCashFlux.TYPE13 == projectFinalCashFlux.getType()){ + finalBean.setFinancingCapitalCashflow(projectFinalCashFlux.getFinalTotalCashFlux()); + } + if(ProjectFinalCashFlux.TYPE14 == projectFinalCashFlux.getType()){ + finalBean.setNetIncreaseMonetaryFunds(projectFinalCashFlux.getFinalTotalCashFlux()); + } + } + } + return finalBean; + } } diff --git a/src/main/resources/static/assets/js/project_final.js b/src/main/resources/static/assets/js/project_final.js index 7499e5a..d297bca 100644 --- a/src/main/resources/static/assets/js/project_final.js +++ b/src/main/resources/static/assets/js/project_final.js @@ -120,7 +120,7 @@ function calCostFinalTotal() { if(costPurchaseDeviceFinalTotal && costPurchaseBuildFinalTotal && costPurchaseServiceFinalTotal && costPurchaseOtherFinalTotal && costProjectManageFinalTotal && costOtherFinalTotal){ - costFinalTotal.val(parseFloat(costPurchaseBuildFinalTotal)+parseFloat(costPurchaseBuildFinalTotal)+parseFloat(costPurchaseServiceFinalTotal)+ + costFinalTotal.val(parseFloat(costPurchaseDeviceFinalTotal)+parseFloat(costPurchaseBuildFinalTotal)+parseFloat(costPurchaseServiceFinalTotal)+ parseFloat(costPurchaseOtherFinalTotal)+parseFloat(costProjectManageFinalTotal)+parseFloat(costOtherFinalTotal)); }else { costFinalTotal.val(""); diff --git a/src/main/resources/templates/admin/project_approve.ftl b/src/main/resources/templates/admin/project_approve.ftl index dbe6c06..e18fe13 100644 --- a/src/main/resources/templates/admin/project_approve.ftl +++ b/src/main/resources/templates/admin/project_approve.ftl @@ -1075,14 +1075,14 @@ 合计 - + @@ -1111,7 +1111,7 @@ readonly required title="购买设备预算总额"> - @@ -1127,7 +1127,7 @@ readonly required title="施工采购成本预算总额"> - @@ -1143,7 +1143,7 @@ readonly required title="服务采购成本预算总额"> - @@ -1159,7 +1159,7 @@ readonly required title="其他采购成本预算总额"> - @@ -1175,7 +1175,7 @@ readonly required title="项目管理成本预算总额"> - @@ -1206,7 +1206,7 @@ value="${Utils.format(budgetBean.getCostTotalTaxExclude(),'0')}" type="number" readonly required title="此列累计"> - + @@ -1232,7 +1232,7 @@ required readonly title="资金占用成本预算总额"> - @@ -1247,7 +1247,7 @@ required readonly title="公司管理费用预算总额"> - @@ -1258,7 +1258,7 @@ / - @@ -1271,7 +1271,7 @@ - + @@ -1300,7 +1300,7 @@ value="${Utils.format(finalBean.grossProfitSettleTotal,'0')}" readonly required title="项目毛利结算总额"> - @@ -1371,7 +1371,7 @@ - @@ -1382,7 +1382,7 @@ required title="预算总额"> - @@ -1393,7 +1393,7 @@ title="预算总额"> - @@ -1403,7 +1403,7 @@ - @@ -1414,7 +1414,7 @@ required title="预算总额"> - @@ -1425,7 +1425,7 @@ required title="预算总额"> - @@ -1434,7 +1434,7 @@ / - @@ -1444,7 +1444,7 @@ - @@ -1454,7 +1454,7 @@ - @@ -1466,7 +1466,7 @@ - @@ -1478,7 +1478,7 @@ - @@ -1490,7 +1490,7 @@ - @@ -1502,7 +1502,7 @@ - @@ -1512,7 +1512,7 @@ - + diff --git a/src/main/resources/templates/admin/project_detail.ftl b/src/main/resources/templates/admin/project_detail.ftl index 980a6dd..a1ecc78 100644 --- a/src/main/resources/templates/admin/project_detail.ftl +++ b/src/main/resources/templates/admin/project_detail.ftl @@ -766,7 +766,7 @@ - + 收入 @@ -774,7 +774,7 @@ - + 收入 @@ -782,7 +782,7 @@ - + 合计 @@ -790,7 +790,7 @@ - + @@ -813,7 +813,7 @@ - + 成本 @@ -822,7 +822,7 @@ - + 成本 @@ -831,7 +831,7 @@ - + 成本 @@ -840,7 +840,7 @@ - + 成本 @@ -849,7 +849,7 @@ - + 成本 @@ -858,7 +858,7 @@ - + 合计 @@ -867,7 +867,7 @@ - + @@ -888,7 +888,7 @@ - + 公司管理费用 @@ -896,7 +896,7 @@ - + 所得税费用 @@ -904,7 +904,7 @@ / / - + 合计 @@ -912,7 +912,7 @@ - + @@ -933,7 +933,7 @@ - + @@ -941,7 +941,7 @@ - + @@ -949,7 +949,7 @@ - + @@ -968,91 +968,91 @@ 销售商品、提供劳务收到的现金 - + 收到的税费返还 / - + 收到其他与经营活动有关的现金 - + 购买商品、接受劳务支付的现金 - + 支付的各项税费 / - + 支付其他与经营活动有关的现金 - + 经营活动产生的现金流量净额 - + 投资活动现金流入 / - + 投资活动现金流出 / - + 投资活动产生的现金流量净额 / - + 融资资金流入 - + 还款资金流出 - + 筹资活动产生的现金流量净额 - + 货币资金净增加额 - + 合计 - + @@ -1060,10 +1060,6 @@ - - - - diff --git a/src/main/resources/templates/admin/project_final_edit.ftl b/src/main/resources/templates/admin/project_final_edit.ftl index b00e519..dfe1a40 100644 --- a/src/main/resources/templates/admin/project_final_edit.ftl +++ b/src/main/resources/templates/admin/project_final_edit.ftl @@ -72,9 +72,9 @@ 合计 - - - + + + @@ -95,35 +95,35 @@ 成本 采购成本 设备 - + - + 成本 采购成本 施工 - - - + + + 成本 采购成本 服务 - - - + + + 成本 采购成本 其他 - - + + @@ -131,8 +131,8 @@ 成本 项目管理成本 项目管理成本 - - + + @@ -140,8 +140,8 @@ 成本 其他 其他 - - + + @@ -149,8 +149,8 @@ 合计 - - + + @@ -170,17 +170,17 @@ 财务费用 资金占用成本 - - - + + + 公司管理费用 - - - + + + @@ -215,23 +215,23 @@ 项目毛利 - - + + 项目贡献利润 - - + + 项目净利润 - + / @@ -251,85 +251,85 @@ 销售商品、提供劳务收到的现金 - - + + 收到的税费返还 / - + 收到其他与经营活动有关的现金 - - + + 购买商品、接受劳务支付的现金 - - + + 支付的各项税费 / - + 支付其他与经营活动有关的现金 - - + + 经营活动产生的现金流量净额 - - + + 投资活动现金流入 / - + 投资活动现金流出 / - + 投资活动产生的现金流量净额 / - + 融资资金流入 - - + + 还款资金流出 - - + + 筹资活动产生的现金流量净额 - - + + 货币资金净增加额 - +