fourcal/src/main/java/cn/palmte/work/service/ProjectFinalSevice.java

473 lines
30 KiB
Java

package cn.palmte.work.service;
import cn.palmte.work.bean.*;
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;
import java.util.List;
@Service
public class ProjectFinalSevice {
@Autowired
private ProjectFinalCostRepository projectFinalCostRepository;
@Autowired
private ProjectFinalCashFluxRepository projectFinalCashFluxRepository;
@Autowired
private ProjectFinalCostManageRepository projectFinalCostManageRepository;
@Autowired
private ProjectFinalIncomeReposiry projectFinalIncomeReposiry;
@Autowired
private ProjectEstimateService projectEstimateService;
@Autowired
private ProjectBudgetService projectBudgetService;
@Autowired
private ProjectSettleIncomeRepository projectSettleIncomeRepository;
@Autowired
private ProjectSettleCostRepository projectSettleCostRepository;
@Autowired
private ProjectSettleCostManageRepository projectSettleCostManageRepository;
@Autowired
private ProjectSettleCashFlowRepository projectSettleCashFlowRepository;
@Transactional
public void save(Project project, FinalBean finalBean) {
//预算表数据
EstimateBean estimate = projectEstimateService.getEstimate(project);
//概算表数据
BudgetBean budget = projectBudgetService.getBudget(project);
//现金流量表数据
List<ProjectBudgetPlanDetail> projectBudgetPlanDetails = projectBudgetService.getProjectBudgetPlanDetails(project);
CashFlowBean cashFlowBean = projectBudgetService.getCashFlowBean(project, projectBudgetPlanDetails);
//保存项目决算收入信息
saveProjectFinalIncome(project,finalBean,estimate,budget);
//保存项目决算成本信息
saveProjectFinalCost(project,finalBean,estimate,budget);
//保存项目结算管理成本信息
saveProjectFinalCostManage(project,finalBean,estimate,budget);
//保存项目结算现金流量信息
saveProjectFinalCashFlux(project,finalBean,cashFlowBean);
}
public void saveProjectFinalCostManage(Project project, FinalBean finalBean,EstimateBean estimate,BudgetBean budget){
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.setFinalTotalManageCost(finalBean.getCostExpropriationFinalTotal());
projectFinalCostManageRepository.saveAndFlush(expropriationManage);
ProjectFinalCostManage companyManage = new ProjectFinalCostManage();
companyManage.setProjectId(project.getId());
companyManage.setType(ProjectFinalCostManage.TYPE_COMPANY_MANAGE);
companyManage.setEstimateTotalManageCost(estimate.getCostCompanyManageTaxExclude());
companyManage.setBudgetTotalManageCost(budget.getCostCompanyManageTaxExclude());
companyManage.setSettleTotalManageCost(new BigDecimal(0));
companyManage.setFinalTotalManageCost(finalBean.getCostCompanyManageFinalTotal());
projectFinalCostManageRepository.saveAndFlush(companyManage);
ProjectFinalCostManage incomeTax = new ProjectFinalCostManage();
incomeTax.setProjectId(project.getId());
incomeTax.setType(ProjectFinalCostManage.TYPE_INCOME_TAX);
incomeTax.setSettleTotalManageCost(new BigDecimal(0));
incomeTax.setFinalTotalManageCost(finalBean.getCostIncomeTaxFinalTotal());
projectFinalCostManageRepository.saveAndFlush(incomeTax);
}
private void saveProjectFinalIncome(Project project, FinalBean finalBean,EstimateBean estimate,BudgetBean budget) {
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.setFinalTotalIncome(finalBean.getIncomeDeviceFinalTotal());
projectFinalIncomeReposiry.saveAndFlush(projectFinalIncomeDevice);
ProjectFinalIncome projectFinalIncomeEngineer = new ProjectFinalIncome();
projectFinalIncomeEngineer.setProjectId(project.getId());
projectFinalIncomeEngineer.setType(ProjectFinalIncome.TYPE_ENGINEER);
projectFinalIncomeEngineer.setEstimateTotalIncome(estimate.getIncomeEngineerTaxExclude());
projectFinalIncomeEngineer.setBudgetTotalIncome(budget.getIncomeEngineerTaxExclude());
projectFinalIncomeEngineer.setSettleTotalIncome(new BigDecimal(0));
projectFinalIncomeEngineer.setFinalTotalIncome(finalBean.getIncomeEngineerFinalTotal());
projectFinalIncomeReposiry.saveAndFlush(projectFinalIncomeEngineer);
ProjectFinalIncome projectFinalIncomeService = new ProjectFinalIncome();
projectFinalIncomeService.setProjectId(project.getId());
projectFinalIncomeService.setType(ProjectFinalIncome.TYPE_SERVICE);
projectFinalIncomeService.setEstimateTotalIncome(estimate.getIncomeServiceTaxExclude());
projectFinalIncomeService.setBudgetTotalIncome(budget.getIncomeServiceTaxExclude());
projectFinalIncomeService.setSettleTotalIncome(new BigDecimal(0));
projectFinalIncomeService.setFinalTotalIncome(finalBean.getIncomeServiceFinalTotal());
projectFinalIncomeReposiry.saveAndFlush(projectFinalIncomeService);
}
public void saveProjectFinalCost(Project project, FinalBean finalBean,EstimateBean estimate,BudgetBean budget){
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.setFinalTotalCost(finalBean.getCostPurchaseDeviceFinalTotal());
projectFinalCostRepository.saveAndFlush(projectFinalCostDevice);
ProjectFinalCost projectFinalCostBuild = new ProjectFinalCost();
projectFinalCostBuild.setProjectId(project.getId());
projectFinalCostBuild.setFee(ProjectFinalCost.FEE_PURCHASE);
projectFinalCostBuild.setType(ProjectFinalCost.TYPE_BUILDING);
projectFinalCostBuild.setEstimateTotalCost(estimate.getCostPurchaseBuildTaxExclude());
projectFinalCostBuild.setBudgetTotalCost(budget.getCostPurchaseBuildTaxExclude());
projectFinalCostBuild.setSettleTotalCost(new BigDecimal(0));
projectFinalCostBuild.setFinalTotalCost(finalBean.getCostPurchaseBuildFinalTotal());
projectFinalCostRepository.saveAndFlush(projectFinalCostBuild);
ProjectFinalCost projectFinalCostService = new ProjectFinalCost();
projectFinalCostService.setProjectId(project.getId());
projectFinalCostService.setFee(ProjectFinalCost.FEE_PURCHASE);
projectFinalCostService.setType(ProjectFinalCost.TYPE_SERVICE);
projectFinalCostService.setEstimateTotalCost(estimate.getCostPurchaseServiceTaxExclude());
projectFinalCostService.setBudgetTotalCost(budget.getCostPurchaseServiceTaxExclude());
projectFinalCostService.setSettleTotalCost(new BigDecimal(0));
projectFinalCostService.setFinalTotalCost(finalBean.getCostPurchaseServiceFinalTotal());
projectFinalCostRepository.saveAndFlush(projectFinalCostService);
ProjectFinalCost projectFinalCostOther = new ProjectFinalCost();
projectFinalCostOther.setProjectId(project.getId());
projectFinalCostOther.setFee(ProjectFinalCost.FEE_PURCHASE);
projectFinalCostOther.setType(ProjectFinalCost.TYPE_OTHER);
projectFinalCostOther.setEstimateTotalCost(estimate.getCostPurchaseOtherTaxExclude());
projectFinalCostOther.setBudgetTotalCost(budget.getCostPurchaseOtherTaxExclude());
projectFinalCostOther.setSettleTotalCost(new BigDecimal(0));
projectFinalCostOther.setFinalTotalCost(finalBean.getCostPurchaseOtherFinalTotal());
projectFinalCostRepository.saveAndFlush(projectFinalCostOther);
ProjectFinalCost projectFinalCostProject = new ProjectFinalCost();
projectFinalCostProject.setProjectId(project.getId());
projectFinalCostProject.setFee(ProjectFinalCost.FEE_PROJECT_MANAGE);
projectFinalCostProject.setType(ProjectFinalCost.TYPE_PROJECT_MANAGE);
projectFinalCostProject.setEstimateTotalCost(estimate.getCostProjectManageTaxExclude());
projectFinalCostProject.setBudgetTotalCost(budget.getCostProjectManageTaxExclude());
projectFinalCostProject.setSettleTotalCost(new BigDecimal(0));
projectFinalCostProject.setFinalTotalCost(finalBean.getCostProjectManageFinalTotal());
projectFinalCostRepository.saveAndFlush(projectFinalCostProject);
ProjectFinalCost projectFinalCostOtherOther = new ProjectFinalCost();
projectFinalCostOtherOther.setProjectId(project.getId());
projectFinalCostOtherOther.setFee(ProjectFinalCost.FEE_OTHER);
projectFinalCostOtherOther.setType(ProjectFinalCost.TYPE_OTHER_OTHER);
projectFinalCostOtherOther.setEstimateTotalCost(estimate.getCostOtherOtherTaxExclude());
projectFinalCostOtherOther.setBudgetTotalCost(budget.getCostOtherOtherTaxExclude());
projectFinalCostOtherOther.setSettleTotalCost(new BigDecimal(0));
projectFinalCostOtherOther.setFinalTotalCost(finalBean.getCostOtherFinalTotal());
projectFinalCostRepository.saveAndFlush(projectFinalCostOtherOther);
}
public void saveProjectFinalCashFlux(Project project, FinalBean finalBean, CashFlowBean cashFlowBean) {
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.setFinalTotalCashFlux(finalBean.getSaleIncomeCash());
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux1);
ProjectFinalCashFlux projectFinalCashFlux2 = new ProjectFinalCashFlux();
projectFinalCashFlux2.setProjectId(project.getId());
projectFinalCashFlux2.setType(ProjectFinalCashFlux.TYPE2);
projectFinalCashFlux2.setBudgetTotalCashFlux(cashFlowBean.getTaxReturn());
projectFinalCashFlux2.setFinalTotalCashFlux(new BigDecimal(0));
projectFinalCashFlux2.setFinalTotalCashFlux(finalBean.getTaxReturn());
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux2);
ProjectFinalCashFlux projectFinalCashFlux3 = new ProjectFinalCashFlux();
projectFinalCashFlux3.setProjectId(project.getId());
projectFinalCashFlux3.setType(ProjectFinalCashFlux.TYPE3);
projectFinalCashFlux3.setBudgetTotalCashFlux(cashFlowBean.getEarnestMoneyIncome());
projectFinalCashFlux3.setFinalTotalCashFlux(new BigDecimal(0));
projectFinalCashFlux3.setFinalTotalCashFlux(finalBean.getEarnestMoneyIncome());
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux3);
ProjectFinalCashFlux projectFinalCashFlux4 = new ProjectFinalCashFlux();
projectFinalCashFlux4.setProjectId(project.getId());
projectFinalCashFlux4.setType(ProjectFinalCashFlux.TYPE4);
projectFinalCashFlux4.setBudgetTotalCashFlux(cashFlowBean.getPurchaseCost());
projectFinalCashFlux4.setFinalTotalCashFlux(new BigDecimal(0));
projectFinalCashFlux4.setFinalTotalCashFlux(finalBean.getPurchaseCost());
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux4);
ProjectFinalCashFlux projectFinalCashFlux5 = new ProjectFinalCashFlux();
projectFinalCashFlux5.setProjectId(project.getId());
projectFinalCashFlux5.setType(ProjectFinalCashFlux.TYPE5);
projectFinalCashFlux5.setBudgetTotalCashFlux(cashFlowBean.getTaxCost());
projectFinalCashFlux5.setFinalTotalCashFlux(new BigDecimal(0));
projectFinalCashFlux5.setFinalTotalCashFlux(finalBean.getTaxCost());
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux5);
ProjectFinalCashFlux projectFinalCashFlux6 = new ProjectFinalCashFlux();
projectFinalCashFlux6.setProjectId(project.getId());
projectFinalCashFlux6.setType(ProjectFinalCashFlux.TYPE6);
projectFinalCashFlux6.setBudgetTotalCashFlux(cashFlowBean.getEarnestMoneyCost());
projectFinalCashFlux6.setFinalTotalCashFlux(new BigDecimal(0));
projectFinalCashFlux6.setFinalTotalCashFlux(finalBean.getEarnestMoneyCost());
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux6);
ProjectFinalCashFlux projectFinalCashFlux7 = new ProjectFinalCashFlux();
projectFinalCashFlux7.setProjectId(project.getId());
projectFinalCashFlux7.setType(ProjectFinalCashFlux.TYPE7);
projectFinalCashFlux7.setBudgetTotalCashFlux(cashFlowBean.getNetCashFlow());
projectFinalCashFlux7.setFinalTotalCashFlux(new BigDecimal(0));
projectFinalCashFlux7.setFinalTotalCashFlux(finalBean.getNetCashFlow());
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux7);
ProjectFinalCashFlux projectFinalCashFlux8 = new ProjectFinalCashFlux();
projectFinalCashFlux8.setProjectId(project.getId());
projectFinalCashFlux8.setType(ProjectFinalCashFlux.TYPE8);
projectFinalCashFlux8.setBudgetTotalCashFlux(cashFlowBean.getCashInflowFromInvestingActivities());
projectFinalCashFlux8.setFinalTotalCashFlux(new BigDecimal(0));
projectFinalCashFlux8.setFinalTotalCashFlux(finalBean.getCashInflowFromInvestingActivities());
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux8);
ProjectFinalCashFlux projectFinalCashFlux9 = new ProjectFinalCashFlux();
projectFinalCashFlux9.setProjectId(project.getId());
projectFinalCashFlux9.setType(ProjectFinalCashFlux.TYPE9);
projectFinalCashFlux9.setBudgetTotalCashFlux(cashFlowBean.getCashOutflowFromInvestingActivities());
projectFinalCashFlux9.setFinalTotalCashFlux(new BigDecimal(0));
projectFinalCashFlux9.setFinalTotalCashFlux(finalBean.getCashOutflowFromInvestingActivities());
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux9);
ProjectFinalCashFlux projectFinalCashFlux10 = new ProjectFinalCashFlux();
projectFinalCashFlux10.setProjectId(project.getId());
projectFinalCashFlux10.setType(ProjectFinalCashFlux.TYPE10);
projectFinalCashFlux10.setBudgetTotalCashFlux(cashFlowBean.getNetCashFromInvestingActivities());
projectFinalCashFlux10.setFinalTotalCashFlux(new BigDecimal(0));
projectFinalCashFlux10.setFinalTotalCashFlux(finalBean.getNetCashFromInvestingActivities());
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux10);
ProjectFinalCashFlux projectFinalCashFlux11 = new ProjectFinalCashFlux();
projectFinalCashFlux11.setProjectId(project.getId());
projectFinalCashFlux11.setType(ProjectFinalCashFlux.TYPE11);
projectFinalCashFlux11.setBudgetTotalCashFlux(cashFlowBean.getFinancingCapitalInflow());
projectFinalCashFlux11.setFinalTotalCashFlux(new BigDecimal(0));
projectFinalCashFlux11.setFinalTotalCashFlux(finalBean.getFinancingCapitalInflow());
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux11);
ProjectFinalCashFlux projectFinalCashFlux12 = new ProjectFinalCashFlux();
projectFinalCashFlux12.setProjectId(project.getId());
projectFinalCashFlux12.setType(ProjectFinalCashFlux.TYPE12);
projectFinalCashFlux12.setBudgetTotalCashFlux(cashFlowBean.getFinancingCapitalOutflow());
projectFinalCashFlux12.setFinalTotalCashFlux(new BigDecimal(0));
projectFinalCashFlux12.setFinalTotalCashFlux(finalBean.getFinancingCapitalOutflow());
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux12);
ProjectFinalCashFlux projectFinalCashFlux13 = new ProjectFinalCashFlux();
projectFinalCashFlux13.setProjectId(project.getId());
projectFinalCashFlux13.setType(ProjectFinalCashFlux.TYPE13);
projectFinalCashFlux13.setBudgetTotalCashFlux(cashFlowBean.getFinancingCapitalCashflow());
projectFinalCashFlux13.setFinalTotalCashFlux(new BigDecimal(0));
projectFinalCashFlux13.setFinalTotalCashFlux(finalBean.getFinancingCapitalCashflow());
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux13);
ProjectFinalCashFlux projectFinalCashFlux14 = new ProjectFinalCashFlux();
projectFinalCashFlux14.setProjectId(project.getId());
projectFinalCashFlux14.setType(ProjectFinalCashFlux.TYPE14);
projectFinalCashFlux14.setBudgetTotalCashFlux(cashFlowBean.getNetIncreaseMonetaryFunds());
projectFinalCashFlux14.setFinalTotalCashFlux(new BigDecimal(0));
projectFinalCashFlux14.setFinalTotalCashFlux(finalBean.getNetIncreaseMonetaryFunds());
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux14);
}
public FinalBean getFinal(Project project) {
FinalBean finalBean = new FinalBean();
List<ProjectFinalIncome> 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<ProjectFinalCost> 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<ProjectFinalCostManage> 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<ProjectFinalCashFlux> 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;
}
public SettleBean getSettle(Project project) {
SettleBean settleBean = new SettleBean();
long incomeDivice = projectSettleIncomeRepository.incomeTaxExcludeSum(project.getId(), ProjectSettleIncome.TYPE_DEVICE);
long incomeEngineer = projectSettleIncomeRepository.incomeTaxExcludeSum(project.getId(), ProjectSettleIncome.TYPE_ENGINEER);
long incomeService = projectSettleIncomeRepository.incomeTaxExcludeSum(project.getId(), ProjectSettleIncome.TYPE_SERVICE);
settleBean.setIncomeDevice(new BigDecimal(incomeDivice));
settleBean.setIncomeEngineer(new BigDecimal(incomeEngineer));
settleBean.setIncomeService(new BigDecimal(incomeService));
long costDevice = projectSettleCostRepository.costTaxExcludeSum(project.getId(), ProjectSettleCost.TYPE_DEVICE);
long costBuilding = projectSettleCostRepository.costTaxExcludeSum(project.getId(), ProjectSettleCost.TYPE_BUILDING);
long costService = projectSettleCostRepository.costTaxExcludeSum(project.getId(), ProjectSettleCost.TYPE_SERVICE);
long costOther = projectSettleCostRepository.costTaxExcludeSum(project.getId(), ProjectSettleCost.TYPE_OTHER);
long costProjectManage = projectSettleCostRepository.costTaxExcludeSum(project.getId(), ProjectSettleCost.TYPE_PROJECT_MANAGE);
long costOtherOther = projectSettleCostRepository.costTaxExcludeSum(project.getId(), ProjectSettleCost.TYPE_OTHER_OTHER);
settleBean.setCostPurchaseDevice(new BigDecimal(costDevice));
settleBean.setCostPurchaseBuild(new BigDecimal(costBuilding));
settleBean.setCostPurchaseService(new BigDecimal(costService));
settleBean.setCostOther(new BigDecimal(costOther));
settleBean.setCostProjectManage(new BigDecimal(costProjectManage));
settleBean.setCostPurchaseOther(new BigDecimal(costOtherOther));
long costExpropriation = projectSettleCostManageRepository.costTaxExcludeSum(project.getId(), ProjectSettleCostManage.TYPE_EXPROPRIATION);
long costCompanyMange = projectSettleCostManageRepository.costTaxExcludeSum(project.getId(), ProjectSettleCostManage.TYPE_COMPANY_MANAGE);
long costIncomeTax = projectSettleCostManageRepository.costTaxExcludeSum(project.getId(), ProjectSettleCostManage.TYPE_INCOME_TAX);
settleBean.setCostExpropriation(new BigDecimal(costExpropriation));
settleBean.setCostCompanyManage(new BigDecimal(costCompanyMange));
settleBean.setCostIncomeTax(new BigDecimal(costIncomeTax));
long type1 = projectSettleCashFlowRepository.costAmountSum(project.getId(), ProjectSettleCashFlow.SALE_INCOME_CASH);
long type2 = projectSettleCashFlowRepository.costAmountSum(project.getId(), ProjectSettleCashFlow.TAX_RETURN);
long type3 = projectSettleCashFlowRepository.costAmountSum(project.getId(), ProjectSettleCashFlow.EARNEST_MONEY_INCOME);
long type4 = projectSettleCashFlowRepository.costAmountSum(project.getId(), ProjectSettleCashFlow.PURCHASE_COST);
long type5 = projectSettleCashFlowRepository.costAmountSum(project.getId(), ProjectSettleCashFlow.TAX_COST);
long type6 = projectSettleCashFlowRepository.costAmountSum(project.getId(), ProjectSettleCashFlow.EARNEST_MONEY_COST);
long type7 = projectSettleCashFlowRepository.costAmountSum(project.getId(), ProjectSettleCashFlow.NET_CASH_FLOW);
long type8 = projectSettleCashFlowRepository.costAmountSum(project.getId(), ProjectSettleCashFlow.CASH_INFLOW_FROM_INVESTING_ACTIVITIES);
long type9 = projectSettleCashFlowRepository.costAmountSum(project.getId(), ProjectSettleCashFlow.CASH_OUTFLOW_FROM_INVESTING_ACTIVITIES);
long type10 = projectSettleCashFlowRepository.costAmountSum(project.getId(), ProjectSettleCashFlow.NET_CASH_FROM_INVESTING_ACTIVITIES);
long type11 = projectSettleCashFlowRepository.costAmountSum(project.getId(), ProjectSettleCashFlow.FINANCING_CAPITAL_INFLOW);
long type12 = projectSettleCashFlowRepository.costAmountSum(project.getId(), ProjectSettleCashFlow.FINANCING_CAPITAL_OUTFLOW);
long type13 = projectSettleCashFlowRepository.costAmountSum(project.getId(), ProjectSettleCashFlow.FINANCING_CAPITAL_CASHFLOW);
long type14 = projectSettleCashFlowRepository.costAmountSum(project.getId(), ProjectSettleCashFlow.NET_INCREASE_MONETARY_FUNDS);
settleBean.setSaleIncomeCash(new BigDecimal(type1));
settleBean.setTaxReturn(new BigDecimal(type2));
settleBean.setEarnestMoneyIncome(new BigDecimal(type3));
settleBean.setPurchaseCost(new BigDecimal(type4));
settleBean.setTaxCost(new BigDecimal(type5));
settleBean.setEarnestMoneyCost(new BigDecimal(type6));
settleBean.setNetCashFlow(new BigDecimal(type7));
settleBean.setCashInflowFromInvestingActivities(new BigDecimal(type8));
settleBean.setCashOutflowFromInvestingActivities(new BigDecimal(type9));
settleBean.setNetCashFromInvestingActivities(new BigDecimal(type10));
settleBean.setFinancingCapitalInflow(new BigDecimal(type11));
settleBean.setFinancingCapitalOutflow(new BigDecimal(type12));
settleBean.setFinancingCapitalCashflow(new BigDecimal(type13));
settleBean.setNetIncreaseMonetaryFunds(new BigDecimal(type14));
return settleBean;
}
}