修改项目汇总统计
parent
146474552c
commit
3190f85c10
|
@ -20,14 +20,26 @@ public class FormerBean extends IncomeCostBean{
|
|||
* 毛利润
|
||||
*/
|
||||
private BigDecimal grossProfit;
|
||||
/**
|
||||
* 毛利润
|
||||
*/
|
||||
private BigDecimal grossProfitMargin;
|
||||
/**
|
||||
* 贡献利润
|
||||
*/
|
||||
private BigDecimal contributionProfit;
|
||||
/**
|
||||
* 贡献利润
|
||||
*/
|
||||
private BigDecimal contributionProfitMargin;
|
||||
/**
|
||||
* 净利润
|
||||
*/
|
||||
private BigDecimal netProfit;
|
||||
/**
|
||||
* 净利润
|
||||
*/
|
||||
private BigDecimal netProfitMargin;
|
||||
/**
|
||||
* a销售商品、提供劳务收到的现金
|
||||
* */
|
||||
|
@ -98,7 +110,15 @@ public class FormerBean extends IncomeCostBean{
|
|||
}
|
||||
|
||||
public BigDecimal getCostManageTotal() {
|
||||
return costManageTotal;
|
||||
BigDecimal costExpropriation = getCostExpropriationTaxExclude();
|
||||
BigDecimal costCompanyManage = getCostCompanyManageTaxExclude();
|
||||
BigDecimal costIncomeTax = getCostIncomeTax();
|
||||
|
||||
if (null == costExpropriation || null == costCompanyManage || null == costIncomeTax) {
|
||||
return new BigDecimal(0);
|
||||
}
|
||||
|
||||
return costExpropriation.add(costCompanyManage).add(costIncomeTax);
|
||||
}
|
||||
|
||||
public void setCostManageTotal(BigDecimal costManageTotal) {
|
||||
|
@ -113,6 +133,14 @@ public class FormerBean extends IncomeCostBean{
|
|||
this.grossProfit = grossProfit;
|
||||
}
|
||||
|
||||
public BigDecimal getGrossProfitMargin() {
|
||||
return grossProfitMargin;
|
||||
}
|
||||
|
||||
public void setGrossProfitMargin(BigDecimal grossProfitMargin) {
|
||||
this.grossProfitMargin = grossProfitMargin;
|
||||
}
|
||||
|
||||
public BigDecimal getContributionProfit() {
|
||||
return contributionProfit;
|
||||
}
|
||||
|
@ -121,6 +149,14 @@ public class FormerBean extends IncomeCostBean{
|
|||
this.contributionProfit = contributionProfit;
|
||||
}
|
||||
|
||||
public BigDecimal getContributionProfitMargin() {
|
||||
return contributionProfitMargin;
|
||||
}
|
||||
|
||||
public void setContributionProfitMargin(BigDecimal contributionProfitMargin) {
|
||||
this.contributionProfitMargin = contributionProfitMargin;
|
||||
}
|
||||
|
||||
public BigDecimal getNetProfit() {
|
||||
return netProfit;
|
||||
}
|
||||
|
@ -129,6 +165,14 @@ public class FormerBean extends IncomeCostBean{
|
|||
this.netProfit = netProfit;
|
||||
}
|
||||
|
||||
public BigDecimal getNetProfitMargin() {
|
||||
return netProfitMargin;
|
||||
}
|
||||
|
||||
public void setNetProfitMargin(BigDecimal netProfitMargin) {
|
||||
this.netProfitMargin = netProfitMargin;
|
||||
}
|
||||
|
||||
public BigDecimal getSaleIncomeCash() {
|
||||
return saleIncomeCash;
|
||||
}
|
||||
|
@ -242,11 +286,31 @@ public class FormerBean extends IncomeCostBean{
|
|||
}
|
||||
|
||||
public BigDecimal getCashFlowTotal() {
|
||||
// cashFlowTotal = 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);
|
||||
return cashFlowTotal;
|
||||
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 void setCashFlowTotal(BigDecimal cashFlowTotal) {
|
||||
|
|
|
@ -220,7 +220,7 @@ public class SettleBean {
|
|||
* 获取所有现金流量总额
|
||||
* @return
|
||||
*/
|
||||
public BigDecimal getCashFluxTotal() {
|
||||
public BigDecimal getCashFlowTotal() {
|
||||
BigDecimal saleIncomeCash = getSaleIncomeCash();
|
||||
BigDecimal taxReturn = getTaxReturn();
|
||||
BigDecimal earnestMoneyIncome = getEarnestMoneyIncome();
|
||||
|
@ -248,6 +248,8 @@ public class SettleBean {
|
|||
.add(financingCapitalInflow).add(financingCapitalOutflow).add(financingCapitalCashflow).add(netIncreaseMonetaryFunds);
|
||||
}
|
||||
|
||||
private String projectName;
|
||||
|
||||
public BigDecimal getIncomeDevice() {
|
||||
return incomeDevice;
|
||||
}
|
||||
|
@ -503,4 +505,12 @@ public class SettleBean {
|
|||
public void setNetCashFlow(BigDecimal netCashFlow) {
|
||||
this.netCashFlow = netCashFlow;
|
||||
}
|
||||
|
||||
public String getProjectName() {
|
||||
return projectName;
|
||||
}
|
||||
|
||||
public void setProjectName(String projectName) {
|
||||
this.projectName = projectName;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -55,7 +55,7 @@ public class ProjectSettleController extends BaseController{
|
|||
ProjectSettleIncome projectSettleIncome = projectSettleIncomeRepository.findNewByProjectId(id);
|
||||
if (projectSettleIncome != null) {
|
||||
String former = projectSettleIncome.getTime();
|
||||
Date date = DateKit.getDate(former, DateKit.DATE_FORMAT);
|
||||
Date date = DateKit.getDate(former, DateKit.DATE_FORMAT_YEAR_MONTH2);
|
||||
Calendar instance = Calendar.getInstance();
|
||||
instance.setTime(date);
|
||||
instance.set(Calendar.MONTH, instance.get(Calendar.MONTH) + 1);
|
||||
|
|
|
@ -1,7 +1,9 @@
|
|||
package cn.palmte.work.controller.backend;
|
||||
|
||||
import cn.palmte.work.bean.SettleBean;
|
||||
import cn.palmte.work.model.Admin;
|
||||
import cn.palmte.work.service.ProjectSummaryService;
|
||||
import cn.palmte.work.utils.DateKit;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
|
@ -11,6 +13,8 @@ import org.springframework.web.bind.annotation.RequestParam;
|
|||
import top.jfunc.common.db.bean.Page;
|
||||
import top.jfunc.common.db.bean.Record;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.concurrent.ConcurrentHashMap;
|
||||
|
@ -40,12 +44,20 @@ public class ProjectSummaryController extends BaseController {
|
|||
Admin admin = getAdmin();
|
||||
model.put("keywords",keywords);
|
||||
ConcurrentHashMap<String, String> searchInfo = getSearchInfo(keywords,model);
|
||||
List<Page<Record>> list = projectSummaryService.getList(searchInfo, pageNumber, pageSize);
|
||||
String time;
|
||||
if (!searchInfo.containsKey("time")) {
|
||||
Calendar instance = Calendar.getInstance();
|
||||
instance.setTime(new Date());
|
||||
instance.set(Calendar.MONTH, instance.get(Calendar.MONTH));
|
||||
Date current = instance.getTime();
|
||||
time = DateKit.toStr(current, DateKit.DATE_FORMAT_YEAR_MONTH2);
|
||||
model.put("time", time);
|
||||
} else {
|
||||
time = searchInfo.get("time");
|
||||
}
|
||||
List<Page<SettleBean>> list = projectSummaryService.getList(searchInfo, pageNumber, pageSize, time);
|
||||
model.put("pager", (list.size() > 0)? list.get(0) : new Page<Record>(pageNumber, pageSize));
|
||||
|
||||
model.put("pager1", list.get(0));
|
||||
model.put("pager2", list.get(1));
|
||||
model.put("pager3", list.get(2));
|
||||
|
||||
return "admin/project_summary";
|
||||
return "admin/project_statistics";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -17,4 +17,9 @@ public interface ProjectSettleCashFlowRepository extends JpaRepository<ProjectSe
|
|||
List<ProjectSettleCashFlow> findAllByProjectIdBefore(int id, String time);
|
||||
|
||||
List<ProjectSettleCashFlow> findAllByProjectId(int id);
|
||||
|
||||
List<ProjectSettleCashFlow> findAllByTime(String time);
|
||||
|
||||
@Query(value = "select sum(amount) from project_settle_cash_flow where project_id = ? and type = ?", nativeQuery = true)
|
||||
long costAmountSum(int projectId,int type);
|
||||
}
|
||||
|
|
|
@ -20,4 +20,6 @@ public interface ProjectSettleCostManageRepository extends JpaRepository<Project
|
|||
long costTaxExcludeSum(int projectId,int type);
|
||||
|
||||
List<ProjectSettleCostManage> findAllByProjectId(int id);
|
||||
|
||||
List<ProjectSettleCostManage> findAllByTime(String time);
|
||||
}
|
||||
|
|
|
@ -20,4 +20,6 @@ public interface ProjectSettleCostRepository extends JpaRepository<ProjectSettle
|
|||
long costTaxExcludeSum(int projectId,int type);
|
||||
|
||||
List<ProjectSettleCost> findAllByProjectId(int id);
|
||||
|
||||
List<ProjectSettleCost> findAllByTime(String time);
|
||||
}
|
||||
|
|
|
@ -20,4 +20,9 @@ public interface ProjectSettleIncomeRepository extends JpaRepository<ProjectSett
|
|||
long incomeTaxExcludeSum(int projectId,int type);
|
||||
|
||||
List<ProjectSettleIncome> findAllByProjectId(int id);
|
||||
|
||||
List<ProjectSettleIncome> findAllByTime(String time);
|
||||
|
||||
@Query(value = "select * from project_settle_income where project_id = ?1 order by id desc limit 0, 1", nativeQuery = true)
|
||||
ProjectSettleIncome findNewByProjectId(int id);
|
||||
}
|
||||
|
|
|
@ -17,4 +17,6 @@ public interface ProjectSettleProfitMarginRepository extends JpaRepository<Proje
|
|||
List<ProjectSettleProfitMargin> findAllByProjectIdBefore(int id, String time);
|
||||
|
||||
List<ProjectSettleProfitMargin> findAllByProjectId(int id);
|
||||
|
||||
List<ProjectSettleProfitMargin> findAllByTime(String time);
|
||||
}
|
||||
|
|
|
@ -632,4 +632,111 @@ public class ProjectSettleService {
|
|||
|
||||
return settleBean;
|
||||
}
|
||||
|
||||
public SettleBean getMonthTotalSettle(String time) {
|
||||
SettleBean settleBean = new SettleBean();
|
||||
|
||||
List<ProjectSettleIncome> incomes = projectSettleIncomeRepository.findAllByTime(time);
|
||||
if(CollectionUtil.isNotEmpty(incomes)){
|
||||
BigDecimal incomeDevice = incomes.stream().filter(d -> d.getType() == ProjectSettleIncome.TYPE_DEVICE).map(ProjectSettleIncome::getIncomeTaxExclude).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
settleBean.setIncomeDevice(incomeDevice);
|
||||
|
||||
BigDecimal incomeEngineer = incomes.stream().filter(d -> d.getType() == ProjectSettleIncome.TYPE_ENGINEER).map(ProjectSettleIncome::getIncomeTaxExclude).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
settleBean.setIncomeEngineer(incomeEngineer );
|
||||
|
||||
BigDecimal incomeService = incomes.stream().filter(d -> d.getType() == ProjectSettleIncome.TYPE_SERVICE).map(ProjectSettleIncome::getIncomeTaxExclude).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
settleBean.setIncomeService(incomeService);
|
||||
}
|
||||
|
||||
List<ProjectSettleCost> costs = projectSettleCostRepository.findAllByTime(time);
|
||||
if(CollectionUtil.isNotEmpty(costs)){
|
||||
BigDecimal costDevice = costs.stream().filter(d -> d.getType() == ProjectSettleCost.TYPE_DEVICE).map(ProjectSettleCost::getCostTaxExclude).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
settleBean.setCostPurchaseDevice(costDevice);
|
||||
|
||||
BigDecimal costBuild = costs.stream().filter(d -> d.getType() == ProjectSettleCost.TYPE_BUILDING).map(ProjectSettleCost::getCostTaxExclude).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
settleBean.setCostPurchaseBuild(costBuild);
|
||||
|
||||
BigDecimal costService = costs.stream().filter(d -> d.getType() == ProjectSettleCost.TYPE_SERVICE).map(ProjectSettleCost::getCostTaxExclude).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
settleBean.setCostPurchaseService(costService);
|
||||
|
||||
BigDecimal costOther = costs.stream().filter(d -> d.getType() == ProjectSettleCost.TYPE_OTHER).map(ProjectSettleCost::getCostTaxExclude).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
settleBean.setCostPurchaseOther(costOther);
|
||||
|
||||
BigDecimal costProjectManage = costs.stream().filter(d -> d.getType() == ProjectSettleCost.TYPE_PROJECT_MANAGE).map(ProjectSettleCost::getCostTaxExclude).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
settleBean.setCostProjectManage(costProjectManage );
|
||||
|
||||
BigDecimal costOtherOther = costs.stream().filter(d -> d.getType() == ProjectSettleCost.TYPE_OTHER_OTHER).map(ProjectSettleCost::getCostTaxExclude).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
settleBean.setCostOther(costOtherOther);
|
||||
}
|
||||
|
||||
List<ProjectSettleCostManage> manages = projectSettleCostManageRepository.findAllByTime(time);
|
||||
if(CollectionUtil.isNotEmpty(manages)){
|
||||
BigDecimal costManageExpropriation = manages.stream().filter(d -> d.getType() == ProjectSettleCostManage.TYPE_EXPROPRIATION).map(ProjectSettleCostManage::getCostTaxExclude).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
settleBean.setCostExpropriation(costManageExpropriation);
|
||||
|
||||
BigDecimal costManageCompany = manages.stream().filter(d -> d.getType() == ProjectSettleCostManage.TYPE_COMPANY_MANAGE).map(ProjectSettleCostManage::getCostTaxExclude).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
settleBean.setCostCompanyManage(costManageCompany);
|
||||
|
||||
BigDecimal costIncomeTax = manages.stream().filter(d -> d.getType() == ProjectSettleCostManage.TYPE_INCOME_TAX).map(ProjectSettleCostManage::getCostTaxExclude).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
settleBean.setCostIncomeTax(costIncomeTax);
|
||||
}
|
||||
|
||||
List<ProjectSettleProfitMargin> profits = projectSettleProfitMarginRepository.findAllByTime(time);
|
||||
if(CollectionUtil.isNotEmpty(profits)) {
|
||||
BigDecimal grossProfit = profits.stream().filter(d -> d.getType() == ProjectSettleProfitMargin.TYPE_GROSS_PROFIT).map(ProjectSettleProfitMargin::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
settleBean.setGrossProfit(grossProfit);
|
||||
|
||||
BigDecimal contributionProfit = profits.stream().filter(d -> d.getType() == ProjectSettleProfitMargin.TYPE_CONTRIBUTION_PROFIT).map(ProjectSettleProfitMargin::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
settleBean.setContributionProfit(contributionProfit);
|
||||
|
||||
BigDecimal netProfit = profits.stream().filter(d -> d.getType() == ProjectSettleProfitMargin.TYPE_NET_PROFIT).map(ProjectSettleProfitMargin::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
settleBean.setNetProfit(netProfit);
|
||||
}
|
||||
|
||||
List<ProjectSettleCashFlow> cashFlows = projectSettleCashFlowRepository.findAllByTime(time);
|
||||
if(CollectionUtil.isNotEmpty(cashFlows)) {
|
||||
BigDecimal saleIncomeCash = cashFlows.stream().filter(d -> d.getType() == ProjectSettleCashFlow.SALE_INCOME_CASH).map(ProjectSettleCashFlow::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
settleBean.setSaleIncomeCash(saleIncomeCash);
|
||||
|
||||
BigDecimal taxReturn = cashFlows.stream().filter(d -> d.getType() == ProjectSettleCashFlow.TAX_RETURN).map(ProjectSettleCashFlow::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
settleBean.setTaxReturn(taxReturn);
|
||||
|
||||
BigDecimal earnestMoneyIncome = cashFlows.stream().filter(d -> d.getType() == ProjectSettleCashFlow.EARNEST_MONEY_INCOME).map(ProjectSettleCashFlow::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
settleBean.setEarnestMoneyIncome(earnestMoneyIncome);
|
||||
|
||||
BigDecimal purchaseCost = cashFlows.stream().filter(d -> d.getType() == ProjectSettleCashFlow.PURCHASE_COST).map(ProjectSettleCashFlow::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
settleBean.setPurchaseCost(purchaseCost);
|
||||
|
||||
BigDecimal taxCost = cashFlows.stream().filter(d -> d.getType() == ProjectSettleCashFlow.TAX_COST).map(ProjectSettleCashFlow::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
settleBean.setTaxCost(taxCost);
|
||||
|
||||
BigDecimal earnestMoneyCost = cashFlows.stream().filter(d -> d.getType() == ProjectSettleCashFlow.EARNEST_MONEY_COST).map(ProjectSettleCashFlow::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
settleBean.setEarnestMoneyCost(earnestMoneyCost);
|
||||
|
||||
BigDecimal netCashFlow = cashFlows.stream().filter(d -> d.getType() == ProjectSettleCashFlow.NET_CASH_FLOW).map(ProjectSettleCashFlow::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
settleBean.setNetCashFlow(netCashFlow);
|
||||
|
||||
BigDecimal cashInflowFromInvestingActivities = cashFlows.stream().filter(d -> d.getType() == ProjectSettleCashFlow.CASH_INFLOW_FROM_INVESTING_ACTIVITIES).map(ProjectSettleCashFlow::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
settleBean.setCashInflowFromInvestingActivities(cashInflowFromInvestingActivities);
|
||||
|
||||
BigDecimal cashOutflowFromInvestingActivities = cashFlows.stream().filter(d -> d.getType() == ProjectSettleCashFlow.CASH_OUTFLOW_FROM_INVESTING_ACTIVITIES).map(ProjectSettleCashFlow::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
settleBean.setCashOutflowFromInvestingActivities(cashOutflowFromInvestingActivities);
|
||||
|
||||
BigDecimal netCashFromInvestingActivities = cashFlows.stream().filter(d -> d.getType() == ProjectSettleCashFlow.NET_CASH_FROM_INVESTING_ACTIVITIES).map(ProjectSettleCashFlow::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
settleBean.setNetCashFromInvestingActivities(netCashFromInvestingActivities);
|
||||
|
||||
BigDecimal financingCapitalInflow = cashFlows.stream().filter(d -> d.getType() == ProjectSettleCashFlow.FINANCING_CAPITAL_INFLOW).map(ProjectSettleCashFlow::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
settleBean.setFinancingCapitalInflow(financingCapitalInflow);
|
||||
|
||||
BigDecimal financingCapitalOutflow = cashFlows.stream().filter(d -> d.getType() == ProjectSettleCashFlow.FINANCING_CAPITAL_OUTFLOW).map(ProjectSettleCashFlow::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
settleBean.setFinancingCapitalOutflow(financingCapitalOutflow);
|
||||
|
||||
BigDecimal financingCapitalCashflow = cashFlows.stream().filter(d -> d.getType() == ProjectSettleCashFlow.FINANCING_CAPITAL_CASHFLOW).map(ProjectSettleCashFlow::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
settleBean.setFinancingCapitalCashflow(financingCapitalCashflow);
|
||||
|
||||
BigDecimal netIncreaseMonetaryFunds = cashFlows.stream().filter(d -> d.getType() == ProjectSettleCashFlow.NET_INCREASE_MONETARY_FUNDS).map(ProjectSettleCashFlow::getAmount).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
settleBean.setNetIncreaseMonetaryFunds(netIncreaseMonetaryFunds);
|
||||
}
|
||||
return settleBean;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,7 +1,6 @@
|
|||
package cn.palmte.work.service;
|
||||
|
||||
import cn.palmte.work.bean.BudgetBean;
|
||||
import cn.palmte.work.bean.CashFlowBean;
|
||||
import cn.palmte.work.bean.SettleBean;
|
||||
import cn.palmte.work.model.Project;
|
||||
import cn.palmte.work.model.ProjectSettleCostRepository;
|
||||
import org.slf4j.Logger;
|
||||
|
@ -9,7 +8,6 @@ import org.slf4j.LoggerFactory;
|
|||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import top.jfunc.common.db.bean.Page;
|
||||
import top.jfunc.common.db.bean.Record;
|
||||
import top.jfunc.common.db.utils.Pagination;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
@ -33,62 +31,96 @@ public class ProjectSummaryService {
|
|||
@Autowired
|
||||
private ProjectSettleCostRepository projectSettleCostRepository;
|
||||
|
||||
@Autowired
|
||||
private ProjectSettleService projectSettleService;
|
||||
|
||||
@Autowired
|
||||
private Pagination pagination;
|
||||
|
||||
public List<Page<Record>> getList(ConcurrentHashMap<String, String> searchInfo, int pageNumber, int pageSize) {
|
||||
List<Page<Record>> pageList = new ArrayList<>();
|
||||
public List<Page<SettleBean>> getList(ConcurrentHashMap<String, String> searchInfo, int pageNumber, int pageSize, String time) {
|
||||
List<Page<SettleBean>> pageList = new ArrayList<>();
|
||||
if (pageNumber == 1) {
|
||||
//预算金额
|
||||
Map<String, BigDecimal> budget = new HashMap<>(40);
|
||||
String sql = "select proj.id, proj.name from project_settle_cost psc left join project proj on psc.project_id = proj.id where psc.time = ? group by proj.id order by proj.id asc";
|
||||
List<Project> projects = pagination.find(sql, Project.class, searchInfo.getOrDefault("time", "2021-00"));
|
||||
for (Project project : projects) {
|
||||
BudgetBean budgetBean = projectBudgetService.getBudget(project);
|
||||
CashFlowBean cashFlowBean = projectBudgetService.getCashFlowBean(project, projectBudgetService.getProjectBudgetPlanDetails(project));
|
||||
budget.put("incomeDeviceTaxExclude", budget.getOrDefault("incomeDeviceTaxExclude", new BigDecimal(0)).add(budgetBean.getIncomeDeviceTaxExclude()));
|
||||
budget.put("incomeEngineerTaxExclude", budget.getOrDefault("incomeEngineerTaxExclude", new BigDecimal(0)).add(budgetBean.getIncomeEngineerTaxExclude()));
|
||||
budget.put("incomeServiceTaxExclude", budget.getOrDefault("incomeServiceTaxExclude", new BigDecimal(0)).add(budgetBean.getIncomeServiceTaxExclude()));
|
||||
budget.put("costPurchaseDeviceTaxExclude", budget.getOrDefault("costPurchaseDeviceTaxExclude", new BigDecimal(0)).add(budgetBean.getCostPurchaseDeviceTaxExclude()));
|
||||
budget.put("costPurchaseBuildTaxExclude", budget.getOrDefault("costPurchaseBuildTaxExclude", new BigDecimal(0)).add(budgetBean.getCostPurchaseBuildTaxExclude()));
|
||||
budget.put("costPurchaseServiceTaxExclude", budget.getOrDefault("costPurchaseServiceTaxExclude", new BigDecimal(0)).add(budgetBean.getCostPurchaseServiceTaxExclude()));
|
||||
budget.put("costPurchaseOtherTaxExclude", budget.getOrDefault("costPurchaseOtherTaxExclude", new BigDecimal(0)).add(budgetBean.getCostPurchaseOtherTaxExclude()));
|
||||
budget.put("costOtherOtherTaxExclude", budget.getOrDefault("costOtherOtherTaxExclude", new BigDecimal(0)).add(budgetBean.getCostOtherOtherTaxExclude()));
|
||||
budget.put("costProjectManageTaxExclude", budget.getOrDefault("costProjectManageTaxExclude", new BigDecimal(0)).add(budgetBean.getCostProjectManageTaxExclude()));
|
||||
budget.put("costExpropriationTaxExclude", budget.getOrDefault("costExpropriationTaxExclude", new BigDecimal(0)).add(budgetBean.getCostExpropriationTaxExclude()));
|
||||
budget.put("costCompanyManageTaxExclude", budget.getOrDefault("costCompanyManageTaxExclude", new BigDecimal(0)).add(budgetBean.getCostCompanyManageTaxExclude()));
|
||||
List<Project> projects = pagination.find(sql, Project.class, time);
|
||||
// for (Project project : projects) {
|
||||
// BudgetBean budgetBean = projectBudgetService.getBudget(project);
|
||||
// CashFlowBean cashFlowBean = projectBudgetService.getCashFlowBean(project, projectBudgetService.getProjectBudgetPlanDetails(project));
|
||||
// budget.put("incomeDevice", budget.getOrDefault("incomeDeviceTaxExclude", new BigDecimal(0)).add(budgetBean.getIncomeDeviceTaxExclude()));
|
||||
// budget.put("incomeEngineer", budget.getOrDefault("incomeEngineerTaxExclude", new BigDecimal(0)).add(budgetBean.getIncomeEngineerTaxExclude()));
|
||||
// budget.put("incomeService", budget.getOrDefault("incomeServiceTaxExclude", new BigDecimal(0)).add(budgetBean.getIncomeServiceTaxExclude()));
|
||||
// budget.put("costPurchaseDevice", budget.getOrDefault("costPurchaseDeviceTaxExclude", new BigDecimal(0)).add(budgetBean.getCostPurchaseDeviceTaxExclude()));
|
||||
// budget.put("costPurchaseBuild", budget.getOrDefault("costPurchaseBuildTaxExclude", new BigDecimal(0)).add(budgetBean.getCostPurchaseBuildTaxExclude()));
|
||||
// budget.put("costPurchaseService", budget.getOrDefault("costPurchaseServiceTaxExclude", new BigDecimal(0)).add(budgetBean.getCostPurchaseServiceTaxExclude()));
|
||||
// budget.put("costPurchaseOther", budget.getOrDefault("costPurchaseOtherTaxExclude", new BigDecimal(0)).add(budgetBean.getCostPurchaseOtherTaxExclude()));
|
||||
// budget.put("costOtherOther", budget.getOrDefault("costOtherOtherTaxExclude", new BigDecimal(0)).add(budgetBean.getCostOtherOtherTaxExclude()));
|
||||
// budget.put("costProjectManage", budget.getOrDefault("costProjectManageTaxExclude", new BigDecimal(0)).add(budgetBean.getCostProjectManageTaxExclude()));
|
||||
// budget.put("costExpropriation", budget.getOrDefault("costExpropriationTaxExclude", new BigDecimal(0)).add(budgetBean.getCostExpropriationTaxExclude()));
|
||||
// budget.put("costCompanyManage", budget.getOrDefault("costCompanyManageTaxExclude", new BigDecimal(0)).add(budgetBean.getCostCompanyManageTaxExclude()));
|
||||
//
|
||||
// budget.put("incomeTotal", budget.getOrDefault("incomeTotalTaxExclude", new BigDecimal(0)).add(budgetBean.getIncomeTotalTaxExclude()));
|
||||
// budget.put("incomeTotalTaxInclude", budget.getOrDefault("incomeTotalTaxInclude", new BigDecimal(0)).add(budgetBean.getIncomeTotalTaxInclude()));
|
||||
// budget.put("costTotal2", budget.getOrDefault("costTotalTaxExclude2", new BigDecimal(0)).add(budgetBean.getCostTotalTaxExclude()));
|
||||
// budget.put("costTotalTaxInclude", budget.getOrDefault("costTotalTaxInclude", new BigDecimal(0)).add(budgetBean.getCostTotalTaxInclude()));
|
||||
// budget.put("costTotal", budget.getOrDefault("costTotalTaxExclude", new BigDecimal(0)).add(budgetBean.getCostPurchaseDeviceTaxExclude().add(budgetBean.getCostPurchaseBuildTaxExclude()).add(budgetBean.getCostPurchaseServiceTaxExclude()).add(budgetBean.getCostPurchaseOtherTaxExclude())));
|
||||
// budget.put("projectGrossProfit", budget.getOrDefault("projectGrossProfit", new BigDecimal(0)).add(budgetBean.getProjectGrossProfit()));
|
||||
// budget.put("projectContributionProfit", budget.getOrDefault("projectContributionProfit", new BigDecimal(0)).add(budgetBean.getProjectContributionProfit()));
|
||||
//
|
||||
// budget.put("saleIncomeCash", budget.getOrDefault("saleIncomeCash", new BigDecimal(0)).add(cashFlowBean.getSaleIncomeCash()));
|
||||
// budget.put("taxReturn", budget.getOrDefault("taxReturn", new BigDecimal(0)).add(cashFlowBean.getTaxReturn()));
|
||||
// budget.put("earnestMoneyIncome", budget.getOrDefault("earnestMoneyIncome", new BigDecimal(0)).add(cashFlowBean.getEarnestMoneyIncome()));
|
||||
// budget.put("purchaseCost", budget.getOrDefault("purchaseCost", new BigDecimal(0)).add(cashFlowBean.getPurchaseCost()));
|
||||
// budget.put("taxCost", budget.getOrDefault("taxCost", new BigDecimal(0)).add(cashFlowBean.getTaxCost()));
|
||||
// budget.put("earnestMoneyCost", budget.getOrDefault("earnestMoneyCost", new BigDecimal(0)).add(cashFlowBean.getEarnestMoneyCost()));
|
||||
// budget.put("netCashFlow", budget.getOrDefault("netCashFlow", new BigDecimal(0)).add(cashFlowBean.getNetCashFlow()));
|
||||
// budget.put("cashInflowFromInvestingActivities", budget.getOrDefault("cashInflowFromInvestingActivities", new BigDecimal(0)).add(cashFlowBean.getCashInflowFromInvestingActivities()));
|
||||
// budget.put("cashOutflowFromInvestingActivities", budget.getOrDefault("cashOutflowFromInvestingActivities", new BigDecimal(0)).add(cashFlowBean.getCashOutflowFromInvestingActivities()));
|
||||
// budget.put("netCashFromInvestingActivities", budget.getOrDefault("netCashFromInvestingActivities", new BigDecimal(0)).add(cashFlowBean.getNetCashFromInvestingActivities()));
|
||||
// budget.put("financingCapitalInflow", budget.getOrDefault("financingCapitalInflow", new BigDecimal(0)).add(cashFlowBean.getFinancingCapitalInflow()));
|
||||
// budget.put("financingCapitalOutflow", budget.getOrDefault("financingCapitalOutflow", new BigDecimal(0)).add(cashFlowBean.getFinancingCapitalOutflow()));
|
||||
// budget.put("financingCapitalCashflow", budget.getOrDefault("financingCapitalCashflow", new BigDecimal(0)).add(cashFlowBean.getFinancingCapitalCashflow()));
|
||||
// budget.put("netIncreaseMonetaryFunds", budget.getOrDefault("netIncreaseMonetaryFunds", new BigDecimal(0)).add(cashFlowBean.getNetIncreaseMonetaryFunds()));
|
||||
// }
|
||||
// Record budgetRecord = new Record();
|
||||
// budgetRecord.getColumns().putAll(budget);
|
||||
// budgetRecord.set("projectName", "预算金额(不含税)");
|
||||
// budgetRecord.set("projectGrossProfitRate", budget.getOrDefault("projectGrossProfit", new BigDecimal(0)).divide(budget.getOrDefault("incomeTotalTaxExclude", new BigDecimal(1))));
|
||||
// budgetRecord.set("projectContributionProfitRate", budget.getOrDefault("projectContributionProfit", new BigDecimal(0)).divide(budget.getOrDefault("incomeTotalTaxExclude", new BigDecimal(1))));
|
||||
// budgetRecord.set("taxCost", budget.getOrDefault("incomeTotalTaxInclude", new BigDecimal(0)).subtract(budget.getOrDefault("incomeTotal", new BigDecimal(0))).subtract(budget.getOrDefault("costTotalTaxInclude", new BigDecimal(0))).add(budget.getOrDefault("costTotal2", new BigDecimal(0))));
|
||||
// budgetRecord.set("projectNetProfit", budget.getOrDefault("projectGrossProfit", new BigDecimal(0)).subtract(budgetRecord.getBigDecimal("taxCost")));
|
||||
// budgetRecord.set("projectContributionProfitRate", budgetRecord.getBigDecimal("projectNetProfit").divide(budget.getOrDefault("incomeTotalTaxExclude", new BigDecimal(1))));
|
||||
SettleBean budgetBean = new SettleBean();
|
||||
budgetBean.setProjectName("预算金额(不含税)");
|
||||
Page<SettleBean> page = new Page<>(pageNumber, pageSize);
|
||||
List<SettleBean> list = new ArrayList<>();
|
||||
list.add(budgetBean);
|
||||
|
||||
budget.put("incomeTotalTaxExclude", budget.getOrDefault("incomeTotalTaxExclude", new BigDecimal(0)).add(budgetBean.getIncomeTotalTaxExclude()));
|
||||
budget.put("incomeTotalTaxInclude", budget.getOrDefault("incomeTotalTaxInclude", new BigDecimal(0)).add(budgetBean.getIncomeTotalTaxInclude()));
|
||||
budget.put("costTotalTaxExclude2", budget.getOrDefault("costTotalTaxExclude2", new BigDecimal(0)).add(budgetBean.getCostTotalTaxExclude()));
|
||||
budget.put("costTotalTaxInclude", budget.getOrDefault("costTotalTaxInclude", new BigDecimal(0)).add(budgetBean.getCostTotalTaxInclude()));
|
||||
budget.put("costTotalTaxExclude", budget.getOrDefault("costTotalTaxExclude", new BigDecimal(0)).add(budgetBean.getCostPurchaseDeviceTaxExclude().add(budgetBean.getCostPurchaseBuildTaxExclude()).add(budgetBean.getCostPurchaseServiceTaxExclude()).add(budgetBean.getCostPurchaseOtherTaxExclude())));
|
||||
budget.put("projectGrossProfit", budget.getOrDefault("projectGrossProfit", new BigDecimal(0)).add(budgetBean.getProjectGrossProfit()));
|
||||
budget.put("projectContributionProfit", budget.getOrDefault("projectContributionProfit", new BigDecimal(0)).add(budgetBean.getProjectContributionProfit()));
|
||||
|
||||
budget.put("saleIncomeCash", budget.getOrDefault("saleIncomeCash", new BigDecimal(0)).add(cashFlowBean.getSaleIncomeCash()));
|
||||
budget.put("taxReturn", budget.getOrDefault("taxReturn", new BigDecimal(0)).add(cashFlowBean.getTaxReturn()));
|
||||
budget.put("earnestMoneyIncome", budget.getOrDefault("earnestMoneyIncome", new BigDecimal(0)).add(cashFlowBean.getEarnestMoneyIncome()));
|
||||
budget.put("purchaseCost", budget.getOrDefault("purchaseCost", new BigDecimal(0)).add(cashFlowBean.getPurchaseCost()));
|
||||
budget.put("taxCost", budget.getOrDefault("taxCost", new BigDecimal(0)).add(cashFlowBean.getTaxCost()));
|
||||
budget.put("earnestMoneyCost", budget.getOrDefault("earnestMoneyCost", new BigDecimal(0)).add(cashFlowBean.getEarnestMoneyCost()));
|
||||
budget.put("netCashFlow", budget.getOrDefault("netCashFlow", new BigDecimal(0)).add(cashFlowBean.getNetCashFlow()));
|
||||
budget.put("cashInflowFromInvestingActivities", budget.getOrDefault("cashInflowFromInvestingActivities", new BigDecimal(0)).add(cashFlowBean.getCashInflowFromInvestingActivities()));
|
||||
budget.put("cashOutflowFromInvestingActivities", budget.getOrDefault("cashOutflowFromInvestingActivities", new BigDecimal(0)).add(cashFlowBean.getCashOutflowFromInvestingActivities()));
|
||||
budget.put("netCashFromInvestingActivities", budget.getOrDefault("netCashFromInvestingActivities", new BigDecimal(0)).add(cashFlowBean.getNetCashFromInvestingActivities()));
|
||||
budget.put("financingCapitalInflow", budget.getOrDefault("financingCapitalInflow", new BigDecimal(0)).add(cashFlowBean.getFinancingCapitalInflow()));
|
||||
budget.put("financingCapitalOutflow", budget.getOrDefault("financingCapitalOutflow", new BigDecimal(0)).add(cashFlowBean.getFinancingCapitalOutflow()));
|
||||
budget.put("financingCapitalCashflow", budget.getOrDefault("financingCapitalCashflow", new BigDecimal(0)).add(cashFlowBean.getFinancingCapitalCashflow()));
|
||||
budget.put("netIncreaseMonetaryFunds", budget.getOrDefault("netIncreaseMonetaryFunds", new BigDecimal(0)).add(cashFlowBean.getNetIncreaseMonetaryFunds()));
|
||||
SettleBean totalSettle = projectSettleService.getMonthTotalSettle(time);
|
||||
BigDecimal divide = totalSettle.getIncomeTotal();
|
||||
if (divide.equals(new BigDecimal(0))) {
|
||||
divide = new BigDecimal(1);
|
||||
}
|
||||
Record budgetRecord = new Record();
|
||||
budgetRecord.getColumns().putAll(budget);
|
||||
budgetRecord.set("projectName", "预算金额(不含税)");
|
||||
budgetRecord.set("projectGrossProfitRate", budget.getOrDefault("projectGrossProfit", new BigDecimal(0)).divide(budget.getOrDefault("incomeTotalTaxExclude", new BigDecimal(1))));
|
||||
budgetRecord.set("projectContributionProfitRate", budget.getOrDefault("projectContributionProfit", new BigDecimal(0)).divide(budget.getOrDefault("incomeTotalTaxExclude", new BigDecimal(1))));
|
||||
budgetRecord.set("taxCost", budget.getOrDefault("incomeTotalTaxInclude", new BigDecimal(0)).subtract(budget.getOrDefault("incomeTotalTaxExclude", new BigDecimal(0))).subtract(budget.getOrDefault("costTotalTaxInclude", new BigDecimal(0))).add(budget.getOrDefault("costTotalTaxExclude2", new BigDecimal(0))));
|
||||
budgetRecord.set("projectNetProfit", budget.getOrDefault("projectGrossProfit", new BigDecimal(0)).subtract(budgetRecord.getBigDecimal("taxCost")));
|
||||
budgetRecord.set("projectContributionProfitRate", budgetRecord.getBigDecimal("projectNetProfit").divide(budget.getOrDefault("incomeTotalTaxExclude", new BigDecimal(1))));
|
||||
totalSettle.setGrossProfitProfitMargin(totalSettle.getGrossProfit().divide(divide, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)));
|
||||
totalSettle.setContributionProfitProfitMargin(totalSettle.getContributionProfit().divide(divide, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)));
|
||||
totalSettle.setNetProfitProfitMargin(totalSettle.getNetProfit().divide(divide, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)));
|
||||
totalSettle.setProjectName("实际累计(不含税)");
|
||||
list.add(totalSettle);
|
||||
|
||||
for (Project project : projects) {
|
||||
SettleBean monthSettle = projectSettleService.getMonthSettle(project, time);
|
||||
BigDecimal divide2 = monthSettle.getIncomeTotal();
|
||||
if (divide2.equals(new BigDecimal(0))) {
|
||||
divide2 = new BigDecimal(1);
|
||||
}
|
||||
monthSettle.setGrossProfitProfitMargin(monthSettle.getGrossProfit().divide(divide2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)));
|
||||
monthSettle.setContributionProfitProfitMargin(monthSettle.getContributionProfit().divide(divide2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)));
|
||||
monthSettle.setNetProfitProfitMargin(monthSettle.getNetProfit().divide(divide2, BigDecimal.ROUND_HALF_UP).multiply(new BigDecimal(100)));
|
||||
monthSettle.setProjectName(project.getName());
|
||||
list.add(monthSettle);
|
||||
}
|
||||
page.setList(list);
|
||||
pageList.add(page);
|
||||
} else {
|
||||
String sql = "select proj.id, proj.name from project_settle_cost psc left join project proj on psc.project_id = proj.id where psc.time = ? group by proj.id order by proj.id asc";
|
||||
}
|
||||
|
|
|
@ -41,7 +41,8 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<br/>
|
||||
<br/>
|
||||
<span class="am-text-lg">收入</span>
|
||||
<table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;">
|
||||
<tbody>
|
||||
|
|
|
@ -41,7 +41,8 @@
|
|||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<br/>
|
||||
<br/>
|
||||
<span class="am-text-lg">收入</span>
|
||||
<table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;">
|
||||
<tbody>
|
||||
|
@ -60,8 +61,8 @@
|
|||
<td><input name="incomeDeviceEstimateTotal" type="number" value="${Utils.format(estimateBean.incomeDeviceTaxExclude,'0')}" required readonly title="设备类概算总额"></td>
|
||||
<td><input name="incomeDeviceBudgetTotal" type="number" value="${Utils.format(budgetBean.incomeDeviceTaxExclude,'0')}" required readonly title="设备类预算总额"></td>
|
||||
<td><input name="incomeDeviceFormerSettleTotal" type="number" value="${Utils.format(formerBean.incomeDeviceTaxExclude,'0')}" required readonly title="设备类上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeDevice" required title="本月结算金额"></td>
|
||||
<td><input type="number" name="incomeDeviceSettleTotal" readonly title="设备类结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeDevice" value="${Utils.format(monthBean.incomeDevice,'0')}" required title="本月结算金额"></td>
|
||||
<td><input type="number" name="incomeDeviceSettleTotal" value="${Utils.format(currentBean.incomeDeviceTaxExclude,'0')}" readonly title="设备类结算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>收入</td>
|
||||
|
@ -69,8 +70,8 @@
|
|||
<td><input name="incomeEngineerEstimateTotal" type="number" value="${Utils.format(estimateBean.incomeEngineerTaxExclude,'0')}" required readonly title="工程类概算总额"></td>
|
||||
<td><input name="incomeEngineerBudgetTotal" type="number" value="${Utils.format(budgetBean.incomeEngineerTaxExclude,'0')}" required readonly title="工程类预算总额"></td>
|
||||
<td><input name="incomeEngineerFormerSettleTotal" type="number" value="${Utils.format(formerBean.incomeEngineerTaxExclude,'0')}" required readonly title="工程类上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeEngineer" required title="工程类本月结算金额"></td>
|
||||
<td><input type="number" name="incomeEngineerSettleTotal" readonly title="工程类结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeEngineer" value="${Utils.format(monthBean.incomeEngineer,'0')}" required title="工程类本月结算金额"></td>
|
||||
<td><input type="number" name="incomeEngineerSettleTotal" value="${Utils.format(currentBean.incomeEngineerTaxExclude,'0')}" readonly title="工程类结算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>收入</td>
|
||||
|
@ -78,8 +79,8 @@
|
|||
<td><input name="incomeServiceEstimateTotal" type="number" value="${Utils.format(estimateBean.incomeServiceTaxExclude,'0')}" required readonly title="服务类概算总额"></td>
|
||||
<td><input name="incomeServiceBudgetTotal" type="number" value="${Utils.format(budgetBean.incomeServiceTaxExclude,'0')}" required readonly title="服务类预算总额"></td>
|
||||
<td><input name="incomeServiceFormerSettleTotal" type="number" value="${Utils.format(formerBean.incomeServiceTaxExclude,'0')}" required readonly title="服务类上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeService" required title="服务类本月结算金额"></td>
|
||||
<td><input type="number" name="incomeServiceSettleTotal" readonly title="服务类结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeService" value="${Utils.format(monthBean.incomeService,'0')}" required title="服务类本月结算金额"></td>
|
||||
<td><input type="number" name="incomeServiceSettleTotal" value="${Utils.format(currentBean.incomeServiceTaxExclude,'0')}" readonly title="服务类结算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>合计</td>
|
||||
|
@ -87,8 +88,8 @@
|
|||
<td><input name="incomeEstimateTotal" type="number" value="${Utils.format(estimateBean.getIncomeTotalTaxExclude(),'0')}" readonly required title="此列累计"></td>
|
||||
<td><input name="incomeBudgetTotal" type="number" value="${Utils.format(budgetBean.getIncomeTotalTaxExclude(),'0')}" readonly required title="此列累计"></td>
|
||||
<td><input name="incomeFormerSettleTotal" type="number" value="${Utils.format(formerBean.getIncomeTotalTaxExclude(),'0')}" required readonly title="此列累计"></td>
|
||||
<td><input type="number" name="incomeTotal" readonly title="此列累计"></td>
|
||||
<td><input type="number" name="incomeSettleTotal" readonly title="此列累计"></td>
|
||||
<td><input type="number" name="incomeTotal" value="${Utils.format(monthBean.getIncomeTotal(),'0')}" readonly title="此列累计"></td>
|
||||
<td><input type="number" name="incomeSettleTotal" value="${Utils.format(currentBean.getIncomeTotalTaxExclude(),'0')}" readonly title="此列累计"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -112,8 +113,8 @@
|
|||
<td><input name="costPurchaseDeviceEstimateTotal" type="number" value="${Utils.format(estimateBean.costPurchaseDeviceTaxExclude,'0')}" readonly required title="购买设备概算总额"></td>
|
||||
<td><input name="costPurchaseDeviceBudgetTotal" type="number" value="${Utils.format(budgetBean.costPurchaseDeviceTaxExclude,'0')}" readonly required title="购买设备预算总额"></td>
|
||||
<td><input name="costPurchaseDeviceFormerSettleTotal" type="number" value="${Utils.format(formerBean.costPurchaseDeviceTaxExclude,'0')}" required readonly title="购买设备上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseDevice" required title="购买设备本月结算总额"></td>
|
||||
<td><input type="number" name="costPurchaseDeviceSettleTotal" readonly title="购买设备结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseDevice" value="${Utils.format(monthBean.costPurchaseDevice,'0')}" required title="购买设备本月结算总额"></td>
|
||||
<td><input type="number" name="costPurchaseDeviceSettleTotal" value="${Utils.format(currentBean.costPurchaseDeviceTaxExclude,'0')}" readonly title="购买设备结算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>成本</td>
|
||||
|
@ -122,8 +123,8 @@
|
|||
<td><input name="costPurchaseBuildEstimateTotal" type="number" value="${Utils.format(estimateBean.costPurchaseBuildTaxExclude,'0')}" readonly required title="施工采购成本概算总额"></td>
|
||||
<td><input name="costPurchaseBuildBudgetTotal" type="number" value="${Utils.format(budgetBean.costPurchaseBuildTaxExclude,'0')}" readonly required title="施工采购成本预算总额"></td>
|
||||
<td><input name="costPurchaseBuildFormerSettleTotal" type="number" value="${Utils.format(formerBean.costPurchaseBuildTaxExclude,'0')}" required readonly title="施工采购成本上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseBuild" required title="施工采购成本本月结算金额"></td>
|
||||
<td><input type="number" name="costPurchaseBuildSettleTotal" readonly title="施工采购成本结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseBuild" value="${Utils.format(monthBean.costPurchaseBuild,'0')}" required title="施工采购成本本月结算金额"></td>
|
||||
<td><input type="number" name="costPurchaseBuildSettleTotal" value="${Utils.format(currentBean.costPurchaseBuildTaxExclude,'0')}" readonly title="施工采购成本结算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>成本</td>
|
||||
|
@ -132,8 +133,8 @@
|
|||
<td><input name="costPurchaseServiceEstimateTotal" type="number" value="${Utils.format(estimateBean.costPurchaseServiceTaxExclude,'0')}" readonly required title="服务采购成本概算总额"></td>
|
||||
<td><input name="costPurchaseServiceBudgetTotal" type="number" value="${Utils.format(budgetBean.costPurchaseServiceTaxExclude,'0')}" readonly required title="服务采购成本预算总额"></td>
|
||||
<td><input name="costPurchaseServiceFormerSettleTotal" type="number" value="${Utils.format(formerBean.costPurchaseServiceTaxExclude,'0')}" required readonly title="服务采购成本上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseService" required title="服务采购成本本月结算金额"></td>
|
||||
<td><input type="number" name="costPurchaseServiceSettleTotal" readonly title="服务采购成本结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseService" value="${Utils.format(monthBean.costPurchaseService,'0')}" required title="服务采购成本本月结算金额"></td>
|
||||
<td><input type="number" name="costPurchaseServiceSettleTotal" value="${Utils.format(currentBean.costPurchaseServiceTaxExclude,'0')}" readonly title="服务采购成本结算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>成本</td>
|
||||
|
@ -142,8 +143,8 @@
|
|||
<td><input name="costPurchaseOtherEstimateTotal" type="number" value="${Utils.format(estimateBean.costPurchaseOtherTaxExclude,'0')}" readonly required title="其他采购成本概算总额"></td>
|
||||
<td><input name="costPurchaseOtherBudgetTotal" type="number" value="${Utils.format(budgetBean.costPurchaseOtherTaxExclude,'0')}" readonly required title="其他采购成本预算总额"></td>
|
||||
<td><input name="costPurchaseOtherFormerSettleTotal" type="number" value="${Utils.format(formerBean.costPurchaseOtherTaxExclude,'0')}" required readonly title="其他采购成本上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseOther" required title="其他采购成本本月结算金额"></td>
|
||||
<td><input type="number" name="costPurchaseOtherSettleTotal" readonly title="其他采购成本结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseOther" value="${Utils.format(monthBean.costPurchaseOther,'0')}" required title="其他采购成本本月结算金额"></td>
|
||||
<td><input type="number" name="costPurchaseOtherSettleTotal" value="${Utils.format(currentBean.costPurchaseOtherTaxExclude,'0')}" readonly title="其他采购成本结算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>成本</td>
|
||||
|
@ -152,8 +153,8 @@
|
|||
<td><input name="costProjectManageEstimateTotal" type="number" value="${Utils.format(estimateBean.costProjectManageTaxExclude,'0')}" readonly required title="项目管理成本概算总额"></td>
|
||||
<td><input name="costProjectManageBudgetTotal" type="number" value="${Utils.format(budgetBean.costProjectManageTaxExclude,'0')}" readonly required title="项目管理成本预算总额"></td>
|
||||
<td><input name="costProjectManageFormerSettleTotal" type="number" value="${Utils.format(formerBean.costProjectManageTaxExclude,'0')}" required readonly title="项目管理成本上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costProjectManage" required title="项目管理成本本月结算金额"></td>
|
||||
<td><input type="number" name="costProjectManageSettleTotal" readonly title="项目管理成本结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costProjectManage" value="${Utils.format(monthBean.costProjectManage,'0')}" required title="项目管理成本本月结算金额"></td>
|
||||
<td><input type="number" name="costProjectManageSettleTotal" value="${Utils.format(currentBean.costProjectManageTaxExclude,'0')}" readonly title="项目管理成本结算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>成本</td>
|
||||
|
@ -162,8 +163,8 @@
|
|||
<td><input name="costOtherEstimateTotal" type="number" value="${Utils.format(estimateBean.costOtherOtherTaxExclude,'0')}" readonly required title="其他成本概算总额"></td>
|
||||
<td><input name="costOtherBudgetTotal" type="number" value="${Utils.format(budgetBean.costOtherOtherTaxExclude,'0')}" readonly required title="其他成本预算总额"></td>
|
||||
<td><input name="costOtherFormerSettleTotal" type="number" value="${Utils.format(formerBean.costOtherOtherTaxExclude,'0')}" required readonly title="其他成本上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costOther" required title="其他成本本月结算金额"></td>
|
||||
<td><input type="number" name="costOtherSettleTotal" readonly title="其他成本结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costOther" value="${Utils.format(monthBean.costOther,'0')}" required title="其他成本本月结算金额"></td>
|
||||
<td><input type="number" name="costOtherSettleTotal" value="${Utils.format(currentBean.costOtherOtherTaxExclude,'0')}" readonly title="其他成本结算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>合计</td>
|
||||
|
@ -172,8 +173,8 @@
|
|||
<td><input name="costEstimateTotal" value="${Utils.format(estimateBean.getCostTotalTaxExclude(),'0')}" type="number" readonly required title="此列累计"></td>
|
||||
<td><input name="costBudgetTotal" value="${Utils.format(budgetBean.getCostTotalTaxExclude(),'0')}" type="number" readonly required title="此列累计"></td>
|
||||
<td><input name="costFormerSettleTotal" type="number" value="${Utils.format(formerBean.getCostTotalTaxExclude(),'0')}" required readonly title="此列累计"></td>
|
||||
<td><input type="number" name="costTotal" readonly title="此列累计"></td>
|
||||
<td><input type="number" name="costSettleTotal" readonly title="此列累计"></td>
|
||||
<td><input type="number" name="costTotal" value="${Utils.format(monthBean.getCostTotal(),'0')}" readonly title="此列累计"></td>
|
||||
<td><input type="number" name="costSettleTotal" value="${Utils.format(currentBean.getCostTotalTaxExclude(),'0')}" readonly title="此列累计"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -195,8 +196,8 @@
|
|||
<td><input name="costExpropriationEstimateTotal" type="number" value="${Utils.format(estimateBean.costExpropriationTaxExclude,'0')}" required readonly title="资金占用成本概算总额"></td>
|
||||
<td><input name="costExpropriationBudgetTotal" type="number" value="${Utils.format(budgetBean.costExpropriationTaxExclude,'0')}" required readonly title="资金占用成本预算总额"></td>
|
||||
<td><input name="costExpropriationFormerSettleTotal" type="number" value="${Utils.format(formerBean.costExpropriationTaxExclude,'0')}" required readonly title="资金占用成本上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costExpropriation" required title="资金占用成本本月结算金额"></td>
|
||||
<td><input type="number" name="costExpropriationSettleTotal" readonly title="资金占用成本结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costExpropriation" value="${Utils.format(monthBean.costExpropriation,'0')}" required title="资金占用成本本月结算金额"></td>
|
||||
<td><input type="number" name="costExpropriationSettleTotal" value="${Utils.format(currentBean.costExpropriationTaxExclude,'0')}" readonly title="资金占用成本结算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>公司管理费用</td>
|
||||
|
@ -204,8 +205,8 @@
|
|||
<td><input name="costCompanyManageEstimateTotal" type="number" value="${Utils.format(estimateBean.costCompanyManageTaxExclude,'0')}" required readonly title="公司管理费用概算总额"></td>
|
||||
<td><input name="costCompanyManageBudgetTotal" type="number" value="${Utils.format(budgetBean.costCompanyManageTaxExclude,'0')}" required readonly title="公司管理费用预算总额"></td>
|
||||
<td><input name="costCompanyManageFormerSettleTotal" type="number" value="${Utils.format(formerBean.costCompanyManageTaxExclude,'0')}" required readonly title="公司管理费用上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costCompanyManage" required title="公司管理费用本月结算金额"></td>
|
||||
<td><input type="number" name="costCompanyManageSettleTotal" readonly title="公司管理费用结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costCompanyManage" value="${Utils.format(monthBean.costCompanyManage,'0')}" required title="公司管理费用本月结算金额"></td>
|
||||
<td><input type="number" name="costCompanyManageSettleTotal" value="${Utils.format(currentBean.costCompanyManageTaxExclude,'0')}" readonly title="公司管理费用结算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>所得税费用</td>
|
||||
|
@ -213,17 +214,17 @@
|
|||
<td>/</td>
|
||||
<td>/</td>
|
||||
<td><input name="costIncomeTaxFormerSettleTotal" type="number" value="${Utils.format(formerBean.costIncomeTax,'0')}" required readonly title="公司管理费用上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costIncomeTax" required title="公司管理费用本月结算金额"></td>
|
||||
<td><input type="number" name="costIncomeTaxSettleTotal" readonly title="公司管理费用结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costIncomeTax" value="${Utils.format(monthBean.costIncomeTax,'0')}" required title="公司管理费用本月结算金额"></td>
|
||||
<td><input type="number" name="costIncomeTaxSettleTotal" value="${Utils.format(currentBean.costIncomeTax,'0')}" readonly title="公司管理费用结算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>合计</td>
|
||||
<td></td>
|
||||
<td><input name="costManageEstimateTotal" value="${Utils.format(estimateBean.costExpropriationTaxExclude + estimateBean.costCompanyManageTaxExclude,'0')}" type="number" readonly required title="此列累计"></td>
|
||||
<td><input name="costManageBudgetTotal" value="${Utils.format(budgetBean.costExpropriationTaxExclude + budgetBean.costCompanyManageTaxExclude,'0')}" type="number" readonly required title="此列累计"></td>
|
||||
<td><input name="costManageFormerSettleTotal" type="number" value="${Utils.format(formerBean.CostManageTotal,'0')}" required readonly title="此列累计"></td>
|
||||
<td><input type="number" name="costManageTotal" readonly title="此列累计"></td>
|
||||
<td><input type="number" name="costManageSettleTotal" readonly title="此列累计"></td>
|
||||
<td><input name="costManageFormerSettleTotal" type="number" value="${Utils.format(formerBean.getCostManageTotal(),'0')}" required readonly title="此列累计"></td>
|
||||
<td><input type="number" name="costManageTotal" value="${Utils.format(monthBean.getCostManageTotal(),'0')}" readonly title="此列累计"></td>
|
||||
<td><input type="number" name="costManageSettleTotal" value="${Utils.format(currentBean.getCostManageTotal(),'0')}" readonly title="此列累计"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -244,28 +245,28 @@
|
|||
<td>项目毛利</td>
|
||||
<td><input name="grossProfitEstimateTotal" type="number" value="${Utils.format(estimateBean.grossProfitTaxExclude,'0')}" required readonly title="项目毛利概算总额"></td>
|
||||
<td><input name="grossProfitBudgetTotal" type="number" value="${Utils.format(budgetBean.grossProfitTaxExclude,'0')}" required readonly title="项目毛利预算总额"></td>
|
||||
<td><input name="grossProfitFormerSettleTotal" type="number" value="${Utils.format(formerBean.grossProfitTaxExclude,'0')}" required readonly title="项目毛利上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="grossProfit" required title="项目毛利本月结算金额"></td>
|
||||
<td><input type="number" name="grossProfitSettleTotal" readonly title="项目毛利结算总额"></td>
|
||||
<td><input name="grossProfitProfitMargin" type="number" readonly title="项目毛利利润率"></td>
|
||||
<td><input name="grossProfitFormerSettleTotal" type="number" value="${Utils.format(formerBean.grossProfit,'0')}" required readonly title="项目毛利上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="grossProfit" value="${Utils.format(monthBean.grossProfit,'0')}" required title="项目毛利本月结算金额"></td>
|
||||
<td><input type="number" name="grossProfitSettleTotal" value="${Utils.format(currentBean.grossProfit,'0')}" readonly title="项目毛利结算总额"></td>
|
||||
<td><input name="grossProfitProfitMargin" type="number" value="${Utils.format(100 * currentBean.grossProfit / currentBean.getIncomeTotalTaxExclude(),'0')}" readonly title="项目毛利利润率"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>项目贡献利润</td>
|
||||
<td><input name="contributionProfitEstimateTotal" type="number" value="${Utils.format(estimateBean.contributionProfitTaxExclude,'0')}" required readonly title="项目贡献利润概算总额"></td>
|
||||
<td><input name="contributionProfitBudgetTotal" type="number" value="${Utils.format(budgetBean.contributionProfitTaxExclude,'0')}" required readonly title="项目贡献利润预算总额"></td>
|
||||
<td><input name="contributionProfitFormerSettleTotal" type="number" value="${Utils.format(formerBean.contributionProfitTaxExclude,'0')}" required readonly title="项目贡献利润上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="contributionProfit" required title="项目贡献利润本月结算金额"></td>
|
||||
<td><input type="number" name="contributionProfitSettleTotal" readonly title="项目贡献利润结算总额"></td>
|
||||
<td><input name="contributionProfitProfitMargin" type="number" readonly title="项目贡献利润利润率"></td>
|
||||
<td><input name="contributionProfitFormerSettleTotal" type="number" value="${Utils.format(formerBean.contributionProfit,'0')}" required readonly title="项目贡献利润上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="contributionProfit" value="${Utils.format(monthBean.contributionProfit,'0')}" required title="项目贡献利润本月结算金额"></td>
|
||||
<td><input type="number" name="contributionProfitSettleTotal" value="${Utils.format(currentBean.contributionProfit,'0')}" readonly title="项目贡献利润结算总额"></td>
|
||||
<td><input name="contributionProfitProfitMargin" type="number" value="${Utils.format(100 * currentBean.contributionProfit / currentBean.getIncomeTotalTaxExclude(),'0')}" readonly title="项目贡献利润利润率"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>项目净利润</td>
|
||||
<td>/</td>
|
||||
<td><input name="netProfitBudgetTotal" type="number" value="${Utils.format(budgetBean.netProfitTaxExclude,'0')}" required readonly title="项目净利润预算总额"></td>
|
||||
<td><input name="netProfitFormerSettleTotal" type="number" value="${Utils.format(formerBean.netProfitTaxExclude,'0')}" required readonly title="项目净利润上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="netProfit" required title="项目净利润本月结算金额"></td>
|
||||
<td><input type="number" name="netProfitSettleTotal" readonly title="项目净利润结算总额"></td>
|
||||
<td><input name="netProfitProfitMargin" type="number" readonly title="项目净利润利润率"></td>
|
||||
<td><input name="netProfitFormerSettleTotal" type="number" value="${Utils.format(formerBean.netProfit,'0')}" required readonly title="项目净利润上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="netProfit" value="${Utils.format(monthBean.netProfit,'0')}" required title="项目净利润本月结算金额"></td>
|
||||
<td><input type="number" name="netProfitSettleTotal" value="${Utils.format(currentBean.netProfit,'0')}" readonly title="项目净利润结算总额"></td>
|
||||
<td><input name="netProfitProfitMargin" type="number" value="${Utils.format(100 * currentBean.netProfit / currentBean.getIncomeTotalTaxExclude(),'0')}" readonly title="项目净利润利润率"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -284,106 +285,107 @@
|
|||
<td>销售商品、提供劳务收到的现金</td>
|
||||
<td><input name="saleIncomeCashBudget" type="number" value="${Utils.format(cashFlowBean.saleIncomeCash,'0')}" readonly required title="预算总额"></td>
|
||||
<td><input name="saleIncomeCashFormerSettle" type="number" value="${Utils.format(formerBean.saleIncomeCash,'0')}" required readonly title="上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="saleIncomeCash" required title="本月结算金额"></td>
|
||||
<td><input name="saleIncomeCashSettle" type="number" readonly title="结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="saleIncomeCash" value="${Utils.format(monthBean.saleIncomeCash,'0')}" required title="本月结算金额"></td>
|
||||
<td><input name="saleIncomeCashSettle" type="number" value="${Utils.format(currentBean.saleIncomeCash,'0')}" readonly title="结算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>收到的税费返还</td>
|
||||
<td>/</td>
|
||||
<td><input name="taxReturnFormerSettle" type="number" value="${Utils.format(formerBean.taxReturn,'0')}" required readonly title="上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="taxReturn" required title="本月结算金额"></td>
|
||||
<td><input name="taxReturnSettle" type="number" readonly title="结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="taxReturn" value="${Utils.format(monthBean.taxReturn,'0')}" required title="本月结算金额"></td>
|
||||
<td><input name="taxReturnSettle" type="number" value="${Utils.format(currentBean.taxReturn,'0')}" readonly title="结算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>收到其他与经营活动有关的现金</td>
|
||||
<td><input name="earnestMoneyIncomeBudget" type="number" value="${Utils.format(cashFlowBean.earnestMoneyIncome,'0')}" readonly required title="预算总额"></td>
|
||||
<td><input name="earnestMoneyIncomeFormerSettle" type="number" value="${Utils.format(formerBean.earnestMoneyIncome,'0')}" required readonly title="上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="earnestMoneyIncome" required title="本月结算金额"></td>
|
||||
<td><input name="earnestMoneyIncomeSettle" type="number" readonly title="结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="earnestMoneyIncome" value="${Utils.format(monthBean.earnestMoneyIncome,'0')}" required title="本月结算金额"></td>
|
||||
<td><input name="earnestMoneyIncomeSettle" type="number" value="${Utils.format(currentBean.earnestMoneyIncome,'0')}" readonly title="结算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>购买商品、接受劳务支付的现金</td>
|
||||
<td><input name="purchaseCostBudget" type="number" value="${Utils.format(cashFlowBean.purchaseCost,'0')}" readonly required title="预算总额"></td>
|
||||
<td><input name="purchaseCostFormerSettle" type="number" value="${Utils.format(formerBean.purchaseCost,'0')}" required readonly title="上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="purchaseCost" required title="本月结算金额"></td>
|
||||
<td><input name="purchaseCostSettle" type="number" readonly title="结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="purchaseCost" value="${Utils.format(monthBean.purchaseCost,'0')}" required title="本月结算金额"></td>
|
||||
<td><input name="purchaseCostSettle" type="number" value="${Utils.format(currentBean.purchaseCost,'0')}" readonly title="结算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>支付的各项税费</td>
|
||||
<td>/</td>
|
||||
<td><input name="taxCostFormerSettle" type="number" value="${Utils.format(formerBean.taxCost,'0')}" required readonly title="上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="taxCost" required title="本月结算金额"></td>
|
||||
<td><input name="taxCostSettle" type="number" readonly title="结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="taxCost" value="${Utils.format(monthBean.taxCost,'0')}" required title="本月结算金额"></td>
|
||||
<td><input name="taxCostSettle" type="number" value="${Utils.format(currentBean.taxCost,'0')}" readonly title="结算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>支付其他与经营活动有关的现金</td>
|
||||
<td><input name="earnestMoneyCostBudget" type="number" value="${Utils.format(cashFlowBean.earnestMoneyCost,'0')}" readonly required title="预算总额"></td>
|
||||
<td><input name="earnestMoneyCostFormerSettle" type="number" value="${Utils.format(formerBean.earnestMoneyCost,'0')}" required readonly title="上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="earnestMoneyCost" required title="本月结算金额"></td>
|
||||
<td><input name="earnestMoneyCostSettle" type="number" readonly title="结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="earnestMoneyCost" value="${Utils.format(monthBean.earnestMoneyCost,'0')}" required title="本月结算金额"></td>
|
||||
<td><input name="earnestMoneyCostSettle" type="number" value="${Utils.format(currentBean.earnestMoneyCost,'0')}" readonly title="结算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>经营活动产生的现金流量净额</td>
|
||||
<td><input name="netCashFlowBudget" type="number" value="${Utils.format(cashFlowBean.getNetCashFlow,'0')}" readonly required title="预算总额"></td>
|
||||
<td><input name="netCashFlowBudget" type="number" value="${Utils.format(cashFlowBean.getNetCashFlow(),'0')}" readonly required title="预算总额"></td>
|
||||
<td><input name="netCashFlowFormerSettle" type="number" value="${Utils.format(formerBean.netCashFlow,'0')}" required readonly title="上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="netCashFlow" required title="本月结算金额"></td>
|
||||
<td><input name="netCashFlowSettle" type="number" readonly title="结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="netCashFlow" value="${Utils.format(monthBean.netCashFlow,'0')}" required title="本月结算金额"></td>
|
||||
<td><input name="netCashFlowSettle" type="number" value="${Utils.format(currentBean.netCashFlow,'0')}" readonly title="结算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>投资活动现金流入</td>
|
||||
<td>/</td>
|
||||
<td><input name="cashInflowFromInvestingActivitiesFormerSettle" type="number" value="${Utils.format(formerBean.cashInflowFromInvestingActivities,'0')}" required readonly title="上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="cashInflowFromInvestingActivities" required title="本月结算金额"></td>
|
||||
<td><input name="cashInflowFromInvestingActivitiesSettle" type="number" readonly title="结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="cashInflowFromInvestingActivities" value="${Utils.format(monthBean.cashInflowFromInvestingActivities,'0')}" required title="本月结算金额"></td>
|
||||
<td><input name="cashInflowFromInvestingActivitiesSettle" value="${Utils.format(currentBean.cashInflowFromInvestingActivities,'0')}" type="number" readonly title="结算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>投资活动现金流出</td>
|
||||
<td>/</td>
|
||||
<td><input name="cashOutflowFromInvestingActivitiesFormerSettle" type="number" value="${Utils.format(formerBean.cashOutflowFromInvestingActivities,'0')}" required readonly title="上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="cashOutflowFromInvestingActivities" required title="本月结算金额"></td>
|
||||
<td><input name="cashOutflowFromInvestingActivitiesSettle" type="number" readonly title="结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="cashOutflowFromInvestingActivities" value="${Utils.format(monthBean.cashOutflowFromInvestingActivities,'0')}" required title="本月结算金额"></td>
|
||||
<td><input name="cashOutflowFromInvestingActivitiesSettle" value="${Utils.format(currentBean.cashOutflowFromInvestingActivities,'0')}" type="number" readonly title="结算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>投资活动产生的现金流量净额</td>
|
||||
<td>/</td>
|
||||
<td><input name="netCashFromInvestingActivitiesFormerSettle" type="number" value="${Utils.format(formerBean.netCashFromInvestingActivities,'0')}" required readonly title="上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="netCashFromInvestingActivities" required title="本月结算金额"></td>
|
||||
<td><input name="netCashFromInvestingActivitiesSettle" type="number" readonly title="结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="netCashFromInvestingActivities" value="${Utils.format(monthBean.netCashFromInvestingActivities,'0')}" required title="本月结算金额"></td>
|
||||
<td><input name="netCashFromInvestingActivitiesSettle" type="number" value="${Utils.format(currentBean.netCashFromInvestingActivities,'0')}" readonly title="结算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>融资资金流入</td>
|
||||
<td><input name="financingCapitalInflowBudget" type="number" value="${Utils.format(cashFlowBean.financingCapitalInflow,'0')}" readonly required title="预算总额"></td>
|
||||
<td><input name="financingCapitalInflowFormerSettle" type="number" value="${Utils.format(formerBean.financingCapitalInflow,'0')}" required readonly title="上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="financingCapitalInflow" required title="本月结算金额"></td>
|
||||
<td><input name="financingCapitalInflowSettle" type="number" readonly title="结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="financingCapitalInflow" value="${Utils.format(monthBean.financingCapitalInflow,'0')}" required title="本月结算金额"></td>
|
||||
<td><input name="financingCapitalInflowSettle" type="number" value="${Utils.format(currentBean.financingCapitalInflow,'0')}" readonly title="结算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>还款资金流出</td>
|
||||
<td><input name="financingCapitalOutflowBudget" type="number" value="${Utils.format(cashFlowBean.financingCapitalOutflow,'0')}" readonly required title="预算总额"></td>
|
||||
<td><input name="financingCapitalOutflowFormerSettle" type="number" value="${Utils.format(formerBean.financingCapitalOutflow,'0')}" required readonly title="上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="financingCapitalOutflow" required title="本月结算金额"></td>
|
||||
<td><input name="financingCapitalOutflowSettle" type="number" readonly title="结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="financingCapitalOutflow" value="${Utils.format(monthBean.financingCapitalOutflow,'0')}" required title="本月结算金额"></td>
|
||||
<td><input name="financingCapitalOutflowSettle" type="number" value="${Utils.format(currentBean.financingCapitalOutflow,'0')}" readonly title="结算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>筹资活动产生的现金流量净额</td>
|
||||
<td><input name="financingCapitalCashflowBudget" type="number" value="${Utils.format(cashFlowBean.getFinancingCapitalCashflow(),'0')}" readonly required title="预算总额"></td>
|
||||
<td><input name="financingCapitalCashflowFormerSettle" type="number" value="${Utils.format(formerBean.financingCapitalCashflow,'0')}" required readonly title="上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="financingCapitalCashflow" required title="本月结算金额"></td>
|
||||
<td><input name="financingCapitalCashflowSettle" type="number" readonly title="结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="financingCapitalCashflow" value="${Utils.format(monthBean.financingCapitalCashflow,'0')}" required title="本月结算金额"></td>
|
||||
<td><input name="financingCapitalCashflowSettle" type="number" value="${Utils.format(currentBean.financingCapitalCashflow,'0')}" readonly title="结算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>货币资金净增加额</td>
|
||||
<td><input name="netIncreaseMonetaryFundsBudget" type="number" value="${Utils.format(cashFlowBean.getNetIncreaseMonetaryFunds(),'0')}" readonly required title="预算总额"></td>
|
||||
<td><input name="netIncreaseMonetaryFundsFormerSettle" type="number" value="${Utils.format(formerBean.netIncreaseMonetaryFunds,'0')}" required readonly title="上月结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="netIncreaseMonetaryFunds" required title="本月结算金额"></td>
|
||||
<td><input name="netIncreaseMonetaryFundsSettle" type="number" readonly title="结算总额"></td>
|
||||
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="netIncreaseMonetaryFunds" value="${Utils.format(monthBean.netIncreaseMonetaryFunds,'0')}" required title="本月结算金额"></td>
|
||||
<td><input name="netIncreaseMonetaryFundsSettle" type="number" value="${Utils.format(currentBean.netIncreaseMonetaryFunds,'0')}" readonly title="结算总额"></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>合计</td>
|
||||
<td><input name="cashFlowBudgetTotal" type="number" readonly required title="此列累计"></td>
|
||||
<td><input name="cashFlowFormerSettleTotal" type="number" readonly required title="此列累计"></td>
|
||||
<td><input name="cashFlowTotal" type="number" readonly required title="此列累计"></td>
|
||||
<td><input name="cashFlowSettleTotal" type="number" readonly required title="此列累计"></td>
|
||||
<td><input name="cashFlowBudgetTotal" type="number" value="${Utils.format(cashFlowBean.saleIncomeCash + cashFlowBean.earnestMoneyIncome + cashFlowBean.purchaseCost + cashFlowBean.earnestMoneyCost + cashFlowBean.getNetCashFlow() +
|
||||
cashFlowBean.financingCapitalInflow + cashFlowBean.financingCapitalOutflow + cashFlowBean.getFinancingCapitalCashflow() + cashFlowBean.getNetIncreaseMonetaryFunds(),'0')}" readonly required title="此列累计"></td>
|
||||
<td><input name="cashFlowFormerSettleTotal" type="number" value="${Utils.format(formerBean.getCashFlowTotal(),'0')}" readonly required title="此列累计"></td>
|
||||
<td><input name="cashFlowTotal" type="number" value="${Utils.format(monthBean.getCashFlowTotal(),'0')}" readonly required title="此列累计"></td>
|
||||
<td><input name="cashFlowSettleTotal" type="number" value="${Utils.format(currentBean.getCashFlowTotal(),'0')}" readonly required title="此列累计"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
@ -405,9 +407,24 @@
|
|||
<script>
|
||||
var base = "${base}";
|
||||
</script>
|
||||
<script src="${base}/assets/js/project_common.js"></script>
|
||||
<script src="${base}/layui/layui.js"></script>
|
||||
<script src="${base}/assets/js/project_common.js"></script>
|
||||
<script src="${base}/assets/js/project_settle.js"></script>
|
||||
<script>
|
||||
layui.use('laydate', function(){
|
||||
var laydate = layui.laydate;
|
||||
|
||||
laydate.render({
|
||||
elem: '#time',
|
||||
type: 'month',
|
||||
btns: ['confirm'],
|
||||
trigger: 'click',
|
||||
ready: function(date){
|
||||
console.log(date);
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
$(function () {
|
||||
calculateSettle();
|
||||
$("#saveSettle").click(function () {
|
||||
|
|
|
@ -0,0 +1,199 @@
|
|||
<#assign base=request.contextPath />
|
||||
<#import "../common/defaultLayout.ftl" as defaultLayout>
|
||||
<@defaultLayout.layout>
|
||||
<div class="admin-content">
|
||||
<div class="admin-content-body">
|
||||
<div class="am-cf am-padding">
|
||||
<div class="am-fl am-cf"><strong class="am-text-primary am-text-lg">项目统计</strong> /
|
||||
<small>项目汇总统计</small></div>
|
||||
</div>
|
||||
<div class="am-u-sm-10">
|
||||
<div class="am-form am-form-inline">
|
||||
<div class="am-form-group am-form-icon">
|
||||
<input type="text" id="time" name="time" autocomplete="off" readonly value="${time!}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br/>
|
||||
<br/>
|
||||
<form method="post" class="am-form" id="pmsForm">
|
||||
<!--选项卡(tabs)begin-->
|
||||
<div class="am-tabs am-margin" data-am-tabs>
|
||||
<ul class="am-tabs-nav am-nav am-nav-tabs">
|
||||
<li class="am-active"><a href="#tab1">主要指标</a></li>
|
||||
<li><a href="#tab2">损益表</a></li>
|
||||
<li><a href="#tab3">现金流量表</a></li>
|
||||
</ul>
|
||||
<div class="am-tabs-bd">
|
||||
<div class="am-tab-panel am-fade am-in am-active" id="tab1">
|
||||
<table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;">
|
||||
<thead>
|
||||
<tr class="am-text-nowrap">
|
||||
<th class="table-title"></th>
|
||||
<th class="table-title">收入--设备类</th>
|
||||
<th class="table-title">收入--工程类</th>
|
||||
<th class="table-title">收入--服务类</th>
|
||||
<th class="table-title">采购成本--设备类</th>
|
||||
<th class="table-title">采购成本--施工类</th>
|
||||
<th class="table-title">采购成本--服务类</th>
|
||||
<th class="table-title">采购成本--其他</th>
|
||||
<th class="table-title">成本--其他</th>
|
||||
<th class="table-title">成本--项目管理成本</th>
|
||||
<th class="table-title">财务费用--资金占用成本</th>
|
||||
<th class="table-title">公司管理费用</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<#if (pager.list)?exists>
|
||||
<#list pager.list as list>
|
||||
<tr>
|
||||
<td>${list.projectName!}</td>
|
||||
<td>${(list.incomeDevice!0)?string("0.##")}</td>
|
||||
<td>${(list.incomeEngineer!0)?string("0.##")}</td>
|
||||
<td>${(list.incomeService!0)?string("0.##")}</td>
|
||||
<td>${(list.costPurchaseDevice!0)?string("0.##")}</td>
|
||||
<td>${(list.costPurchaseBuild!0)?string("0.##")}</td>
|
||||
<td>${(list.costPurchaseService!0)?string("0.##")}</td>
|
||||
<td>${(list.costPurchaseOther!0)?string("0.##")}</td>
|
||||
<td>${(list.costOther!0)?string("0.##")}</td>
|
||||
<td>${(list.costProjectManage!0)?string("0.##")}</td>
|
||||
<td>${(list.costExpropriation!0)?string("0.##")}</td>
|
||||
<td>${(list.costCompanyManage!0)?string("0.##")}</td>
|
||||
</tr>
|
||||
</#list>
|
||||
</#if>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="am-tabs-bd">
|
||||
<div class="am-tab-panel am-fade am-in" id="tab2">
|
||||
<table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="table-title"></th>
|
||||
<th class="table-title">营业收入</th>
|
||||
<th class="table-title">营业成本</th>
|
||||
<th class="table-title">项目管理成本</th>
|
||||
<th class="table-title">其他</th>
|
||||
<th class="table-title">财务费用</th>
|
||||
<th class="table-title">项目毛利</th>
|
||||
<th class="table-title">项目毛利率</th>
|
||||
<th class="table-title">公司管理费用</th>
|
||||
<th class="table-title">项目贡献利润</th>
|
||||
<th class="table-title">项目贡献利润率</th>
|
||||
<th class="table-title">所得税费用</th>
|
||||
<th class="table-title">项目净利润</th>
|
||||
<th class="table-title">项目净利润率</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<#if (pager.list)?exists>
|
||||
<#list pager.list as list>
|
||||
<tr>
|
||||
<td>${list.projectName!}</td>
|
||||
<td>${(list.incomeTotal!0)?string("0.##")}</td>
|
||||
<td>${(list.costTotal!0)?string("0.##")}</td>
|
||||
<td>${(list.costProjectManage!0)?string("0.##")}</td>
|
||||
<td>${(list.costOther!0)?string("0.##")}</td>
|
||||
<td>${(list.costExpropriation!0)?string("0.##")}</td>
|
||||
<td>${(list.grossProfit!0)?string("0.##")}</td>
|
||||
<td>${(list.grossProfitProfitMargin!0)?string("0.##")}</td>
|
||||
<td>${(list.costCompanyManage!0)?string("0.##")}</td>
|
||||
<td>${(list.contributionProfit!0)?string("0.##")}</td>
|
||||
<td>${(list.contributionProfitProfitMargin!0)?string("0.##")}</td>
|
||||
<td>${(list.taxCost!0)?string("0.##")}</td>
|
||||
<td>${(list.netProfit!0)?string("0.##")}</td>
|
||||
<td>${(list.netProfitProfitMargin!0)?string("0.##")}</td>
|
||||
</tr>
|
||||
</#list>
|
||||
</#if>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="am-tabs-bd">
|
||||
<div class="am-tab-panel am-fade am-in" id="tab3">
|
||||
<table class="am-table am-table-bordered am-table-radius table-main" style="padding:0;">
|
||||
<thead>
|
||||
<tr class="am-text-nowrap">
|
||||
<th class="table-title"></th>
|
||||
<th class="table-title">销售商品、提供劳务收到的现金</th>
|
||||
<th class="table-title">收到的税费返还</th>
|
||||
<th class="table-title">收到的其他与经营活动有关的现金</th>
|
||||
<th class="table-title">购买商品、接受劳务支付的现金</th>
|
||||
<th class="table-title">支付的各项税费</th>
|
||||
<th class="table-title">支付其他与经营活动有关的现金</th>
|
||||
<th class="table-title">经营活动产生的现金流量净额</th>
|
||||
<th class="table-title">投资活动现金流入</th>
|
||||
<th class="table-title">投资活动现金流出</th>
|
||||
<th class="table-title">投资活动产生的现金流量净额</th>
|
||||
<th class="table-title">借款资金流入</th>
|
||||
<th class="table-title">还款资金流出</th>
|
||||
<th class="table-title">筹资活动产生的现金流量净额</th>
|
||||
<th class="table-title">货币资金净增加额</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<tbody>
|
||||
<#if (pager.list)?exists>
|
||||
<#list pager.list as list>
|
||||
<tr>
|
||||
<td>${list.projectName!}</td>
|
||||
<td>${(list.saleIncomeCash!0)?string("0.##")}</td>
|
||||
<td>${(list.taxReturn!0)?string("0.##")}</td>
|
||||
<td>${(list.earnestMoneyIncome!0)?string("0.##")}</td>
|
||||
<td>${(list.purchaseCost!0)?string("0.##")}</td>
|
||||
<td>${(list.taxCost!0)?string("0.##")}</td>
|
||||
<td>${(list.earnestMoneyCost!0)?string("0.##")}</td>
|
||||
<td>${(list.netCashFlow!0)?string("0.##")}</td>
|
||||
<td>${(list.cashInflowFromInvestingActivities!0)?string("0.##")}</td>
|
||||
<td>${(list.cashOutflowFromInvestingActivities!0)?string("0.##")}</td>
|
||||
<td>${(list.netCashFromInvestingActivities!0)?string("0.##")}</td>
|
||||
<td>${(list.financingCapitalInflow!0)?string("0.##")}</td>
|
||||
<td>${(list.financingCapitalOutflow!0)?string("0.##")}</td>
|
||||
<td>${(list.financingCapitalCashflow!0)?string("0.##")}</td>
|
||||
<td>${(list.netIncreaseMonetaryFunds!0)?string("0.##")}</td>
|
||||
</tr>
|
||||
</#list>
|
||||
</#if>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!--选项卡(tabs)end-->
|
||||
<div class="am-margin">
|
||||
<button type="button" class="am-btn am-btn-warning am-btn-xs" onclick="javascript:history.go(-1);">
|
||||
返回上一级
|
||||
</button>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<script>
|
||||
var base = "${base}";
|
||||
</script>
|
||||
</@defaultLayout.layout>
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -6,15 +6,17 @@
|
|||
<div class="am-cf am-padding">
|
||||
<div class="am-fl am-cf"><strong class="am-text-primary am-text-lg">项目统计</strong></div>
|
||||
</div>
|
||||
<!--选项卡(tabs)begin-->
|
||||
<div class="am-tabs am-margin" data-am-tabs>
|
||||
<div class="am-u-sm-10">
|
||||
<div class="am-form am-form-inline">
|
||||
<div class="am-form-group am-form-icon">
|
||||
<input type="text" id="time" name="time" autocomplete="off" readonly value="${time!}">
|
||||
</div>
|
||||
<div class="am-u-sm-10">
|
||||
<div class="am-form am-form-inline">
|
||||
<div class="am-form-group am-form-icon">
|
||||
<input type="text" id="time" name="time" autocomplete="off" readonly value="${time!}">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<br/>
|
||||
<br/>
|
||||
<!--选项卡(tabs)begin-->
|
||||
<div class="am-tabs am-margin" data-am-tabs>
|
||||
<ul class="am-tabs-nav am-nav am-nav-tabs">
|
||||
<li class="am-active"><a href="#tab1">主要指标</a></li>
|
||||
<li><a href="#tab2">损益表</a></li>
|
||||
|
@ -43,21 +45,21 @@
|
|||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<#if (pager1.list)?exists>
|
||||
<#list pager1.list as list>
|
||||
<#if (pager.list)?exists>
|
||||
<#list pager.list as list>
|
||||
<tr>
|
||||
<td>${list.projectName!}</td>
|
||||
<td>${(list.incomeDeviceTaxExclude!0)?string("0.##")}</td>
|
||||
<td>${(list.incomeEngineerTaxExclude!0)?string("0.##")}</td>
|
||||
<td>${(list.incomeServiceTaxExclude!0)?string("0.##")}</td>
|
||||
<td>${(list.costPurchaseDeviceTaxExclude!0)?string("0.##")}</td>
|
||||
<td>${(list.costPurchaseBuildTaxExclude!0)?string("0.##")}</td>
|
||||
<td>${(list.costPurchaseServiceTaxExclude!0)?string("0.##")}</td>
|
||||
<td>${(list.costPurchaseOtherTaxExclude!0)?string("0.##")}</td>
|
||||
<td>${(list.costOtherOtherTaxExclude!0)?string("0.##")}</td>
|
||||
<td>${(list.costProjectManageTaxExclude!0)?string("0.##")}</td>
|
||||
<td>${(list.costExpropriationTaxExclude!0)?string("0.##")}</td>
|
||||
<td>${(list.costCompanyManageTaxExclude!0)?string("0.##")}</td>
|
||||
<td>${(list.incomeDevice!0)?string("0.##")}</td>
|
||||
<td>${(list.incomeEngineer!0)?string("0.##")}</td>
|
||||
<td>${(list.incomeService!0)?string("0.##")}</td>
|
||||
<td>${(list.costPurchaseDevice!0)?string("0.##")}</td>
|
||||
<td>${(list.costPurchaseBuild!0)?string("0.##")}</td>
|
||||
<td>${(list.costPurchaseService!0)?string("0.##")}</td>
|
||||
<td>${(list.costPurchaseOther!0)?string("0.##")}</td>
|
||||
<td>${(list.costOtherOther!0)?string("0.##")}</td>
|
||||
<td>${(list.costProjectManage!0)?string("0.##")}</td>
|
||||
<td>${(list.costExpropriation!0)?string("0.##")}</td>
|
||||
<td>${(list.costCompanyManage!0)?string("0.##")}</td>
|
||||
</tr>
|
||||
</#list>
|
||||
</#if>
|
||||
|
@ -93,18 +95,18 @@
|
|||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<#if (pager2.list)?exists>
|
||||
<#list pager2.list as list>
|
||||
<#if (pager.list)?exists>
|
||||
<#list pager.list as list>
|
||||
<tr>
|
||||
<td>${list.projectName!}</td>
|
||||
<td>${(list.incomeTotalTaxExclude!0)?string("0.##")}</td>
|
||||
<td>${(list.costTotalTaxExclude!0)?string("0.##")}</td>
|
||||
<td>${(list.costProjectManageTaxExclude!0)?string("0.##")}</td>
|
||||
<td>${(list.costOtherOtherTaxExclude!0)?string("0.##")}</td>
|
||||
<td>${(list.costExpropriationTaxExclude!0)?string("0.##")}</td>
|
||||
<td>${(list.incomeTotal!0)?string("0.##")}</td>
|
||||
<td>${(list.costTotal!0)?string("0.##")}</td>
|
||||
<td>${(list.costProjectManage!0)?string("0.##")}</td>
|
||||
<td>${(list.costOtherOther!0)?string("0.##")}</td>
|
||||
<td>${(list.costExpropriation!0)?string("0.##")}</td>
|
||||
<td>${(list.projectGrossProfit!0)?string("0.##")}</td>
|
||||
<td>${(list.projectGrossProfitRate!0)?string("0.##")}</td>
|
||||
<td>${(list.costCompanyManageTaxExclude!0)?string("0.##")}</td>
|
||||
<td>${(list.costCompanyManage!0)?string("0.##")}</td>
|
||||
<td>${(list.projectContributionProfit!0)?string("0.##")}</td>
|
||||
<td>${(list.projectContributionProfitRate!0)?string("0.##")}</td>
|
||||
<td>${(list.taxCost!0)?string("0.##")}</td>
|
||||
|
@ -146,8 +148,8 @@
|
|||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<#if (pager3.list)?exists>
|
||||
<#list pager3.list as list>
|
||||
<#if (pager.list)?exists>
|
||||
<#list pager.list as list>
|
||||
<tr>
|
||||
<td>${list.projectName!}</td>
|
||||
<td>${(list.saleIncomeCash!0)?string("0.##")}</td>
|
||||
|
@ -177,7 +179,7 @@
|
|||
|
||||
<div class="am-cf">
|
||||
<!-- 分页 -->
|
||||
<#if (pager1.list)?exists && (pager1.list?size>0) >
|
||||
<#if (pager.list)?exists && (pager.list?size>0) >
|
||||
<div class="am-fr">
|
||||
<#include "../common/common_pager.ftl">
|
||||
</div>
|
||||
|
@ -191,6 +193,22 @@
|
|||
|
||||
</div>
|
||||
</div>
|
||||
<script src="${base}/layui/layui.js"></script>
|
||||
<script>
|
||||
layui.use('laydate', function(){
|
||||
var laydate = layui.laydate;
|
||||
|
||||
laydate.render({
|
||||
elem: '#time',
|
||||
type: 'month',
|
||||
btns: ['confirm'],
|
||||
trigger: 'click',
|
||||
ready: function(date){
|
||||
console.log(date);
|
||||
}
|
||||
});
|
||||
});
|
||||
</script>
|
||||
</@defaultLayout.layout>
|
||||
|
||||
|
||||
|
|
Loading…
Reference in New Issue