毛利A计算
parent
1eadf7fd26
commit
19dbd05ad9
|
@ -479,6 +479,39 @@ public abstract class IncomeCostBean {
|
|||
return getCostTotalTaxInclude().subtract(getCostTotalTaxExclude());
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算项目毛利
|
||||
* 收入总计(不含税)-成本总计(不含税)-财务费用总计(不含税)
|
||||
*/
|
||||
public BigDecimal getProjectGrossProfitA() {
|
||||
BigDecimal incomeTotalTaxExclude = getIncomeTotalTaxExclude();
|
||||
BigDecimal costTotalTaxExclude = getCostTotalTaxExclude();
|
||||
if (null == incomeTotalTaxExclude || null == costTotalTaxExclude) {
|
||||
return handleSpecial(null);
|
||||
}
|
||||
return incomeTotalTaxExclude
|
||||
.subtract(costTotalTaxExclude);
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算项目毛利率
|
||||
* 毛利(不含税)/收入总计(不含税
|
||||
*/
|
||||
public BigDecimal getProjectGrossProfitARate() {
|
||||
BigDecimal projectGrossProfit = getProjectGrossProfitA();
|
||||
BigDecimal incomeTotalTaxExclude = getIncomeTotalTaxExclude();
|
||||
if (null == projectGrossProfit || null == incomeTotalTaxExclude) {
|
||||
return handleSpecial(null);
|
||||
}
|
||||
BigDecimal zero = new BigDecimal(0);
|
||||
if (projectGrossProfit.compareTo(zero) == 0 || incomeTotalTaxExclude.compareTo(zero) == 0) {
|
||||
return handleSpecial(null);
|
||||
}
|
||||
return projectGrossProfit
|
||||
.multiply(new BigDecimal(100))
|
||||
.divide(incomeTotalTaxExclude, 2, BigDecimal.ROUND_HALF_UP);
|
||||
}
|
||||
|
||||
/**
|
||||
* 计算项目毛利
|
||||
* 收入总计(不含税)-成本总计(不含税)-财务费用总计(不含税)
|
||||
|
|
|
@ -150,10 +150,10 @@ public class ProjectController extends BaseController {
|
|||
public void export(@RequestParam(value = "keywords", required = false) String keywords, HttpServletResponse httpServletResponse) throws IOException {
|
||||
Map<String, String> searchInfo = getSearchInfo(keywords);
|
||||
downloadHeader(httpServletResponse, Utils.generateExcelName("项目报表"), "application/octet-stream");
|
||||
String[] headers = {"项目编号", "项目名称", "项目类型", "垫资模式", "垫资利息", "垫资峰值", "项目合同金额", "项目毛利", "项目毛利率", "项目把握度", "汇智产品金额", "华智产品金额",
|
||||
String[] headers = {"项目编号", "项目名称", "项目类型", "垫资模式", "垫资利息", "垫资峰值", "项目合同金额", "项目毛利A", "项目毛利A利率", "项目毛利", "项目毛利率", "项目把握度", "汇智产品金额", "华智产品金额",
|
||||
"华三产品金额", "其他产品金额", "项目当前状态", "行业场景应用", "解决方案", "客户名称", "最终用户名称", "预计合同签订时间", "项目计划招标时间", "是否二次合作", "直签", "战略合作对象",
|
||||
"项目负责人", "价值及风险", "主合同收款条款", "主合同具体解决方案", "计收计划", "审核状态", "当前审核人", "项目创建者", "部门名称","项目阶段", "公司销售阶段", "当前进度描述", "下一步计划", "项目开始时间", "项目结束时间", "最后更新时间"};
|
||||
String[] exportColumns = {"projectNo", "name", "typeDesc", "underwrittenModeStr", "advanceInterestAmountRound", "advancePeakAmountRound", "contractRound", "grossProfitRound", "grossProfitMarginRound", "certaintyStr", "huizhiRound", "huazhiRound",
|
||||
String[] exportColumns = {"projectNo", "name", "typeDesc", "underwrittenModeStr", "advanceInterestAmountRound", "advancePeakAmountRound", "contractRound", "grossProfitARound", "grossProfitAMarginRound", "grossProfitRound", "grossProfitMarginRound", "certaintyStr", "huizhiRound", "huazhiRound",
|
||||
"huasanRound", "ziguangRound", "statusDesc", "industryScenario", "resolvePlanStr", "customer", "terminalCustomer", "contractTimeStr", "bidsTimeStr", "isSecondStr", "signTypeStr", "collaborator",
|
||||
"principal", "valueRisk", "mainContractCollectionTerms", "mainContractResolvePlan", "calculationCollection", "approveStatusDesc", "approveName", "creatorName", "deptName","stageName", "saleStageName", "stageRemark", "nextPlan", "startDateStr", "endDateStr", "lastUpdateTimeStr"};
|
||||
ExportUtils.exportToExcel(headers, exportColumns, 1, 10000,
|
||||
|
@ -186,10 +186,10 @@ public class ProjectController extends BaseController {
|
|||
|
||||
ProjectBudget projectBudget = projectService.findBudgetByProjectId(project.getId());
|
||||
String[] headers1 = {"部门名称", "项目编号", "项目名称", "合同名称", "项目类型", "项目计划开始时间", "项目计划结束时间", "垫资模式", "合作对象", "垫资利息", "垫资峰值", "合同金额",
|
||||
"项目毛利", "项目毛利率", "华智产品金额", "汇智产品金额", "华三产品金额", "其他产品金额", "项目把握度", "行业场景应用", "项目解决方案", "客户名称", "最终用户名称",
|
||||
"项目毛利A", "项目毛利A利率", "项目毛利", "项目毛利率", "华智产品金额", "汇智产品金额", "华三产品金额", "其他产品金额", "项目把握度", "行业场景应用", "项目解决方案", "客户名称", "最终用户名称",
|
||||
"价值及风险", "项目负责人", "预计合同签订时间", "项目计划招标时间", "是否二次合作", "直签", "主合同收款条款", "主合同具体解决方案", "计收计划"};
|
||||
String[] columns1 = {"deptNameBudget", "projectNoBudget", "nameBudget", "contractBudget", "typeDescBudget", "startDateBudget", "endDateBudget", "underwrittenModeStrBudget", "collaboratorBudget", "advanceInterestAmountRoundBudget", "advancePeakAmountRoundBudget", "contractRoundBudget",
|
||||
"grossProfitRoundBudget", "grossProfitMarginRoundBudget", "huazhiRoundBudget", "huizhiRoundBudget", "huasanRoundBudget", "ziguangRoundBudget", "certaintyStrBudget", "industryScenarioBudget", "resolvePlanStrBudget", "customerBudget", "terminalCustomerBudget",
|
||||
"grossProfitARoundBudget", "grossProfitAMarginRoundBudget", "grossProfitRoundBudget", "grossProfitMarginRoundBudget", "huazhiRoundBudget", "huizhiRoundBudget", "huasanRoundBudget", "ziguangRoundBudget", "certaintyStrBudget", "industryScenarioBudget", "resolvePlanStrBudget", "customerBudget", "terminalCustomerBudget",
|
||||
"valueRiskBudget", "principalBudget", "contractTimeBudget", "bidsTimeBudget", "isSecondStrBudget", "signTypeStrBudget", "mainContractCollectionTermsBudget", "mainContractResolvePlanBudget", "calculationCollectionBudget"};
|
||||
exportExcelUtils.exportProjectBudgetExcel(headers1, columns1, projectBudget, "yyyy-MM-dd", 0, "项目基本信息", outputStream);
|
||||
BudgetBean budgetBean = projectBudgetService.getBudget(project);
|
||||
|
@ -1203,10 +1203,10 @@ public class ProjectController extends BaseController {
|
|||
ExportExcelUtils exportExcelUtils = new ExportExcelUtils();
|
||||
ProjectBudget projectBudget = projectService.findBudgetByProjectId(project.getId());
|
||||
String[] headers1 = {"部门名称", "项目编号", "项目名称", "合同名称", "项目类型", "项目计划开始时间", "项目计划结束时间", "垫资模式", "合作对象", "垫资利息", "垫资峰值", "合同金额",
|
||||
"项目毛利", "项目毛利率", "华智产品金额", "汇智产品金额", "华三产品金额", "其他产品金额", "项目把握度", "行业场景应用", "项目解决方案", "客户名称", "最终用户名称",
|
||||
"项目毛利A", "项目毛利A利率", "项目毛利", "项目毛利率", "华智产品金额", "汇智产品金额", "华三产品金额", "其他产品金额", "项目把握度", "行业场景应用", "项目解决方案", "客户名称", "最终用户名称",
|
||||
"价值及风险", "项目负责人", "预计合同签订时间", "项目计划招标时间", "是否二次合作", "直签", "主合同收款条款", "主合同具体解决方案", "计收计划"};
|
||||
String[] columns1 = {"deptNameBudget", "projectNoBudget", "nameBudget", "contractBudget", "typeDescBudget", "startDateBudget", "endDateBudget", "underwrittenModeStrBudget", "collaboratorBudget", "advanceInterestAmountRoundBudget", "advancePeakAmountRoundBudget", "contractRoundBudget",
|
||||
"grossProfitRoundBudget", "grossProfitMarginRoundBudget", "huazhiRoundBudget", "huizhiRoundBudget", "huasanRoundBudget", "ziguangRoundBudget", "certaintyStrBudget", "industryScenarioBudget", "resolvePlanStrBudget", "customerBudget", "terminalCustomerBudget",
|
||||
"grossProfitARoundBudget", "grossProfitAMarginRoundBudget", "grossProfitRoundBudget", "grossProfitMarginRoundBudget", "huazhiRoundBudget", "huizhiRoundBudget", "huasanRoundBudget", "ziguangRoundBudget", "certaintyStrBudget", "industryScenarioBudget", "resolvePlanStrBudget", "customerBudget", "terminalCustomerBudget",
|
||||
"valueRiskBudget", "principalBudget", "contractTimeBudget", "bidsTimeBudget", "isSecondStrBudget", "signTypeStrBudget", "mainContractCollectionTermsBudget", "mainContractResolvePlanBudget", "calculationCollectionBudget"};
|
||||
exportExcelUtils.exportProjectBudgetExcel(headers1, columns1, projectBudget, "yyyy-MM-dd", 0, "项目基本信息", outputStream);
|
||||
|
||||
|
|
|
@ -211,6 +211,12 @@ public class Project {
|
|||
@Column(name = "certainty_str")
|
||||
private String certaintyStr;
|
||||
|
||||
@Column(name = "gross_profit_a")
|
||||
private BigDecimal grossProfitA;
|
||||
|
||||
@Column(name = "gross_profit_a_margin")
|
||||
private BigDecimal grossProfitAMargin;
|
||||
|
||||
@Column(name = "gross_profit")
|
||||
private BigDecimal grossProfit;
|
||||
|
||||
|
@ -283,6 +289,12 @@ public class Project {
|
|||
@Transient
|
||||
private String huasanRound;
|
||||
|
||||
@Transient
|
||||
private String grossProfitARound;
|
||||
|
||||
@Transient
|
||||
private String grossProfitAMarginRound;
|
||||
|
||||
@Transient
|
||||
private String grossProfitRound;
|
||||
|
||||
|
@ -310,6 +322,12 @@ public class Project {
|
|||
@Transient
|
||||
private String huasanRound2;
|
||||
|
||||
@Transient
|
||||
private String grossProfitARound2;
|
||||
|
||||
@Transient
|
||||
private String grossProfitAMarginRound2;
|
||||
|
||||
@Transient
|
||||
private String grossProfitRound2;
|
||||
|
||||
|
@ -1134,4 +1152,52 @@ public class Project {
|
|||
public void setSaleStageName(String saleStageName) {
|
||||
this.saleStageName = saleStageName;
|
||||
}
|
||||
|
||||
public BigDecimal getGrossProfitA() {
|
||||
return grossProfitA;
|
||||
}
|
||||
|
||||
public void setGrossProfitA(BigDecimal grossProfitA) {
|
||||
this.grossProfitA = grossProfitA;
|
||||
}
|
||||
|
||||
public BigDecimal getGrossProfitAMargin() {
|
||||
return grossProfitAMargin;
|
||||
}
|
||||
|
||||
public void setGrossProfitAMargin(BigDecimal grossProfitAMargin) {
|
||||
this.grossProfitAMargin = grossProfitAMargin;
|
||||
}
|
||||
|
||||
public String getGrossProfitARound() {
|
||||
return grossProfitARound;
|
||||
}
|
||||
|
||||
public void setGrossProfitARound(String grossProfitARound) {
|
||||
this.grossProfitARound = grossProfitARound;
|
||||
}
|
||||
|
||||
public String getGrossProfitAMarginRound() {
|
||||
return grossProfitAMarginRound;
|
||||
}
|
||||
|
||||
public void setGrossProfitAMarginRound(String grossProfitAMarginRound) {
|
||||
this.grossProfitAMarginRound = grossProfitAMarginRound;
|
||||
}
|
||||
|
||||
public String getGrossProfitARound2() {
|
||||
return grossProfitARound2;
|
||||
}
|
||||
|
||||
public void setGrossProfitARound2(String grossProfitARound2) {
|
||||
this.grossProfitARound2 = grossProfitARound2;
|
||||
}
|
||||
|
||||
public String getGrossProfitAMarginRound2() {
|
||||
return grossProfitAMarginRound2;
|
||||
}
|
||||
|
||||
public void setGrossProfitAMarginRound2(String grossProfitAMarginRound2) {
|
||||
this.grossProfitAMarginRound2 = grossProfitAMarginRound2;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -157,6 +157,12 @@ public class ProjectBudget {
|
|||
@Column(name = "certainty_str_budget")
|
||||
private String certaintyStrBudget;
|
||||
|
||||
@Column(name = "gross_profit_a_budget")
|
||||
private BigDecimal grossProfitABudget;
|
||||
|
||||
@Column(name = "gross_profit_a_margin_budget")
|
||||
private BigDecimal grossProfitAMarginBudget;
|
||||
|
||||
@Column(name = "gross_profit_budget")
|
||||
private BigDecimal grossProfitBudget;
|
||||
|
||||
|
@ -217,6 +223,12 @@ public class ProjectBudget {
|
|||
@Transient
|
||||
private String huasanRoundBudget;
|
||||
|
||||
@Transient
|
||||
private String grossProfitARoundBudget;
|
||||
|
||||
@Transient
|
||||
private String grossProfitAMarginRoundBudget;
|
||||
|
||||
@Transient
|
||||
private String grossProfitRoundBudget;
|
||||
|
||||
|
@ -660,4 +672,36 @@ public class ProjectBudget {
|
|||
public void setAdvancePeakAmountRoundBudget(String advancePeakAmountRoundBudget) {
|
||||
this.advancePeakAmountRoundBudget = advancePeakAmountRoundBudget;
|
||||
}
|
||||
|
||||
public BigDecimal getGrossProfitABudget() {
|
||||
return grossProfitABudget;
|
||||
}
|
||||
|
||||
public void setGrossProfitABudget(BigDecimal grossProfitABudget) {
|
||||
this.grossProfitABudget = grossProfitABudget;
|
||||
}
|
||||
|
||||
public BigDecimal getGrossProfitAMarginBudget() {
|
||||
return grossProfitAMarginBudget;
|
||||
}
|
||||
|
||||
public void setGrossProfitAMarginBudget(BigDecimal grossProfitAMarginBudget) {
|
||||
this.grossProfitAMarginBudget = grossProfitAMarginBudget;
|
||||
}
|
||||
|
||||
public String getGrossProfitARoundBudget() {
|
||||
return grossProfitARoundBudget;
|
||||
}
|
||||
|
||||
public void setGrossProfitARoundBudget(String grossProfitARoundBudget) {
|
||||
this.grossProfitARoundBudget = grossProfitARoundBudget;
|
||||
}
|
||||
|
||||
public String getGrossProfitAMarginRoundBudget() {
|
||||
return grossProfitAMarginRoundBudget;
|
||||
}
|
||||
|
||||
public void setGrossProfitAMarginRoundBudget(String grossProfitAMarginRoundBudget) {
|
||||
this.grossProfitAMarginRoundBudget = grossProfitAMarginRoundBudget;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -53,6 +53,12 @@ public class ProjectExtend {
|
|||
@Column(name = "ziguang_other_amount")
|
||||
private BigDecimal ziguangOtherAmount;
|
||||
|
||||
@Column(name = "gross_profit_a")
|
||||
private BigDecimal grossProfitA;
|
||||
|
||||
@Column(name = "gross_profit_a_margin")
|
||||
private BigDecimal grossProfitAMargin;
|
||||
|
||||
@Column(name = "gross_profit")
|
||||
private BigDecimal grossProfit;
|
||||
|
||||
|
@ -129,6 +135,22 @@ public class ProjectExtend {
|
|||
this.ziguangOtherAmount = ziguangOtherAmount;
|
||||
}
|
||||
|
||||
public BigDecimal getGrossProfitA() {
|
||||
return grossProfitA;
|
||||
}
|
||||
|
||||
public void setGrossProfitA(BigDecimal grossProfitA) {
|
||||
this.grossProfitA = grossProfitA;
|
||||
}
|
||||
|
||||
public BigDecimal getGrossProfitAMargin() {
|
||||
return grossProfitAMargin;
|
||||
}
|
||||
|
||||
public void setGrossProfitAMargin(BigDecimal grossProfitAMargin) {
|
||||
this.grossProfitAMargin = grossProfitAMargin;
|
||||
}
|
||||
|
||||
public BigDecimal getGrossProfit() {
|
||||
return grossProfit;
|
||||
}
|
||||
|
|
|
@ -957,6 +957,11 @@ public class ProjectBudgetService {
|
|||
budget.setAdvancePeakAmountBudget(bean.getAmount());
|
||||
|
||||
BudgetBean budgetBean = projectBudgetService.getBudget(p);
|
||||
BigDecimal grossProfitA = budgetBean.getProjectGrossProfitA();
|
||||
if (grossProfitA != null) {
|
||||
budget.setGrossProfitABudget(grossProfitA);
|
||||
budget.setGrossProfitAMarginBudget(budgetBean.getProjectGrossProfitARate());
|
||||
}
|
||||
BigDecimal grossProfit = budgetBean.getProjectGrossProfit();
|
||||
if (grossProfit != null) {
|
||||
budget.setGrossProfitBudget(grossProfit);
|
||||
|
@ -999,6 +1004,11 @@ public class ProjectBudgetService {
|
|||
extend.setAdvancePeakAmount(bean.getAmount());
|
||||
|
||||
BudgetBean budgetBean = projectBudgetService.getBudget(p);
|
||||
BigDecimal grossProfitA = budgetBean.getProjectGrossProfitA();
|
||||
if (grossProfitA != null) {
|
||||
extend.setGrossProfitA(grossProfitA);
|
||||
extend.setGrossProfitAMargin(budgetBean.getProjectGrossProfitARate());
|
||||
}
|
||||
BigDecimal grossProfit = budgetBean.getProjectGrossProfit();
|
||||
if (grossProfit != null) {
|
||||
extend.setGrossProfit(grossProfit);
|
||||
|
|
|
@ -65,6 +65,7 @@ public class ProjectService {
|
|||
"CASE p.approve_status WHEN 0 THEN '待审核' WHEN 1 THEN '审核通过' WHEN 2 THEN '审核不通过' ELSE '未知' AS approveStatusDesc," +
|
||||
*/
|
||||
QueryHelper queryHelper = new QueryHelper("SELECT p.*, FORMAT(p.contract_amount,2) as contractRound, FORMAT(p.huazhi_product_amount,2) as huazhiRound, FORMAT(p.huizhi_product_amount,2) as huizhiRound, FORMAT(p.huasan_product_amount,2) as huasanRound, FORMAT(p.ziguang_other_amount,2) as ziguangRound" +
|
||||
", FORMAT(p.gross_profit_a,2) as grossProfitARound, FORMAT(p.gross_profit_a_margin,2) as grossProfitAMarginRound, FORMAT(pe.gross_profit_a,2) as grossProfitARound2, FORMAT(pe.gross_profit_a_margin,2) as grossProfitAMarginRound2" +
|
||||
", FORMAT(p.gross_profit,2) as grossProfitRound, FORMAT(p.gross_profit_margin,2) as grossProfitMarginRound, FORMAT(p.advance_interest_amount,2) as advanceInterestAmountRound, FORMAT(p.advance_peak_amount,2) as advancePeakAmountRound, pe.is_budget as isBudget" +
|
||||
", FORMAT(pe.contract_amount,2) as contractRound2, FORMAT(pe.huazhi_product_amount,2) as huazhiRound2, FORMAT(pe.huizhi_product_amount,2) as huizhiRound2, FORMAT(pe.huasan_product_amount,2) as huasanRound2, FORMAT(pe.ziguang_other_amount,2) as ziguangRound2" +
|
||||
", FORMAT(pe.gross_profit,2) as grossProfitRound2, FORMAT(pe.gross_profit_margin,2) as grossProfitMarginRound2, FORMAT(pe.advance_interest_amount,2) as advanceInterestAmountRound2, FORMAT(pe.advance_peak_amount,2) as advancePeakAmountRound2" +
|
||||
|
@ -286,6 +287,8 @@ public class ProjectService {
|
|||
project.setHuazhiRound(project.getHuazhiRound2());
|
||||
project.setHuasanRound(project.getHuasanRound2());
|
||||
project.setZiguangRound(project.getZiguangRound2());
|
||||
project.setGrossProfitARound(project.getGrossProfitARound2());
|
||||
project.setGrossProfitAMarginRound(project.getGrossProfitAMarginRound2());
|
||||
project.setGrossProfitRound(project.getGrossProfitRound2());
|
||||
project.setGrossProfitMarginRound(project.getGrossProfitMarginRound2());
|
||||
project.setAdvancePeakAmountRound(project.getAdvancePeakAmountRound2());
|
||||
|
|
|
@ -658,6 +658,7 @@ public class ExportExcelUtils {
|
|||
|
||||
private int createProfitRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
|
||||
createSubTitleProfitRow(sheet, index++);
|
||||
createGrossProfitARow(budgetBean, sheet, index++);
|
||||
createGrossProfitRow(budgetBean, sheet, index++);
|
||||
// createGrossProfitMarginRow(budgetBean, sheet, index++);
|
||||
createContributionProfitRow(budgetBean, sheet, index++);
|
||||
|
@ -686,6 +687,26 @@ public class ExportExcelUtils {
|
|||
|
||||
}
|
||||
|
||||
private void createGrossProfitARow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
firstCell.setCellStyle(style2);
|
||||
firstCell.setCellType(CellType.STRING);
|
||||
firstCell.setCellValue("项目毛利A(元)");
|
||||
Cell secondCell = row.createCell(1);
|
||||
secondCell.setCellStyle(style2);
|
||||
secondCell.setCellType(CellType.NUMERIC);
|
||||
secondCell.setCellValue(Utils.format(budgetBean.getProjectGrossProfitARate()));
|
||||
Cell thirdCell = row.createCell(2);
|
||||
thirdCell.setCellStyle(style2);
|
||||
thirdCell.setCellType(CellType.NUMERIC);
|
||||
thirdCell.setCellValue(Utils.format(budgetBean.getProjectGrossProfitA()));
|
||||
Cell fourthCell = row.createCell(3);
|
||||
fourthCell.setCellStyle(style2);
|
||||
fourthCell.setCellType(CellType.STRING);
|
||||
fourthCell.setCellValue("毛利=收入总计(不含税)-成本总计(不含税)");
|
||||
}
|
||||
|
||||
private void createGrossProfitRow(BudgetBean budgetBean, XSSFSheet sheet, int index) {
|
||||
Row row = sheet.createRow(index);
|
||||
Cell firstCell = row.createCell(0);
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
spring.datasource.url=jdbc:mysql://192.168.1.100:3306/fourcal?\
|
||||
spring.datasource.url=jdbc:mysql://192.168.0.100:3306/fourcal?\
|
||||
characterEncoding=UTF8&zeroDateTimeBehavior=convertToNull&serverTimezone=GMT%2b8&rewriteBatchedStatements=true&useSSL=false
|
||||
spring.datasource.username=root
|
||||
spring.datasource.password=Qwer123!@#$
|
||||
|
|
|
@ -809,11 +809,15 @@ function updateProjectContributionProfitRate() {
|
|||
//公司管理费用
|
||||
var costCompanyManageTaxExclude = f2(inputVal("costCompanyManageTaxExclude"));
|
||||
|
||||
var projectGrossProfitA = f2Fixed(incomeTotalTaxExclude - costTotalTaxExclude);
|
||||
var projectGrossProfitARate = f2Fixed(rate(f2(projectGrossProfitA), incomeTotalTaxExclude));
|
||||
var projectGrossProfit = f2Fixed(incomeTotalTaxExclude - costTotalTaxExclude - costExpropriationTaxExclude);
|
||||
var projectGrossProfitRate = f2Fixed(rate(f2(projectGrossProfit), incomeTotalTaxExclude));
|
||||
var projectContributionProfit = f2Fixed(f2(projectGrossProfit) - costCompanyManageTaxExclude);
|
||||
var projectContributionProfitRate = f2Fixed(rate(f2(projectContributionProfit), incomeTotalTaxExclude));
|
||||
|
||||
$("input[name='projectGrossProfitA']").val(projectGrossProfitA);
|
||||
$("input[name='projectGrossProfitARate']").val(projectGrossProfitARate);
|
||||
$("input[name='projectGrossProfit']").val(projectGrossProfit);
|
||||
$("input[name='projectGrossProfitRate']").val(projectGrossProfitRate);
|
||||
$("input[name='projectContributionProfit']").val(projectContributionProfit);
|
||||
|
|
|
@ -614,6 +614,21 @@
|
|||
<th class="table-title" colspan="4" id="coop0b" <#if projectBudget.cooperateTypeBudget! == 1>hidden</#if>></th>
|
||||
|
||||
</tr>
|
||||
<tr class="am-text-nowrap">
|
||||
<th class="table-title" colspan="1" ><span style="font-size: 15px">项目毛利A:</span></th>
|
||||
<td class="table-title" colspan="1" >
|
||||
<input type="text" class="number am-input" style="border-style:none;" data-validate-async data-validation-message="请输入项目毛利A"
|
||||
name="grossProfitABudget" id="grossProfitABudget" placeholder="单位(元)" maxlength="16"
|
||||
value="${Utils.format(projectBudget.grossProfitABudget)}" />
|
||||
</td>
|
||||
<th class="table-title" colspan="1" ><span style="font-size: 15px">项目毛利A利率:</span></th>
|
||||
<td class="table-title" colspan="1" >
|
||||
<input type="text" class="number am-input" style="border-style:none;" data-validate-async data-validation-message="请输入项目毛利A利率"
|
||||
name="grossProfitAMarginBudget" id="grossProfitAMarginBudget" placeholder="单位(%)" maxlength="16"
|
||||
value="${Utils.format(projectBudget.grossProfitAMarginBudget)}" />
|
||||
</td>
|
||||
<th class="table-title" colspan="2"></th>
|
||||
</tr>
|
||||
<tr class="am-text-nowrap">
|
||||
<th class="table-title" colspan="1" ><span style="font-size: 15px">合同金额:</span></th>
|
||||
<td class="table-title" colspan="1" >
|
||||
|
@ -1646,6 +1661,12 @@
|
|||
<td>不含税金额(元)</td>
|
||||
<td>计算方式</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>项目毛利A(元)</td>
|
||||
<td><input type="text" class="number" name="projectGrossProfitARate" value="${Utils.format(budgetBean.projectGrossProfitARate,'0')}" readonly title="毛利A(不含税)/收入总计(不含税)"></td>
|
||||
<td><input type="text" class="number" name="projectGrossProfitA" value="${Utils.format(budgetBean.projectGrossProfitA,'0')}" readonly title="收入总计(不含税)-成本总计(不含税)"></td>
|
||||
<td>毛利A=收入总计(不含税)-成本总计(不含税)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>项目毛利(元)</td>
|
||||
<td><input type="text" class="number" name="projectGrossProfitRate" value="${Utils.format(budgetBean.projectGrossProfitRate,'0')}" readonly required title="毛利(不含税)/收入总计(不含税)"></td>
|
||||
|
|
|
@ -506,6 +506,21 @@
|
|||
<th class="table-title" colspan="4" id="coop0b" <#if projectBudget.cooperateTypeBudget! == 1>hidden</#if>></th>
|
||||
|
||||
</tr>
|
||||
<tr class="am-text-nowrap">
|
||||
<th class="table-title" colspan="1" ><span style="color: red;">*</span><span style="font-size: 15px">项目毛利A:</span></th>
|
||||
<td class="table-title" colspan="1" >
|
||||
<input type="text" class="number am-input" style="border-style:none;" data-validate-async data-validation-message="请输入项目毛利A"
|
||||
name="grossProfitABudget" id="grossProfitABudget" placeholder="单位(元)" maxlength="16"
|
||||
value="${Utils.format(projectBudget.grossProfitABudget)}" />
|
||||
</td>
|
||||
<th class="table-title" colspan="1" ><span style="color: red;">*</span><span style="font-size: 15px">项目毛利A利率:</span></th>
|
||||
<td class="table-title" colspan="1" >
|
||||
<input type="text" class="number am-input" style="border-style:none;" data-validate-async data-validation-message="请输入项目毛利A利率"
|
||||
name="grossProfitAMarginBudget" id="grossProfitAMarginBudget" placeholder="单位(%)" maxlength="16"
|
||||
value="${Utils.format(projectBudget.grossProfitAMarginBudget)}" />
|
||||
</td>
|
||||
<th class="table-title" colspan="2"></th>
|
||||
</tr>
|
||||
<tr class="am-text-nowrap">
|
||||
<th class="table-title" colspan="1" ><span style="color: red;">*</span><span style="font-size: 15px">合同金额:</span></th>
|
||||
<td class="table-title" colspan="1" >
|
||||
|
@ -1362,6 +1377,12 @@
|
|||
<td>不含税金额(元)</td>
|
||||
<td>计算方式</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>项目毛利A(元)</td>
|
||||
<td><input type="text" class="number" name="projectGrossProfitARate" value="${Utils.format(budgetBean.projectGrossProfitARate,'0')}" readonly title="毛利A(不含税)/收入总计(不含税)"></td>
|
||||
<td><input type="text" class="number" name="projectGrossProfitA" value="${Utils.format(budgetBean.projectGrossProfitA,'0')}" readonly title="收入总计(不含税)-成本总计(不含税)"></td>
|
||||
<td>毛利A=收入总计(不含税)-成本总计(不含税)</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>项目毛利(元)</td>
|
||||
<td><input type="text" class="number" name="projectGrossProfitRate" value="${Utils.format(budgetBean.projectGrossProfitRate,'0')}" readonly title="毛利(不含税)/收入总计(不含税)"></td>
|
||||
|
|
Loading…
Reference in New Issue