Merge remote-tracking branch 'origin/master'

master
pengqiang 2021-11-26 16:43:55 +08:00
commit d3781a7164
13 changed files with 172 additions and 67 deletions

View File

@ -1,6 +1,7 @@
package cn.palmte.work.bean;
import java.math.BigDecimal;
import java.math.RoundingMode;
public class FinalBean {
@ -154,7 +155,13 @@ public class FinalBean {
private BigDecimal grossProfitProfitMargin;
public BigDecimal getGrossProfitProfitMargin() {
return grossProfitProfitMargin;
BigDecimal grossProfitFinalTotal = getGrossProfitFinalTotal();
BigDecimal incomeTotal = getIncomeTotal();
if(null == grossProfitFinalTotal || null == incomeTotal){
return null;
}
return grossProfitFinalTotal.divide(incomeTotal,4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
}
public void setGrossProfitProfitMargin(BigDecimal grossProfitProfitMargin) {
@ -186,7 +193,14 @@ public class FinalBean {
private BigDecimal contributionMarginProfitMargin;
public BigDecimal getContributionMarginProfitMargin() {
return contributionMarginProfitMargin;
BigDecimal contributionMarginFinalTotal = getContributionMarginFinalTotal();
BigDecimal incomeTotal = getIncomeTotal();
if(null == contributionMarginFinalTotal || null == incomeTotal){
return null;
}
return contributionMarginFinalTotal.divide(incomeTotal,4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
}
public void setContributionMarginProfitMargin(BigDecimal contributionMarginProfitMargin) {
@ -217,7 +231,13 @@ public class FinalBean {
private BigDecimal netMarginProfitMargin;
public BigDecimal getNetMarginProfitMargin() {
return netMarginProfitMargin;
BigDecimal netMarginFinalTotal = getNetMarginFinalTotal();
BigDecimal incomeTotal = getIncomeTotal();
if(null == netMarginFinalTotal || null == incomeTotal){
return null;
}
return netMarginFinalTotal.divide(incomeTotal,4, RoundingMode.HALF_UP).multiply(new BigDecimal(100));
}
public void setNetMarginProfitMargin(BigDecimal netMarginProfitMargin) {

View File

@ -139,8 +139,8 @@ public class AccountController extends BaseController {
accountService.saveOrUpdateAccount(userId, admin.getRoleId(), admin, privateKey);
} catch (Exception e) {
logger.error("保存账号出错!" + e.toString());
return "新增账号出错!请联系管理员处理!";
model.put("errorMessage", "保存账号出错!请联系管理员处理");
return "/common/error";
}
return "redirect:/account/list";
}

View File

@ -53,6 +53,20 @@ public class ProjectFinalProfitMargin {
@Column(name = "final_total_profit_margin")
private BigDecimal finalTotalProfitMargin;
/**
*
*/
@Column(name = "profit_margin")
private BigDecimal profitMargin;
public BigDecimal getProfitMargin() {
return profitMargin;
}
public void setProfitMargin(BigDecimal profitMargin) {
this.profitMargin = profitMargin;
}
public Integer getId() {
return id;
}
@ -77,5 +91,35 @@ public class ProjectFinalProfitMargin {
this.type = type;
}
public BigDecimal getEstimateTotalProfitMargin() {
return estimateTotalProfitMargin;
}
public void setEstimateTotalProfitMargin(BigDecimal estimateTotalProfitMargin) {
this.estimateTotalProfitMargin = estimateTotalProfitMargin;
}
public BigDecimal getBudgetTotalProfitMargin() {
return budgetTotalProfitMargin;
}
public void setBudgetTotalProfitMargin(BigDecimal budgetTotalProfitMargin) {
this.budgetTotalProfitMargin = budgetTotalProfitMargin;
}
public BigDecimal getSettleTotalProfitMargin() {
return settleTotalProfitMargin;
}
public void setSettleTotalProfitMargin(BigDecimal settleTotalProfitMargin) {
this.settleTotalProfitMargin = settleTotalProfitMargin;
}
public BigDecimal getFinalTotalProfitMargin() {
return finalTotalProfitMargin;
}
public void setFinalTotalProfitMargin(BigDecimal finalTotalProfitMargin) {
this.finalTotalProfitMargin = finalTotalProfitMargin;
}
}

View File

@ -55,6 +55,9 @@ public class ProjectFinalSevice {
@Autowired
private ProjectSettleService projectSettleService;
@Autowired
private ProjectFinalProfitMarginRepository projectFinalProfitMarginRepository;
@Transactional
public void save(Project project, FinalBean finalBean) {
//预算表数据
@ -76,6 +79,9 @@ public class ProjectFinalSevice {
//保存项目结算管理成本信息
saveProjectFinalCostManage(project,finalBean,estimate,budget,settle);
//保存项目决算利润率
saveProjectFinalProfitMargin(project,finalBean,estimate,budget,settle);
//保存项目结算现金流量信息
saveProjectFinalCashFlux(project,finalBean,cashFlowBean,settle);
@ -103,6 +109,9 @@ public class ProjectFinalSevice {
//保存项目结算管理成本信息
saveProjectFinalCostManage(project,finalBean,estimate,budget,settle);
//保存项目决算利润率
saveProjectFinalProfitMargin(project,finalBean,estimate,budget,settle);
//保存项目结算现金流量信息
saveProjectFinalCashFlux(project,finalBean,cashFlowBean,settle);
@ -113,6 +122,38 @@ public class ProjectFinalSevice {
}
private void saveProjectFinalProfitMargin(Project project, FinalBean finalBean, EstimateBean estimate, BudgetBean budget, FormerBean settle) {
ProjectFinalProfitMargin typeGrossProfit = new ProjectFinalProfitMargin();
typeGrossProfit.setProjectId(project.getId());
typeGrossProfit.setType(ProjectFinalProfitMargin.TYPE_GROSS_PROFIT);
typeGrossProfit.setEstimateTotalProfitMargin(estimate.getProjectGrossProfit());
typeGrossProfit.setBudgetTotalProfitMargin(budget.getProjectGrossProfit());
typeGrossProfit.setSettleTotalProfitMargin(settle.getGrossProfit());
typeGrossProfit.setFinalTotalProfitMargin(finalBean.getGrossProfitFinalTotal());
typeGrossProfit.setProfitMargin(finalBean.getGrossProfitProfitMargin());
projectFinalProfitMarginRepository.saveAndFlush(typeGrossProfit);
ProjectFinalProfitMargin typeContributionMargin = new ProjectFinalProfitMargin();
typeContributionMargin.setProjectId(project.getId());
typeContributionMargin.setType(ProjectFinalProfitMargin.TYPE_CONTRIBUTION_MARGIN);
typeContributionMargin.setEstimateTotalProfitMargin(estimate.getProjectContributionProfit());
typeContributionMargin.setBudgetTotalProfitMargin(budget.getProjectContributionProfit());
typeContributionMargin.setSettleTotalProfitMargin(settle.getContributionProfit());
typeContributionMargin.setFinalTotalProfitMargin(finalBean.getContributionMarginFinalTotal());
typeContributionMargin.setProfitMargin(finalBean.getContributionMarginProfitMargin());
projectFinalProfitMarginRepository.saveAndFlush(typeContributionMargin);
ProjectFinalProfitMargin typeNetMargin = new ProjectFinalProfitMargin();
typeNetMargin.setProjectId(project.getId());
typeNetMargin.setType(ProjectFinalProfitMargin.TYPE_NET_MARGIN);
typeNetMargin.setSettleTotalProfitMargin(settle.getNetProfit());
typeNetMargin.setFinalTotalProfitMargin(finalBean.getNetMarginFinalTotal());
typeNetMargin.setProfitMargin(finalBean.getNetMarginProfitMargin());
projectFinalProfitMarginRepository.saveAndFlush(typeNetMargin);
}
public void saveProjectFinalCostManage(Project project, FinalBean finalBean,EstimateBean estimate,BudgetBean budget,FormerBean settle){
ProjectFinalCostManage expropriationManage = new ProjectFinalCostManage();
expropriationManage.setProjectId(project.getId());

View File

@ -126,7 +126,7 @@ function appendTrCost() {
'<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost"></td>'+
'<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost""></td>'+
'<td><input type="number" min="0" max="99999999" step="1" class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-amount"></td>'+
'<td><input type="number" min="0.00" max="99999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-price"></td>'+
'<td><input type="number" min="0.00" max="9999999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-price"></td>'+
'<td><input type="number" min="0.00" max="99.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-tax-rate"></td>'+
'<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-total-tax-include" readonly></td>'+
'<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-total-tax-exclude" readonly></td>'+

View File

@ -39,7 +39,7 @@ function appendTrCostProjectManage() {
' <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage"></td>\n' +
' <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage"></td>\n' +
' <td><input type="number" min="0" max="99999999" step="1" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage input-changeable-amount-project-manage"></td>\n' +
' <td><input type="number" min="0.00" max="99999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage input-changeable-price-project-manage"></td>\n' +
' <td><input type="number" min="0.00" max="9999999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage input-changeable-price-project-manage"></td>\n' +
' <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage input-changeable-total-project-manage" readonly></td>\n' +
' <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage"></td>\n' +
' <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage"></td>\n' +

View File

@ -80,7 +80,7 @@ function appendTrIncome() {
' <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income"></td>\n' +
' <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income"></td>\n' +
' <td><input type="number" min="0" max="99999999" step="1" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-amount"></td>\n' +
' <td><input type="number" min="0.00" max="99999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-price"></td>\n' +
' <td><input type="number" min="0.00" max="9999999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-price"></td>\n' +
' <td><input type="number" min="0.00" max="99.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-tax-rate"></td>\n' +
' <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-total-tax-include" readonly></td>\n' +
' <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-total-tax-exclude" readonly></td>\n' +

View File

@ -93,13 +93,13 @@ function verifyBudgetPlan(){
function appendTrBudgetPlan() {
var template = '<tr>\n' +
' <td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-month-budget-plan" readonly></td>\n' +
' <td><input type="number" min="0.00" max="99999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-device-cost-budget-plan"></td>\n' +
' <td><input type="number" min="0.00" max="99999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-engineer-cost-budget-plan"></td>\n' +
' <td><input type="number" min="0.00" max="99999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-project-manage-cost-budget-plan"></td>\n' +
' <td><input type="number" min="0.00" max="99999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-earnest-money-cost-budget-plan"></td>\n' +
' <td><input type="number" min="0.00" max="9999999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-device-cost-budget-plan"></td>\n' +
' <td><input type="number" min="0.00" max="9999999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-engineer-cost-budget-plan"></td>\n' +
' <td><input type="number" min="0.00" max="9999999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-project-manage-cost-budget-plan"></td>\n' +
' <td><input type="number" min="0.00" max="9999999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-earnest-money-cost-budget-plan"></td>\n' +
' <td><input type="number" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-total-cost-budget-plan" readonly></td>\n' +
' <td><input type="number" min="0.00" max="99999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-sale-income-budget-plan"></td>\n' +
' <td><input type="number" min="0.00" max="99999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-earnest-money-income-budget-plan"></td>\n' +
' <td><input type="number" min="0.00" max="9999999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-sale-income-budget-plan"></td>\n' +
' <td><input type="number" min="0.00" max="9999999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-earnest-money-income-budget-plan"></td>\n' +
' <td><input type="number" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-total-income-budget-plan" readonly></td>\n' +
' <td><input type="number" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-fund-balance-budget-plan" readonly></td>\n' +
' <td><input type="number" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-capital-interest-budget-plan" readonly></td>\n' +

View File

@ -129,7 +129,7 @@
<input name="directManager" class="js-ajax-validate"
data-validate-async data-validation-message="请输入直接主管"
type="text" id="directManager" value="${account.directManager!}"
minlength="1" maxlength="20" <#if userId!=-1>readonly</#if>
minlength="1" maxlength="10" <#if userId!=-1>readonly</#if>
required placeholder="请输入直接主管"/>
</div>
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>

View File

@ -283,8 +283,8 @@
<td>成本</td>
<td>其他</td>
<td>其他</td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costOtherOtherTaxInclude" value="${Utils.format(budgetBean.costOtherOtherTaxInclude,'0')}" required title="其他含税总额(填入)"></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costOtherOtherTaxExclude" value="${Utils.format(budgetBean.costOtherOtherTaxExclude,'0')}" required title="其他不含税总额(填入)"></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="costOtherOtherTaxInclude" value="${Utils.format(budgetBean.costOtherOtherTaxInclude,'0')}" required title="其他含税总额(填入)"></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="costOtherOtherTaxExclude" value="${Utils.format(budgetBean.costOtherOtherTaxExclude,'0')}" required title="其他不含税总额(填入)"></td>
</tr>
<tr>
<td>合计</td>
@ -312,7 +312,7 @@
<tr>
<td>公司管理费用</td>
<td></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costCompanyManageTaxExclude" value="${Utils.format(budgetBean.costCompanyManageTaxExclude,'0')}" required title="公司管理费用不含税总额"></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="costCompanyManageTaxExclude" value="${Utils.format(budgetBean.costCompanyManageTaxExclude,'0')}" required title="公司管理费用不含税总额"></td>
</tr>
</tbody>
</table>
@ -443,7 +443,7 @@
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income" value="${incomeDetail.name!}"></td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income" value="${incomeDetail.unit!}"></td>
<td><input type="number" min="0" max="99999999" step="1" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-amount" value="${incomeDetail.amount!0}" onkeyup="integerNumber(this)"></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-price" value="${Utils.format(incomeDetail.price,'0')}"></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-price" value="${Utils.format(incomeDetail.price,'0')}"></td>
<td><input type="number" min="0.00" max="99.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-tax-rate" value="${Utils.format(incomeDetail.taxRate,'0')}"></td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-total-tax-include" value="${Utils.format(incomeDetail.totalTaxInclude,'0')}" readonly></td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-income input-changeable-total-tax-exclude" value="${Utils.format(incomeDetail.totalTaxExclude,'0')}" readonly></td>
@ -511,7 +511,7 @@
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost" value="${costDetail.name!}"></td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost" value="${costDetail.unit!}"></td>
<td><input type="number" min="0" max="99999999" step="1" class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-amount" value="${costDetail.amount!0}" onkeyup="integerNumber(this)"></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-price" value="${Utils.format(costDetail.price,'0')}"></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-price" value="${Utils.format(costDetail.price,'0')}"></td>
<td><input type="number" min="0.00" max="99.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-tax-rate" value="${Utils.format(costDetail.taxRate,'0')}"></td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-total-tax-include" value="${Utils.format(costDetail.totalTaxInclude,'0')}" readonly></td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost input-changeable-total-tax-exclude" value="${Utils.format(costDetail.totalTaxExclude,'0')}" readonly></td>
@ -565,7 +565,7 @@
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" value="${costProjectManageDetail.detail!}"></td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" value="${costProjectManageDetail.unit!}"></td>
<td><input type="number" min="0" max="99999999" step="1" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage input-changeable-amount-project-manage" value="${costProjectManageDetail.amount!0}" onkeyup="integerNumber(this)"></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage input-changeable-price-project-manage" value="${Utils.format(costProjectManageDetail.price,'0')}"></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage input-changeable-price-project-manage" value="${Utils.format(costProjectManageDetail.price,'0')}"></td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage input-changeable-total-project-manage" value="${Utils.format(costProjectManageDetail.total,'0')}" readonly></td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" value="${costProjectManageDetail.predictMethod!}"></td>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-cost-project-manage" value="${costProjectManageDetail.predictWhy!}"></td>
@ -631,13 +631,13 @@
<#list projectBudgetPlanDetails as projectBudgetPlanDetail>
<tr>
<td><input type="text" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-month-budget-plan" value="${projectBudgetPlanDetail.month!}" readonly></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-device-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetail.deviceCost)}"></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-engineer-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetail.engineerCost)}"></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-project-manage-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetail.projectManageCost)}"></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-earnest-money-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetail.earnestMoneyCost)}"></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-device-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetail.deviceCost)}"></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-engineer-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetail.engineerCost)}"></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-project-manage-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetail.projectManageCost)}"></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-earnest-money-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetail.earnestMoneyCost)}"></td>
<td><input type="number" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-total-cost-budget-plan" value="${Utils.format(projectBudgetPlanDetail.totalCost)}" readonly></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-sale-income-budget-plan" value="${Utils.format(projectBudgetPlanDetail.saleIncome)}"></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-earnest-money-income-budget-plan" value="${Utils.format(projectBudgetPlanDetail.earnestMoneyIncome)}"></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-sale-income-budget-plan" value="${Utils.format(projectBudgetPlanDetail.saleIncome)}"></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-earnest-money-income-budget-plan" value="${Utils.format(projectBudgetPlanDetail.earnestMoneyIncome)}"></td>
<td><input type="number" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-total-income-budget-plan" value="${Utils.format(projectBudgetPlanDetail.totalIncome)}" readonly></td>
<td><input type="number" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-fund-balance-budget-plan" value="${Utils.format(projectBudgetPlanDetail.fundBalance)}" readonly></td>
<td><input type="number" class="am-modal-prompt-input am-modal-prompt-input-budget-plan-detail input-changeable-capital-interest-budget-plan" value="${Utils.format(projectBudgetPlanDetail.capitalInterest)}" readonly></td>

View File

@ -188,20 +188,20 @@
<tr>
<td>收入</td>
<td>设备类</td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeDeviceTaxInclude" required></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeDeviceTaxExclude" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="incomeDeviceTaxInclude" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="incomeDeviceTaxExclude" required></td>
</tr>
<tr>
<td>收入</td>
<td>工程类</td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeEngineerTaxInclude" required></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeEngineerTaxExclude" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="incomeEngineerTaxInclude" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="incomeEngineerTaxExclude" required></td>
</tr>
<tr>
<td>收入</td>
<td>服务类</td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeServiceTaxInclude" required></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeServiceTaxExclude" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="incomeServiceTaxInclude" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="incomeServiceTaxExclude" required></td>
</tr>
<tr>
<td>合计</td>
@ -225,43 +225,43 @@
<td>成本</td>
<td>采购成本</td>
<td>设备</td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseDeviceTaxInclude" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="costPurchaseDeviceTaxInclude" required></td>
<td><input type="number" name="costPurchaseDeviceTaxExclude" required></td>
</tr>
<tr>
<td>成本</td>
<td>采购成本</td>
<td>施工</td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseBuildTaxInclude" required></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseBuildTaxExclude" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="costPurchaseBuildTaxInclude" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="costPurchaseBuildTaxExclude" required></td>
</tr>
<tr>
<td>成本</td>
<td>采购成本</td>
<td>服务</td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseServiceTaxInclude" required></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseServiceTaxExclude" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="costPurchaseServiceTaxInclude" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="costPurchaseServiceTaxExclude" required></td>
</tr>
<tr>
<td>成本</td>
<td>采购成本</td>
<td>其他</td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseOtherTaxInclude" required></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseOtherTaxExclude" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="costPurchaseOtherTaxInclude" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="costPurchaseOtherTaxExclude" required></td>
</tr>
<tr>
<td>成本</td>
<td>项目管理成本</td>
<td>项目管理成本</td>
<td><input type="number" name="costProjectManageTaxInclude" required readonly></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costProjectManageTaxExclude" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="costProjectManageTaxExclude" required></td>
</tr>
<tr>
<td>成本</td>
<td>其他</td>
<td>其他</td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costOtherOtherTaxInclude" required></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costOtherOtherTaxExclude" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="costOtherOtherTaxInclude" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="costOtherOtherTaxExclude" required></td>
</tr>
<tr>
<td>合计</td>
@ -283,12 +283,12 @@
<tr>
<td>财务费用</td>
<td>资金占用成本</td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costExpropriationTaxExclude" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="costExpropriationTaxExclude" required></td>
</tr>
<tr>
<td>公司管理费用</td>
<td></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costCompanyManageTaxExclude" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="costCompanyManageTaxExclude" required></td>
</tr>
</tbody>
</table>

View File

@ -188,26 +188,26 @@
<tr>
<td>收入</td>
<td>设备类</td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeDeviceTaxInclude" value="${Utils.format(estimateBean.incomeDeviceTaxInclude)}" required></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeDeviceTaxExclude" value="${Utils.format(estimateBean.incomeDeviceTaxExclude)}" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="incomeDeviceTaxInclude" value="${Utils.format(estimateBean.incomeDeviceTaxInclude)}" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="incomeDeviceTaxExclude" value="${Utils.format(estimateBean.incomeDeviceTaxExclude)}" required></td>
</tr>
<tr>
<td>收入</td>
<td>工程类</td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeEngineerTaxInclude" value="${Utils.format(estimateBean.incomeEngineerTaxInclude)}" required></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeEngineerTaxExclude" value="${Utils.format(estimateBean.incomeEngineerTaxExclude)}" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="incomeEngineerTaxInclude" value="${Utils.format(estimateBean.incomeEngineerTaxInclude)}" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="incomeEngineerTaxExclude" value="${Utils.format(estimateBean.incomeEngineerTaxExclude)}" required></td>
</tr>
<tr>
<td>收入</td>
<td>服务类</td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeServiceTaxInclude" value="${Utils.format(estimateBean.incomeServiceTaxInclude)}" required></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeServiceTaxExclude" value="${Utils.format(estimateBean.incomeServiceTaxExclude)}" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="incomeServiceTaxInclude" value="${Utils.format(estimateBean.incomeServiceTaxInclude)}" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="incomeServiceTaxExclude" value="${Utils.format(estimateBean.incomeServiceTaxExclude)}" required></td>
</tr>
<tr>
<td>合计</td>
<td></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeTotalTaxInclude" value="${Utils.format(estimateBean.incomeTotalTaxInclude)}" readonly title="此列累计"></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="incomeTotalTaxExclude" value="${Utils.format(estimateBean.incomeTotalTaxExclude)}" readonly title="此列累计"></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="incomeTotalTaxInclude" value="${Utils.format(estimateBean.incomeTotalTaxInclude)}" readonly title="此列累计"></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="incomeTotalTaxExclude" value="${Utils.format(estimateBean.incomeTotalTaxExclude)}" readonly title="此列累计"></td>
</tr>
</tbody>
</table>
@ -225,43 +225,43 @@
<td>成本</td>
<td>采购成本</td>
<td>设备</td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseDeviceTaxInclude" value="${Utils.format(estimateBean.costPurchaseDeviceTaxInclude)}" required></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseDeviceTaxExclude" value="${Utils.format(estimateBean.costPurchaseDeviceTaxExclude)}" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="costPurchaseDeviceTaxInclude" value="${Utils.format(estimateBean.costPurchaseDeviceTaxInclude)}" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="costPurchaseDeviceTaxExclude" value="${Utils.format(estimateBean.costPurchaseDeviceTaxExclude)}" required></td>
</tr>
<tr>
<td>成本</td>
<td>采购成本</td>
<td>施工</td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseBuildTaxInclude" value="${Utils.format(estimateBean.costPurchaseBuildTaxInclude)}" required></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseBuildTaxExclude" value="${Utils.format(estimateBean.costPurchaseBuildTaxExclude)}" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="costPurchaseBuildTaxInclude" value="${Utils.format(estimateBean.costPurchaseBuildTaxInclude)}" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="costPurchaseBuildTaxExclude" value="${Utils.format(estimateBean.costPurchaseBuildTaxExclude)}" required></td>
</tr>
<tr>
<td>成本</td>
<td>采购成本</td>
<td>服务</td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseServiceTaxInclude" value="${Utils.format(estimateBean.costPurchaseServiceTaxInclude)}" required></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseServiceTaxExclude" value="${Utils.format(estimateBean.costPurchaseServiceTaxExclude)}" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="costPurchaseServiceTaxInclude" value="${Utils.format(estimateBean.costPurchaseServiceTaxInclude)}" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="costPurchaseServiceTaxExclude" value="${Utils.format(estimateBean.costPurchaseServiceTaxExclude)}" required></td>
</tr>
<tr>
<td>成本</td>
<td>采购成本</td>
<td>其他</td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseOtherTaxInclude" value="${Utils.format(estimateBean.costPurchaseOtherTaxInclude)}" required></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costPurchaseOtherTaxExclude" value="${Utils.format(estimateBean.costPurchaseOtherTaxExclude)}" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="costPurchaseOtherTaxInclude" value="${Utils.format(estimateBean.costPurchaseOtherTaxInclude)}" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="costPurchaseOtherTaxExclude" value="${Utils.format(estimateBean.costPurchaseOtherTaxExclude)}" required></td>
</tr>
<tr>
<td>成本</td>
<td>项目管理成本</td>
<td>项目管理成本</td>
<td><input type="number" name="costProjectManageTaxInclude" value="${Utils.format(estimateBean.costProjectManageTaxInclude)}" required readonly></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costProjectManageTaxExclude" value="${Utils.format(estimateBean.costProjectManageTaxExclude)}" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="costProjectManageTaxExclude" value="${Utils.format(estimateBean.costProjectManageTaxExclude)}" required></td>
</tr>
<tr>
<td>成本</td>
<td>其他</td>
<td>其他</td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costOtherOtherTaxInclude" value="${Utils.format(estimateBean.costOtherOtherTaxInclude)}" required></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costOtherOtherTaxExclude" value="${Utils.format(estimateBean.costOtherOtherTaxExclude)}" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="costOtherOtherTaxInclude" value="${Utils.format(estimateBean.costOtherOtherTaxInclude)}" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="costOtherOtherTaxExclude" value="${Utils.format(estimateBean.costOtherOtherTaxExclude)}" required></td>
</tr>
<tr>
<td>合计</td>
@ -283,12 +283,12 @@
<tr>
<td>财务费用</td>
<td>资金占用成本</td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costExpropriationTaxExclude" value="${Utils.format(estimateBean.costExpropriationTaxExclude)}" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="costExpropriationTaxExclude" value="${Utils.format(estimateBean.costExpropriationTaxExclude)}" required></td>
</tr>
<tr>
<td>公司管理费用</td>
<td></td>
<td><input type="number" min="0.00" max="99999999.99" step="0.01" name="costCompanyManageTaxExclude" value="${Utils.format(estimateBean.costCompanyManageTaxExclude)}" required></td>
<td><input type="number" min="0.00" max="9999999999.99" step="0.01" name="costCompanyManageTaxExclude" value="${Utils.format(estimateBean.costCompanyManageTaxExclude)}" required></td>
</tr>
</tbody>
</table>

View File

@ -232,7 +232,7 @@
<tr>
<td>项目净利润</td>
<td>/</td>
<td><input name="netMarginBudgetTotal" type="number" value="${Utils.format(finalBean.netMarginBudgetTotal,'0')}" readonly required title="项目净利润预算总额"></td>
<td>/<#--<input name="netMarginBudgetTotal" type="number" value="${Utils.format(budgetBean.netProfit,'0')}" readonly required title="项目净利润预算总额">--></td>
<td><input name="netMarginSettleTotal" type="number" value="${Utils.format(settleBean.netProfit,'0')}" readonly required title="项目净利润结算总额"></td>
<td><input name="netMarginFinalTotal" type="number" value="${Utils.format(finalBean.netMarginFinalTotal,'0')}" readonly required title="项目净利润决算总额"></td>
<td><input name="netMarginProfitMargin" type="number" value="${Utils.format(finalBean.netMarginProfitMargin,'0')}" required readonly title="项目净利润利润率"></td>