保存结算信息

master
hanbo 2021-11-22 20:55:18 +08:00
parent 2f48c619e3
commit 4b432052d3
1 changed files with 43 additions and 37 deletions

View File

@ -52,27 +52,32 @@ public class ProjectFinalSevice {
@Autowired
private ProjectInstanceService projectInstanceService;
@Autowired
private ProjectSettleService projectSettleService;
@Transactional
public void save(Project project, FinalBean finalBean) {
//预算表数据
EstimateBean estimate = projectEstimateService.getEstimate(project);
//概算表数据
BudgetBean budget = projectBudgetService.getBudget(project);
FormerBean settle = projectSettleService.getCurrentSettle(project, null);
//现金流量表数据
List<ProjectBudgetPlanDetail> projectBudgetPlanDetails = projectBudgetService.getProjectBudgetPlanDetails(project);
CashFlowBean cashFlowBean = projectBudgetService.getCashFlowBean(project, projectBudgetPlanDetails);
//保存项目决算收入信息
saveProjectFinalIncome(project,finalBean,estimate,budget);
saveProjectFinalIncome(project,finalBean,estimate,budget,settle);
//保存项目决算成本信息
saveProjectFinalCost(project,finalBean,estimate,budget);
saveProjectFinalCost(project,finalBean,estimate,budget,settle);
//保存项目结算管理成本信息
saveProjectFinalCostManage(project,finalBean,estimate,budget);
saveProjectFinalCostManage(project,finalBean,estimate,budget,settle);
//保存项目结算现金流量信息
saveProjectFinalCashFlux(project,finalBean,cashFlowBean);
saveProjectFinalCashFlux(project,finalBean,cashFlowBean,settle);
projectService.updateStatusAndApproveStatus(project.getId(), StatusEnum.FINAL_ACCOUNTS, ApproveStatusEnum.APPROVAL_UNCOMMIT);
@ -80,6 +85,7 @@ public class ProjectFinalSevice {
@Transactional
public void saveAndApprove(Project project, FinalBean finalBean) throws Exception {
FormerBean settle = projectSettleService.getCurrentSettle(project, null);
//预算表数据
EstimateBean estimate = projectEstimateService.getEstimate(project);
//概算表数据
@ -89,16 +95,16 @@ public class ProjectFinalSevice {
CashFlowBean cashFlowBean = projectBudgetService.getCashFlowBean(project, projectBudgetPlanDetails);
//保存项目决算收入信息
saveProjectFinalIncome(project,finalBean,estimate,budget);
saveProjectFinalIncome(project,finalBean,estimate,budget,settle);
//保存项目决算成本信息
saveProjectFinalCost(project,finalBean,estimate,budget);
saveProjectFinalCost(project,finalBean,estimate,budget,settle);
//保存项目结算管理成本信息
saveProjectFinalCostManage(project,finalBean,estimate,budget);
saveProjectFinalCostManage(project,finalBean,estimate,budget,settle);
//保存项目结算现金流量信息
saveProjectFinalCashFlux(project,finalBean,cashFlowBean);
saveProjectFinalCashFlux(project,finalBean,cashFlowBean,settle);
//更新项目和审批状态
projectService.updateStatusAndApproveStatus(project.getId(), StatusEnum.FINAL_ACCOUNTS, ApproveStatusEnum.APPROVAL_PENDING);
@ -107,13 +113,13 @@ public class ProjectFinalSevice {
}
public void saveProjectFinalCostManage(Project project, FinalBean finalBean,EstimateBean estimate,BudgetBean budget){
public void saveProjectFinalCostManage(Project project, FinalBean finalBean,EstimateBean estimate,BudgetBean budget,FormerBean settle){
ProjectFinalCostManage expropriationManage = new ProjectFinalCostManage();
expropriationManage.setProjectId(project.getId());
expropriationManage.setType(ProjectFinalCostManage.TYPE_EXPROPRIATION);
expropriationManage.setEstimateTotalManageCost(estimate.getCostExpropriationTaxExclude());
expropriationManage.setBudgetTotalManageCost(budget.getCostExpropriationTaxExclude());
expropriationManage.setSettleTotalManageCost(new BigDecimal(0));
expropriationManage.setSettleTotalManageCost(settle.getCostExpropriationTaxExclude());
expropriationManage.setFinalTotalManageCost(finalBean.getCostExpropriationFinalTotal());
projectFinalCostManageRepository.saveAndFlush(expropriationManage);
@ -122,7 +128,7 @@ public class ProjectFinalSevice {
companyManage.setType(ProjectFinalCostManage.TYPE_COMPANY_MANAGE);
companyManage.setEstimateTotalManageCost(estimate.getCostCompanyManageTaxExclude());
companyManage.setBudgetTotalManageCost(budget.getCostCompanyManageTaxExclude());
companyManage.setSettleTotalManageCost(new BigDecimal(0));
companyManage.setSettleTotalManageCost(settle.getCostCompanyManageTaxExclude());
companyManage.setFinalTotalManageCost(finalBean.getCostCompanyManageFinalTotal());
projectFinalCostManageRepository.saveAndFlush(companyManage);
@ -135,13 +141,13 @@ public class ProjectFinalSevice {
}
private void saveProjectFinalIncome(Project project, FinalBean finalBean,EstimateBean estimate,BudgetBean budget) {
private void saveProjectFinalIncome(Project project, FinalBean finalBean,EstimateBean estimate,BudgetBean budget,FormerBean settle) {
ProjectFinalIncome projectFinalIncomeDevice = new ProjectFinalIncome();
projectFinalIncomeDevice.setProjectId(project.getId());
projectFinalIncomeDevice.setType(ProjectFinalIncome.TYPE_DEVICE);
projectFinalIncomeDevice.setEstimateTotalIncome(estimate.getIncomeDeviceTaxExclude());
projectFinalIncomeDevice.setBudgetTotalIncome(budget.getIncomeDeviceTaxExclude());
projectFinalIncomeDevice.setSettleTotalIncome(new BigDecimal(0));
projectFinalIncomeDevice.setSettleTotalIncome(settle.getIncomeDeviceTaxExclude());
projectFinalIncomeDevice.setFinalTotalIncome(finalBean.getIncomeDeviceFinalTotal());
projectFinalIncomeReposiry.saveAndFlush(projectFinalIncomeDevice);
@ -150,7 +156,7 @@ public class ProjectFinalSevice {
projectFinalIncomeEngineer.setType(ProjectFinalIncome.TYPE_ENGINEER);
projectFinalIncomeEngineer.setEstimateTotalIncome(estimate.getIncomeEngineerTaxExclude());
projectFinalIncomeEngineer.setBudgetTotalIncome(budget.getIncomeEngineerTaxExclude());
projectFinalIncomeEngineer.setSettleTotalIncome(new BigDecimal(0));
projectFinalIncomeEngineer.setSettleTotalIncome(settle.getIncomeEngineerTaxExclude());
projectFinalIncomeEngineer.setFinalTotalIncome(finalBean.getIncomeEngineerFinalTotal());
projectFinalIncomeReposiry.saveAndFlush(projectFinalIncomeEngineer);
@ -159,19 +165,19 @@ public class ProjectFinalSevice {
projectFinalIncomeService.setType(ProjectFinalIncome.TYPE_SERVICE);
projectFinalIncomeService.setEstimateTotalIncome(estimate.getIncomeServiceTaxExclude());
projectFinalIncomeService.setBudgetTotalIncome(budget.getIncomeServiceTaxExclude());
projectFinalIncomeService.setSettleTotalIncome(new BigDecimal(0));
projectFinalIncomeService.setSettleTotalIncome(settle.getIncomeServiceTaxExclude());
projectFinalIncomeService.setFinalTotalIncome(finalBean.getIncomeServiceFinalTotal());
projectFinalIncomeReposiry.saveAndFlush(projectFinalIncomeService);
}
public void saveProjectFinalCost(Project project, FinalBean finalBean,EstimateBean estimate,BudgetBean budget){
public void saveProjectFinalCost(Project project, FinalBean finalBean,EstimateBean estimate,BudgetBean budget,FormerBean settle){
ProjectFinalCost projectFinalCostDevice = new ProjectFinalCost();
projectFinalCostDevice.setProjectId(project.getId());
projectFinalCostDevice.setFee(ProjectFinalCost.FEE_PURCHASE);
projectFinalCostDevice.setType(ProjectFinalCost.TYPE_DEVICE);
projectFinalCostDevice.setEstimateTotalCost(estimate.getCostPurchaseDeviceTaxExclude());
projectFinalCostDevice.setBudgetTotalCost(budget.getCostPurchaseDeviceTaxExclude());
projectFinalCostDevice.setSettleTotalCost(new BigDecimal(0));
projectFinalCostDevice.setSettleTotalCost(settle.getCostPurchaseDeviceTaxExclude());
projectFinalCostDevice.setFinalTotalCost(finalBean.getCostPurchaseDeviceFinalTotal());
projectFinalCostRepository.saveAndFlush(projectFinalCostDevice);
@ -182,7 +188,7 @@ public class ProjectFinalSevice {
projectFinalCostBuild.setType(ProjectFinalCost.TYPE_BUILDING);
projectFinalCostBuild.setEstimateTotalCost(estimate.getCostPurchaseBuildTaxExclude());
projectFinalCostBuild.setBudgetTotalCost(budget.getCostPurchaseBuildTaxExclude());
projectFinalCostBuild.setSettleTotalCost(new BigDecimal(0));
projectFinalCostBuild.setSettleTotalCost(settle.getCostPurchaseBuildTaxExclude());
projectFinalCostBuild.setFinalTotalCost(finalBean.getCostPurchaseBuildFinalTotal());
projectFinalCostRepository.saveAndFlush(projectFinalCostBuild);
@ -192,7 +198,7 @@ public class ProjectFinalSevice {
projectFinalCostService.setType(ProjectFinalCost.TYPE_SERVICE);
projectFinalCostService.setEstimateTotalCost(estimate.getCostPurchaseServiceTaxExclude());
projectFinalCostService.setBudgetTotalCost(budget.getCostPurchaseServiceTaxExclude());
projectFinalCostService.setSettleTotalCost(new BigDecimal(0));
projectFinalCostService.setSettleTotalCost(settle.getCostPurchaseServiceTaxExclude());
projectFinalCostService.setFinalTotalCost(finalBean.getCostPurchaseServiceFinalTotal());
projectFinalCostRepository.saveAndFlush(projectFinalCostService);
@ -202,7 +208,7 @@ public class ProjectFinalSevice {
projectFinalCostOther.setType(ProjectFinalCost.TYPE_OTHER);
projectFinalCostOther.setEstimateTotalCost(estimate.getCostPurchaseOtherTaxExclude());
projectFinalCostOther.setBudgetTotalCost(budget.getCostPurchaseOtherTaxExclude());
projectFinalCostOther.setSettleTotalCost(new BigDecimal(0));
projectFinalCostOther.setSettleTotalCost(settle.getCostPurchaseOtherTaxExclude());
projectFinalCostOther.setFinalTotalCost(finalBean.getCostPurchaseOtherFinalTotal());
projectFinalCostRepository.saveAndFlush(projectFinalCostOther);
@ -212,7 +218,7 @@ public class ProjectFinalSevice {
projectFinalCostProject.setType(ProjectFinalCost.TYPE_PROJECT_MANAGE);
projectFinalCostProject.setEstimateTotalCost(estimate.getCostProjectManageTaxExclude());
projectFinalCostProject.setBudgetTotalCost(budget.getCostProjectManageTaxExclude());
projectFinalCostProject.setSettleTotalCost(new BigDecimal(0));
projectFinalCostProject.setSettleTotalCost(settle.getCostProjectManageTaxExclude());
projectFinalCostProject.setFinalTotalCost(finalBean.getCostProjectManageFinalTotal());
projectFinalCostRepository.saveAndFlush(projectFinalCostProject);
@ -222,19 +228,19 @@ public class ProjectFinalSevice {
projectFinalCostOtherOther.setType(ProjectFinalCost.TYPE_OTHER_OTHER);
projectFinalCostOtherOther.setEstimateTotalCost(estimate.getCostOtherOtherTaxExclude());
projectFinalCostOtherOther.setBudgetTotalCost(budget.getCostOtherOtherTaxExclude());
projectFinalCostOtherOther.setSettleTotalCost(new BigDecimal(0));
projectFinalCostOtherOther.setSettleTotalCost(settle.getCostOtherOtherTaxExclude());
projectFinalCostOtherOther.setFinalTotalCost(finalBean.getCostOtherFinalTotal());
projectFinalCostRepository.saveAndFlush(projectFinalCostOtherOther);
}
public void saveProjectFinalCashFlux(Project project, FinalBean finalBean, CashFlowBean cashFlowBean) {
public void saveProjectFinalCashFlux(Project project, FinalBean finalBean, CashFlowBean cashFlowBean,FormerBean settle) {
List<ProjectFinalCashFlux> list = new ArrayList<>();
ProjectFinalCashFlux projectFinalCashFlux1 = new ProjectFinalCashFlux();
projectFinalCashFlux1.setProjectId(project.getId());
projectFinalCashFlux1.setType(ProjectFinalCashFlux.TYPE1);
projectFinalCashFlux1.setBudgetTotalCashFlux(cashFlowBean.getSaleIncomeCash());
projectFinalCashFlux1.setFinalTotalCashFlux(new BigDecimal(0));
projectFinalCashFlux1.setSettleTotalCashFlux(settle.getSaleIncomeCash());
projectFinalCashFlux1.setFinalTotalCashFlux(finalBean.getSaleIncomeCash());
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux1);
@ -242,7 +248,7 @@ public class ProjectFinalSevice {
projectFinalCashFlux2.setProjectId(project.getId());
projectFinalCashFlux2.setType(ProjectFinalCashFlux.TYPE2);
projectFinalCashFlux2.setBudgetTotalCashFlux(cashFlowBean.getTaxReturn());
projectFinalCashFlux2.setFinalTotalCashFlux(new BigDecimal(0));
projectFinalCashFlux2.setSettleTotalCashFlux(settle.getTaxReturn());
projectFinalCashFlux2.setFinalTotalCashFlux(finalBean.getTaxReturn());
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux2);
@ -250,7 +256,7 @@ public class ProjectFinalSevice {
projectFinalCashFlux3.setProjectId(project.getId());
projectFinalCashFlux3.setType(ProjectFinalCashFlux.TYPE3);
projectFinalCashFlux3.setBudgetTotalCashFlux(cashFlowBean.getEarnestMoneyIncome());
projectFinalCashFlux3.setFinalTotalCashFlux(new BigDecimal(0));
projectFinalCashFlux3.setSettleTotalCashFlux(settle.getEarnestMoneyIncome());
projectFinalCashFlux3.setFinalTotalCashFlux(finalBean.getEarnestMoneyIncome());
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux3);
@ -258,7 +264,7 @@ public class ProjectFinalSevice {
projectFinalCashFlux4.setProjectId(project.getId());
projectFinalCashFlux4.setType(ProjectFinalCashFlux.TYPE4);
projectFinalCashFlux4.setBudgetTotalCashFlux(cashFlowBean.getPurchaseCost());
projectFinalCashFlux4.setFinalTotalCashFlux(new BigDecimal(0));
projectFinalCashFlux4.setSettleTotalCashFlux(settle.getPurchaseCost());
projectFinalCashFlux4.setFinalTotalCashFlux(finalBean.getPurchaseCost());
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux4);
@ -266,7 +272,7 @@ public class ProjectFinalSevice {
projectFinalCashFlux5.setProjectId(project.getId());
projectFinalCashFlux5.setType(ProjectFinalCashFlux.TYPE5);
projectFinalCashFlux5.setBudgetTotalCashFlux(cashFlowBean.getTaxCost());
projectFinalCashFlux5.setFinalTotalCashFlux(new BigDecimal(0));
projectFinalCashFlux5.setSettleTotalCashFlux(settle.getTaxCost());
projectFinalCashFlux5.setFinalTotalCashFlux(finalBean.getTaxCost());
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux5);
@ -274,7 +280,7 @@ public class ProjectFinalSevice {
projectFinalCashFlux6.setProjectId(project.getId());
projectFinalCashFlux6.setType(ProjectFinalCashFlux.TYPE6);
projectFinalCashFlux6.setBudgetTotalCashFlux(cashFlowBean.getEarnestMoneyCost());
projectFinalCashFlux6.setFinalTotalCashFlux(new BigDecimal(0));
projectFinalCashFlux6.setSettleTotalCashFlux(settle.getEarnestMoneyCost());
projectFinalCashFlux6.setFinalTotalCashFlux(finalBean.getEarnestMoneyCost());
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux6);
@ -282,7 +288,7 @@ public class ProjectFinalSevice {
projectFinalCashFlux7.setProjectId(project.getId());
projectFinalCashFlux7.setType(ProjectFinalCashFlux.TYPE7);
projectFinalCashFlux7.setBudgetTotalCashFlux(cashFlowBean.getNetCashFlow());
projectFinalCashFlux7.setFinalTotalCashFlux(new BigDecimal(0));
projectFinalCashFlux7.setSettleTotalCashFlux(settle.getNetCashFlow());
projectFinalCashFlux7.setFinalTotalCashFlux(finalBean.getNetCashFlow());
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux7);
@ -290,7 +296,7 @@ public class ProjectFinalSevice {
projectFinalCashFlux8.setProjectId(project.getId());
projectFinalCashFlux8.setType(ProjectFinalCashFlux.TYPE8);
projectFinalCashFlux8.setBudgetTotalCashFlux(cashFlowBean.getCashInflowFromInvestingActivities());
projectFinalCashFlux8.setFinalTotalCashFlux(new BigDecimal(0));
projectFinalCashFlux8.setSettleTotalCashFlux(settle.getCashInflowFromInvestingActivities());
projectFinalCashFlux8.setFinalTotalCashFlux(finalBean.getCashInflowFromInvestingActivities());
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux8);
@ -298,7 +304,7 @@ public class ProjectFinalSevice {
projectFinalCashFlux9.setProjectId(project.getId());
projectFinalCashFlux9.setType(ProjectFinalCashFlux.TYPE9);
projectFinalCashFlux9.setBudgetTotalCashFlux(cashFlowBean.getCashOutflowFromInvestingActivities());
projectFinalCashFlux9.setFinalTotalCashFlux(new BigDecimal(0));
projectFinalCashFlux9.setSettleTotalCashFlux(settle.getCashOutflowFromInvestingActivities());
projectFinalCashFlux9.setFinalTotalCashFlux(finalBean.getCashOutflowFromInvestingActivities());
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux9);
@ -306,7 +312,7 @@ public class ProjectFinalSevice {
projectFinalCashFlux10.setProjectId(project.getId());
projectFinalCashFlux10.setType(ProjectFinalCashFlux.TYPE10);
projectFinalCashFlux10.setBudgetTotalCashFlux(cashFlowBean.getNetCashFromInvestingActivities());
projectFinalCashFlux10.setFinalTotalCashFlux(new BigDecimal(0));
projectFinalCashFlux10.setSettleTotalCashFlux(settle.getNetCashFromInvestingActivities());
projectFinalCashFlux10.setFinalTotalCashFlux(finalBean.getNetCashFromInvestingActivities());
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux10);
@ -314,7 +320,7 @@ public class ProjectFinalSevice {
projectFinalCashFlux11.setProjectId(project.getId());
projectFinalCashFlux11.setType(ProjectFinalCashFlux.TYPE11);
projectFinalCashFlux11.setBudgetTotalCashFlux(cashFlowBean.getFinancingCapitalInflow());
projectFinalCashFlux11.setFinalTotalCashFlux(new BigDecimal(0));
projectFinalCashFlux11.setSettleTotalCashFlux(settle.getFinancingCapitalInflow());
projectFinalCashFlux11.setFinalTotalCashFlux(finalBean.getFinancingCapitalInflow());
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux11);
@ -322,7 +328,7 @@ public class ProjectFinalSevice {
projectFinalCashFlux12.setProjectId(project.getId());
projectFinalCashFlux12.setType(ProjectFinalCashFlux.TYPE12);
projectFinalCashFlux12.setBudgetTotalCashFlux(cashFlowBean.getFinancingCapitalOutflow());
projectFinalCashFlux12.setFinalTotalCashFlux(new BigDecimal(0));
projectFinalCashFlux12.setSettleTotalCashFlux(settle.getFinancingCapitalOutflow());
projectFinalCashFlux12.setFinalTotalCashFlux(finalBean.getFinancingCapitalOutflow());
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux12);
@ -330,7 +336,7 @@ public class ProjectFinalSevice {
projectFinalCashFlux13.setProjectId(project.getId());
projectFinalCashFlux13.setType(ProjectFinalCashFlux.TYPE13);
projectFinalCashFlux13.setBudgetTotalCashFlux(cashFlowBean.getFinancingCapitalCashflow());
projectFinalCashFlux13.setFinalTotalCashFlux(new BigDecimal(0));
projectFinalCashFlux13.setSettleTotalCashFlux(settle.getFinancingCapitalCashflow());
projectFinalCashFlux13.setFinalTotalCashFlux(finalBean.getFinancingCapitalCashflow());
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux13);
@ -338,7 +344,7 @@ public class ProjectFinalSevice {
projectFinalCashFlux14.setProjectId(project.getId());
projectFinalCashFlux14.setType(ProjectFinalCashFlux.TYPE14);
projectFinalCashFlux14.setBudgetTotalCashFlux(cashFlowBean.getNetIncreaseMonetaryFunds());
projectFinalCashFlux14.setFinalTotalCashFlux(new BigDecimal(0));
projectFinalCashFlux14.setSettleTotalCashFlux(settle.getNetIncreaseMonetaryFunds());
projectFinalCashFlux14.setFinalTotalCashFlux(finalBean.getNetIncreaseMonetaryFunds());
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux14);