Merge remote-tracking branch 'origin/master'
commit
0dbf746912
|
@ -21,26 +21,40 @@ public class FinalBean {
|
||||||
*/
|
*/
|
||||||
private BigDecimal incomeServiceFinalTotal;
|
private BigDecimal incomeServiceFinalTotal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取所有收入决算总额
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public BigDecimal getIncomeTotal() {
|
||||||
|
BigDecimal incomeDeviceFinalTotal = getIncomeDeviceFinalTotal();
|
||||||
|
BigDecimal incomeEngineerFinalTotal = getIncomeEngineerFinalTotal();
|
||||||
|
BigDecimal incomeServiceFinalTotal = getIncomeServiceFinalTotal();
|
||||||
|
if (null == incomeDeviceFinalTotal || null == incomeEngineerFinalTotal || null == incomeServiceFinalTotal) {
|
||||||
|
return new BigDecimal(0);
|
||||||
|
}
|
||||||
|
return incomeDeviceFinalTotal.add(incomeEngineerFinalTotal).add(incomeServiceFinalTotal);
|
||||||
|
}
|
||||||
|
|
||||||
//========================成本表================================
|
//========================成本表================================
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*设备采购成本决算总额
|
* 设备采购成本决算总额
|
||||||
*/
|
*/
|
||||||
private BigDecimal costPurchaseDeviceFinalTotal;
|
private BigDecimal costPurchaseDeviceFinalTotal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*施工采购成本决算总额
|
* 施工采购成本决算总额
|
||||||
*/
|
*/
|
||||||
private BigDecimal costPurchaseBuildFinalTotal;
|
private BigDecimal costPurchaseBuildFinalTotal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*服务采购成本决算总额
|
* 服务采购成本决算总额
|
||||||
*/
|
*/
|
||||||
private BigDecimal costPurchaseServiceFinalTotal;
|
private BigDecimal costPurchaseServiceFinalTotal;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*其他采购成本决算总额
|
* 其他采购成本决算总额
|
||||||
*/
|
*/
|
||||||
private BigDecimal costPurchaseOtherFinalTotal;
|
private BigDecimal costPurchaseOtherFinalTotal;
|
||||||
|
|
||||||
|
@ -54,6 +68,28 @@ public class FinalBean {
|
||||||
*/
|
*/
|
||||||
private BigDecimal costOtherFinalTotal;
|
private BigDecimal costOtherFinalTotal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取所有成本决算总额
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public BigDecimal getCostTotal() {
|
||||||
|
BigDecimal costPurchaseDeviceFinalTotal = getCostPurchaseDeviceFinalTotal();
|
||||||
|
BigDecimal costPurchaseBuildFinalTotal = getCostPurchaseBuildFinalTotal();
|
||||||
|
BigDecimal costPurchaseServiceFinalTotal = getCostPurchaseServiceFinalTotal();
|
||||||
|
BigDecimal costPurchaseOtherFinalTotal = getCostPurchaseOtherFinalTotal();
|
||||||
|
BigDecimal costProjectManageFinalTotal = getCostProjectManageFinalTotal();
|
||||||
|
BigDecimal costOtherFinalTotal = getCostOtherFinalTotal();
|
||||||
|
|
||||||
|
if (null == costPurchaseDeviceFinalTotal || null == costPurchaseBuildFinalTotal || null == costPurchaseServiceFinalTotal
|
||||||
|
|| null == costPurchaseOtherFinalTotal || null == costProjectManageFinalTotal || null == costOtherFinalTotal) {
|
||||||
|
return new BigDecimal(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
return costPurchaseDeviceFinalTotal.add(costPurchaseBuildFinalTotal).add(costPurchaseServiceFinalTotal)
|
||||||
|
.add(costPurchaseOtherFinalTotal).add(costProjectManageFinalTotal).add(costOtherFinalTotal);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//========================管理表================================
|
//========================管理表================================
|
||||||
|
|
||||||
|
@ -72,6 +108,23 @@ public class FinalBean {
|
||||||
*/
|
*/
|
||||||
private BigDecimal costIncomeTaxFinalTotal;
|
private BigDecimal costIncomeTaxFinalTotal;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取所有管理成本决算总额
|
||||||
|
*
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public BigDecimal getCostManageTotal() {
|
||||||
|
BigDecimal costExpropriationFinalTotal = getCostExpropriationFinalTotal();
|
||||||
|
BigDecimal costCompanyManageFinalTotal = getCostCompanyManageFinalTotal();
|
||||||
|
BigDecimal costIncomeTaxFinalTotal = getCostIncomeTaxFinalTotal();
|
||||||
|
|
||||||
|
if (null == costExpropriationFinalTotal || null == costCompanyManageFinalTotal || null == costIncomeTaxFinalTotal) {
|
||||||
|
return new BigDecimal(0);
|
||||||
|
}
|
||||||
|
|
||||||
|
return costExpropriationFinalTotal.add(costCompanyManageFinalTotal).add(costIncomeTaxFinalTotal);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
//========================利润率计算表================================
|
//========================利润率计算表================================
|
||||||
|
|
||||||
|
@ -109,11 +162,11 @@ public class FinalBean {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* a销售商品、提供劳务收到的现金
|
* a销售商品、提供劳务收到的现金
|
||||||
* */
|
*/
|
||||||
private BigDecimal saleIncomeCash;
|
private BigDecimal saleIncomeCash;
|
||||||
/**
|
/**
|
||||||
* b收到的税费返还
|
* b收到的税费返还
|
||||||
* */
|
*/
|
||||||
private BigDecimal taxReturn;
|
private BigDecimal taxReturn;
|
||||||
/**
|
/**
|
||||||
* c其他与经营活动有关的现金【保证金收入】
|
* c其他与经营活动有关的现金【保证金收入】
|
||||||
|
@ -128,7 +181,7 @@ public class FinalBean {
|
||||||
*/
|
*/
|
||||||
private BigDecimal taxCost;
|
private BigDecimal taxCost;
|
||||||
/**
|
/**
|
||||||
*f支付其他与经营活动有关的现金
|
* f支付其他与经营活动有关的现金
|
||||||
*/
|
*/
|
||||||
private BigDecimal earnestMoneyCost;
|
private BigDecimal earnestMoneyCost;
|
||||||
/**
|
/**
|
||||||
|
@ -157,7 +210,7 @@ public class FinalBean {
|
||||||
*/
|
*/
|
||||||
private BigDecimal financingCapitalOutflow;
|
private BigDecimal financingCapitalOutflow;
|
||||||
/**
|
/**
|
||||||
*m筹资活动产生的现金流量净额
|
* m筹资活动产生的现金流量净额
|
||||||
* m=k-l
|
* m=k-l
|
||||||
*/
|
*/
|
||||||
private BigDecimal financingCapitalCashflow;
|
private BigDecimal financingCapitalCashflow;
|
||||||
|
@ -167,6 +220,39 @@ public class FinalBean {
|
||||||
*/
|
*/
|
||||||
private BigDecimal netIncreaseMonetaryFunds;
|
private BigDecimal netIncreaseMonetaryFunds;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取所有现金流量决算总额
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
public BigDecimal getCashFluxTotal() {
|
||||||
|
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 BigDecimal getIncomeDeviceFinalTotal() {
|
public BigDecimal getIncomeDeviceFinalTotal() {
|
||||||
return incomeDeviceFinalTotal;
|
return incomeDeviceFinalTotal;
|
||||||
}
|
}
|
||||||
|
|
|
@ -94,7 +94,7 @@ public class ActProcInsController extends BaseController {
|
||||||
variables.put(ActConstant.START_PROCESS_USERID, InterfaceUtil.getAdminId());
|
variables.put(ActConstant.START_PROCESS_USERID, InterfaceUtil.getAdminId());
|
||||||
String procInsId = null;
|
String procInsId = null;
|
||||||
try {
|
try {
|
||||||
procInsId = actProcInsService.startProcessInstance(procDefKey, variables);
|
procInsId = actProcInsService.startProcessInstance(procDefKey, "", variables);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("", e);
|
logger.error("", e);
|
||||||
return ResponseMsg.buildFailedMsg("流程启动失败:" + e.getMessage());
|
return ResponseMsg.buildFailedMsg("流程启动失败:" + e.getMessage());
|
||||||
|
|
|
@ -4,7 +4,9 @@ import cn.palmte.work.bean.*;
|
||||||
import cn.palmte.work.model.*;
|
import cn.palmte.work.model.*;
|
||||||
import cn.palmte.work.service.ProjectBudgetService;
|
import cn.palmte.work.service.ProjectBudgetService;
|
||||||
import cn.palmte.work.service.ProjectEstimateService;
|
import cn.palmte.work.service.ProjectEstimateService;
|
||||||
|
import cn.palmte.work.service.ProjectFinalSevice;
|
||||||
import cn.palmte.work.service.ProjectService;
|
import cn.palmte.work.service.ProjectService;
|
||||||
|
import cn.palmte.work.service.*;
|
||||||
import cn.palmte.work.utils.FreeMarkerUtil;
|
import cn.palmte.work.utils.FreeMarkerUtil;
|
||||||
import cn.palmte.work.utils.InterfaceUtil;
|
import cn.palmte.work.utils.InterfaceUtil;
|
||||||
import cn.palmte.work.utils.Utils;
|
import cn.palmte.work.utils.Utils;
|
||||||
|
@ -19,10 +21,7 @@ import org.springframework.format.datetime.DateFormatter;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
import org.springframework.web.bind.WebDataBinder;
|
import org.springframework.web.bind.WebDataBinder;
|
||||||
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import top.jfunc.common.db.bean.Page;
|
|
||||||
import top.jfunc.common.utils.CollectionUtil;
|
|
||||||
|
|
||||||
import javax.persistence.criteria.CriteriaBuilder;
|
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -48,6 +47,14 @@ public class ProjectController extends BaseController {
|
||||||
private ProjectEstimateService projectEstimateService;
|
private ProjectEstimateService projectEstimateService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ProjectBudgetService projectBudgetService;
|
private ProjectBudgetService projectBudgetService;
|
||||||
|
@Autowired
|
||||||
|
private ProjectTaskRecordService projectTaskRecordService;
|
||||||
|
@Autowired
|
||||||
|
private ActProcInsService actProcInsService;
|
||||||
|
@Autowired
|
||||||
|
private ProjectInstanceRelationRepository projectInstanceRelationRepository;
|
||||||
|
@Autowired
|
||||||
|
private ProjectFinalSevice projectFinalSevice;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 项目列表
|
* 项目列表
|
||||||
|
@ -334,9 +341,11 @@ public class ProjectController extends BaseController {
|
||||||
model.put("underwrittenPlanStatistic", projectBudgetService.getProjectUnderwrittenPlanStatisticBean(projectBudgetPlanDetails));
|
model.put("underwrittenPlanStatistic", projectBudgetService.getProjectUnderwrittenPlanStatisticBean(projectBudgetPlanDetails));
|
||||||
//现金表
|
//现金表
|
||||||
model.put("cashFlowBean", projectBudgetService.getCashFlowBean(project, projectBudgetPlanDetails));
|
model.put("cashFlowBean", projectBudgetService.getCashFlowBean(project, projectBudgetPlanDetails));
|
||||||
model.put("finalBean", new FinalBean());
|
model.put("finalBean", projectFinalSevice.getFinal(project));
|
||||||
//freemarker可以利用的静态方法
|
//freemarker可以利用的静态方法
|
||||||
model.put("Utils", FreeMarkerUtil.fromStaticPackage("cn.palmte.work.utils.Utils"));
|
model.put("Utils", FreeMarkerUtil.fromStaticPackage("cn.palmte.work.utils.Utils"));
|
||||||
|
List<ProjectTaskRecord> list = projectTaskRecordService.list(id);
|
||||||
|
model.put("taskRecords", list);
|
||||||
return "admin/project_detail";
|
return "admin/project_detail";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -370,12 +379,56 @@ public class ProjectController extends BaseController {
|
||||||
model.put("underwrittenPlanStatistic", projectBudgetService.getProjectUnderwrittenPlanStatisticBean(projectBudgetPlanDetails));
|
model.put("underwrittenPlanStatistic", projectBudgetService.getProjectUnderwrittenPlanStatisticBean(projectBudgetPlanDetails));
|
||||||
//现金表
|
//现金表
|
||||||
model.put("cashFlowBean", projectBudgetService.getCashFlowBean(project, projectBudgetPlanDetails));
|
model.put("cashFlowBean", projectBudgetService.getCashFlowBean(project, projectBudgetPlanDetails));
|
||||||
model.put("finalBean", new FinalBean());
|
model.put("finalBean", projectFinalSevice.getFinal(project));
|
||||||
//freemarker可以利用的静态方法
|
//freemarker可以利用的静态方法
|
||||||
model.put("Utils", FreeMarkerUtil.fromStaticPackage("cn.palmte.work.utils.Utils"));
|
model.put("Utils", FreeMarkerUtil.fromStaticPackage("cn.palmte.work.utils.Utils"));
|
||||||
return "admin/project_approve";
|
return "admin/project_approve";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 审批完成任务
|
||||||
|
* @param projectId
|
||||||
|
* @param json
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@ResponseBody
|
||||||
|
@RequestMapping("/completeTask/{projectId}")
|
||||||
|
public ResponseMsg completeTask(@PathVariable int projectId, @RequestBody String json) {
|
||||||
|
return projectService.completeTask(projectId, json);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查看审核流程
|
||||||
|
* @param projectId
|
||||||
|
* @param model
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
@RequestMapping("/taskRecords/{projectId}")
|
||||||
|
public String taskRecords(@PathVariable int projectId, Map<String, Object> model) {
|
||||||
|
model.put("projectId", projectId);
|
||||||
|
List<ProjectTaskRecord> list = projectTaskRecordService.list(projectId);
|
||||||
|
if (list != null && !list.isEmpty()) {
|
||||||
|
model.put("list", list);
|
||||||
|
}
|
||||||
|
return "admin/project_task_record_list";
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 流程实列图片
|
||||||
|
*
|
||||||
|
* @param response
|
||||||
|
* @param projectId
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
@RequestMapping("/procInsPng/{projectId}")
|
||||||
|
public void png(HttpServletResponse response, @PathVariable("projectId") int projectId) throws Exception {
|
||||||
|
List<ProjectInstanceRelation> relationList = projectInstanceRelationRepository.findByProjectIdOrderByCreateTimeDesc(projectId);
|
||||||
|
if (relationList == null || relationList.isEmpty()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
actProcInsService.createProcInsPng(response, relationList.get(0).getProcessInsId());
|
||||||
|
}
|
||||||
|
|
||||||
@InitBinder
|
@InitBinder
|
||||||
public void initBinder(WebDataBinder webDataBinder) {
|
public void initBinder(WebDataBinder webDataBinder) {
|
||||||
|
|
|
@ -52,9 +52,9 @@ public class ProjectFinalController extends BaseController{
|
||||||
}
|
}
|
||||||
|
|
||||||
@RequestMapping("/save")
|
@RequestMapping("/save")
|
||||||
public void estimateAddSave(Project project, FinalBean finalBean, Map<String, Object> model) {
|
public String estimateAddSave(Project project, FinalBean finalBean, Map<String, Object> model) {
|
||||||
projectFinalSevice.save(project,finalBean);
|
projectFinalSevice.save(project,finalBean);
|
||||||
|
return "redirect:/project/list";
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,10 @@ package cn.palmte.work.model;
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public interface ProjectFinalCashFluxRepository extends JpaRepository<ProjectFinalCashFlux,Integer> {
|
public interface ProjectFinalCashFluxRepository extends JpaRepository<ProjectFinalCashFlux,Integer> {
|
||||||
|
|
||||||
|
List<ProjectFinalCashFlux> findByProjectIdEquals(int id);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,10 @@ package cn.palmte.work.model;
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public interface ProjectFinalCostManageRepository extends JpaRepository<ProjectFinalCostManage,Integer> {
|
public interface ProjectFinalCostManageRepository extends JpaRepository<ProjectFinalCostManage,Integer> {
|
||||||
|
|
||||||
|
List<ProjectFinalCostManage> findByProjectIdEquals(int id);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,10 @@ package cn.palmte.work.model;
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
public interface ProjectFinalCostRepository extends JpaRepository<ProjectFinalCost,Integer> {
|
public interface ProjectFinalCostRepository extends JpaRepository<ProjectFinalCost,Integer> {
|
||||||
|
|
||||||
|
List<ProjectFinalCost> findByProjectIdEquals(int id);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,6 +2,8 @@ package cn.palmte.work.model;
|
||||||
|
|
||||||
import org.springframework.data.jpa.repository.JpaRepository;
|
import org.springframework.data.jpa.repository.JpaRepository;
|
||||||
|
|
||||||
public interface ProjectFinalIncomeReposiry extends JpaRepository<ProjectFinalIncome,Integer> {
|
import java.util.List;
|
||||||
|
|
||||||
|
public interface ProjectFinalIncomeReposiry extends JpaRepository<ProjectFinalIncome,Integer> {
|
||||||
|
List<ProjectFinalIncome> findByProjectIdEquals(int id);
|
||||||
}
|
}
|
||||||
|
|
|
@ -9,4 +9,6 @@ public interface ProjectInstanceRelationRepository extends JpaRepository<Project
|
||||||
* 根据项目id和类型找到流程实例id
|
* 根据项目id和类型找到流程实例id
|
||||||
*/
|
*/
|
||||||
List<ProjectInstanceRelation> findAllByProjectIdEqualsAndProcessTypeEqualsOrderByCreateTimeDesc(int projectId, String processType);
|
List<ProjectInstanceRelation> findAllByProjectIdEqualsAndProcessTypeEqualsOrderByCreateTimeDesc(int projectId, String processType);
|
||||||
|
|
||||||
|
List<ProjectInstanceRelation> findByProjectIdOrderByCreateTimeDesc(int projectId);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,13 +1,8 @@
|
||||||
package cn.palmte.work.service;
|
package cn.palmte.work.service;
|
||||||
|
|
||||||
|
|
||||||
import cn.palmte.work.bean.ApproveStatusEnum;
|
|
||||||
import cn.palmte.work.config.activiti.ActConstant;
|
|
||||||
import cn.palmte.work.utils.ActUtil;
|
|
||||||
|
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
@ -19,27 +14,15 @@ import java.util.*;
|
||||||
@Service
|
@Service
|
||||||
public class ActCallbackScript {
|
public class ActCallbackScript {
|
||||||
private static final Logger logger = LoggerFactory.getLogger(ActCallbackScript.class);
|
private static final Logger logger = LoggerFactory.getLogger(ActCallbackScript.class);
|
||||||
@Autowired
|
|
||||||
private ActUtil actUtil;
|
|
||||||
@Autowired
|
|
||||||
private ProjectInstanceService projectInstanceService;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 更新流程审批通过
|
* 示例
|
||||||
*
|
*
|
||||||
* @param map
|
* @param map
|
||||||
*/
|
*/
|
||||||
public void updateApproveStatus(Map map) {
|
public void demo(Map map) {
|
||||||
logger.info("--- updateApproveStatus--- : {} ", map);
|
logger.info("--- updateApproveStatus--- : {} ", map);
|
||||||
//String startUserId = (String) map.get(ActConstant.START_PROCESS_USERID);
|
|
||||||
String procInsId = (String) map.get(ActConstant.PROC_INS_ID);
|
|
||||||
String procDefKey = (String) map.get(ActConstant.PROC_DEF_KEY);
|
|
||||||
logger.info(" updateApproveStatus procInsId:{}, procDefKey:{}", procInsId, procDefKey);
|
|
||||||
|
|
||||||
int projectId = actUtil.getProjectId(procInsId);
|
|
||||||
if (projectId > 0) {
|
|
||||||
projectInstanceService.updateApproveStatus(projectId, ApproveStatusEnum.APPROVAL_PASSED, procDefKey);
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,9 +2,13 @@ package cn.palmte.work.service;
|
||||||
|
|
||||||
|
|
||||||
import cn.palmte.work.config.activiti.ActConstant;
|
import cn.palmte.work.config.activiti.ActConstant;
|
||||||
|
import cn.palmte.work.utils.ActUtil;
|
||||||
import com.alibaba.fastjson.JSONObject;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
import org.activiti.engine.RuntimeService;
|
||||||
import org.activiti.engine.delegate.DelegateExecution;
|
import org.activiti.engine.delegate.DelegateExecution;
|
||||||
import org.activiti.engine.delegate.DelegateTask;
|
import org.activiti.engine.delegate.DelegateTask;
|
||||||
|
import org.activiti.engine.runtime.ProcessInstance;
|
||||||
|
import org.activiti.engine.runtime.ProcessInstanceQuery;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
|
@ -30,14 +34,20 @@ public class ActListenerService {
|
||||||
@Autowired
|
@Autowired
|
||||||
private ProjectInstanceService projectInstanceService;
|
private ProjectInstanceService projectInstanceService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private RuntimeService runtimeService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private ActUtil actUtil;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 节点创建监听 动态设置审批人
|
* 任务节点创建后监听 动态设置审批人
|
||||||
*
|
*
|
||||||
* @param delegateTask
|
* @param delegateTask
|
||||||
* @throws Exception
|
* @throws Exception
|
||||||
*/
|
*/
|
||||||
public void create(DelegateTask delegateTask) throws Exception {
|
public void create(DelegateTask delegateTask) throws Exception {
|
||||||
logger.info("--- {}", JSONObject.toJSONString(delegateTask));
|
logger.info("--节点创建后监听-- name:{}, {}", delegateTask.getName(), JSONObject.toJSONString(delegateTask));
|
||||||
|
|
||||||
String procDefId = delegateTask.getProcessDefinitionId();
|
String procDefId = delegateTask.getProcessDefinitionId();
|
||||||
String procInsId = delegateTask.getProcessInstanceId();
|
String procInsId = delegateTask.getProcessInstanceId();
|
||||||
|
@ -45,41 +55,53 @@ public class ActListenerService {
|
||||||
List<String> candidateUsers = actTaskDefService.findCandidateUsers(procDefId, procInsId, taskDefKey);
|
List<String> candidateUsers = actTaskDefService.findCandidateUsers(procDefId, procInsId, taskDefKey);
|
||||||
logger.info("addCandidateUsers : {}", candidateUsers);
|
logger.info("addCandidateUsers : {}", candidateUsers);
|
||||||
|
|
||||||
|
ProcessInstanceQuery processInstanceQuery = runtimeService.createProcessInstanceQuery();
|
||||||
Object projectIdObj = delegateTask.getVariable(ActConstant.KEY_PROJECT_ID);
|
List<ProcessInstance> list = processInstanceQuery.list();
|
||||||
logger.info("projectIdObj : {}", projectIdObj);
|
System.out.println(list);
|
||||||
|
ProcessInstance processInstance = processInstanceQuery.processInstanceId(delegateTask.getProcessInstanceId()).singleResult();
|
||||||
if (candidateUsers != null && !candidateUsers.isEmpty() && projectIdObj != null) {
|
if (actUtil.isProjectProcessIns(processInstance)) {
|
||||||
try {
|
updateProjectApprover(candidateUsers, processInstance);
|
||||||
int adminId = Integer.parseInt(candidateUsers.get(0));
|
|
||||||
projectInstanceService.updateApprover((Integer) projectIdObj, adminId);
|
|
||||||
} catch (Exception e) {
|
|
||||||
logger.error("", e);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
delegateTask.addCandidateUsers(candidateUsers);
|
delegateTask.addCandidateUsers(candidateUsers);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*public void multiTaskcreate(DelegateTask delegateTask) throws Exception {
|
/**
|
||||||
logger.info("--- {}", JSONObject.toJSONString(delegateTask));
|
* 多实例任务查询办理人
|
||||||
|
*
|
||||||
String procDefId = delegateTask.getProcessDefinitionId();
|
* @param delegateExecution
|
||||||
String procInsId = delegateTask.getProcessInstanceId();
|
* @throws Exception
|
||||||
String taskDefKey = delegateTask.getTaskDefinitionKey();
|
*/
|
||||||
Set<String> candidateUsers = actTaskDefService.findCandidateUsers(procDefId, procInsId, taskDefKey);
|
public List<String> getMultiCandidateUsers(DelegateExecution delegateExecution) throws Exception {
|
||||||
logger.info("addCandidateUsers : {}", candidateUsers);
|
logger.info("--多实例任务查询办理人-- eventName:{}, {}", delegateExecution.getEventName(), delegateExecution);
|
||||||
delegateTask.addCandidateUsers(candidateUsers);
|
|
||||||
}*/
|
|
||||||
|
|
||||||
|
|
||||||
public List<String> multipleInstanceTask(DelegateExecution delegateExecution) throws Exception {
|
|
||||||
String procInsId = delegateExecution.getProcessInstanceId();
|
String procInsId = delegateExecution.getProcessInstanceId();
|
||||||
String procDefId = delegateExecution.getProcessDefinitionId();
|
String procDefId = delegateExecution.getProcessDefinitionId();
|
||||||
String taskDefKey = delegateExecution.getCurrentActivityId();
|
String taskDefKey = delegateExecution.getCurrentActivityId();
|
||||||
|
|
||||||
return actTaskDefService.findCandidateUsers(procDefId, procInsId, taskDefKey);
|
List<String> candidateUsers = actTaskDefService.findCandidateUsers(procDefId, procInsId, taskDefKey);
|
||||||
|
logger.info("--getMultiCandidateUsers-- {}", candidateUsers);
|
||||||
|
return candidateUsers;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 更新项目审批人 四算业务需要
|
||||||
|
*
|
||||||
|
* @param candidateUsers
|
||||||
|
* @param processInstance
|
||||||
|
*/
|
||||||
|
private void updateProjectApprover(List<String> candidateUsers, ProcessInstance processInstance) {
|
||||||
|
String businessKey = processInstance.getBusinessKey();
|
||||||
|
logger.info("businessKey : {}", businessKey);
|
||||||
|
|
||||||
|
if (candidateUsers != null && !candidateUsers.isEmpty() && businessKey != null) {
|
||||||
|
try {
|
||||||
|
int adminId = Integer.parseInt(candidateUsers.get(0));
|
||||||
|
projectInstanceService.updateApprover(Integer.parseInt(businessKey), adminId);
|
||||||
|
} catch (Exception e) {
|
||||||
|
logger.error("", e);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -114,6 +114,7 @@ public class ActModelService {
|
||||||
BpmnJsonConverter jsonConverter = new BpmnJsonConverter();
|
BpmnJsonConverter jsonConverter = new BpmnJsonConverter();
|
||||||
BpmnModel model = jsonConverter.convertToBpmnModel(modelNode);
|
BpmnModel model = jsonConverter.convertToBpmnModel(modelNode);
|
||||||
|
|
||||||
|
//任务创建后监听器
|
||||||
ActivitiListener activitiListener = new ActivitiListener();
|
ActivitiListener activitiListener = new ActivitiListener();
|
||||||
activitiListener.setEvent(TaskListener.EVENTNAME_CREATE);
|
activitiListener.setEvent(TaskListener.EVENTNAME_CREATE);
|
||||||
activitiListener.setImplementation("${actListenerService.create(task)}");
|
activitiListener.setImplementation("${actListenerService.create(task)}");
|
||||||
|
@ -135,20 +136,25 @@ public class ActModelService {
|
||||||
taskDef = new ActTaskDef();
|
taskDef = new ActTaskDef();
|
||||||
taskDef.setTaskName(element.getName());
|
taskDef.setTaskName(element.getName());
|
||||||
taskDef.setTaskKey(element.getId());
|
taskDef.setTaskKey(element.getId());
|
||||||
|
|
||||||
MultiInstanceLoopCharacteristics loopCharacteristics = userTaskElement.getLoopCharacteristics();
|
MultiInstanceLoopCharacteristics loopCharacteristics = userTaskElement.getLoopCharacteristics();
|
||||||
if (loopCharacteristics != null) {
|
if (loopCharacteristics != null) { //多实列
|
||||||
taskDef.setTaskType(ActConstant.TASK_TYPE_SINGE);
|
loopCharacteristics.setInputDataItem("${actListenerService.getMultiCandidateUsers(execution)}");
|
||||||
loopCharacteristics.setInputDataItem("${actListenerService.multipleInstanceTask(execution)}");
|
|
||||||
loopCharacteristics.setElementVariable("assignee");
|
loopCharacteristics.setElementVariable("assignee");
|
||||||
userTaskElement.setAssignee("${assignee}");
|
userTaskElement.setAssignee("${assignee}");
|
||||||
|
|
||||||
|
taskDef.setTaskType(ActConstant.TASK_TYPE_MULTI);
|
||||||
}else {
|
}else {
|
||||||
userTaskElement.setTaskListeners(activitiListenerList);
|
userTaskElement.setTaskListeners(activitiListenerList);
|
||||||
|
|
||||||
|
taskDef.setTaskType(ActConstant.TASK_TYPE_SINGE);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i == 1) {
|
if (i == 1) {//画流程图时,要保证第一个用户任务一定要先画
|
||||||
taskDef.setTaskIndex(ActConstant.TASK_INDEX_FIRST_USER_TASK);
|
taskDef.setTaskIndex(ActConstant.TASK_INDEX_FIRST_USER_TASK);
|
||||||
first = taskDef;
|
first = taskDef;
|
||||||
}
|
}
|
||||||
|
|
||||||
taskList.add(taskDef);
|
taskList.add(taskDef);
|
||||||
}
|
}
|
||||||
i ++;
|
i ++;
|
||||||
|
|
|
@ -2,6 +2,7 @@ package cn.palmte.work.service;
|
||||||
|
|
||||||
|
|
||||||
import cn.palmte.work.bean.ApproveStatusEnum;
|
import cn.palmte.work.bean.ApproveStatusEnum;
|
||||||
|
import cn.palmte.work.config.activiti.ActConstant;
|
||||||
import cn.palmte.work.model.ActTaskDefRepository;
|
import cn.palmte.work.model.ActTaskDefRepository;
|
||||||
import cn.palmte.work.pojo.ActProcIns;
|
import cn.palmte.work.pojo.ActProcIns;
|
||||||
import cn.palmte.work.utils.ActUtil;
|
import cn.palmte.work.utils.ActUtil;
|
||||||
|
@ -71,7 +72,7 @@ public class ActProcInsService {
|
||||||
* @param variables
|
* @param variables
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
public String startProcessInstance(String procDefKey, Map<String, Object> variables) throws Exception {
|
public String startProcessInstance(String procDefKey, String businessKey, Map<String, Object> variables) throws Exception {
|
||||||
List<ProcessDefinition> list = repositoryService.createProcessDefinitionQuery().processDefinitionKey(procDefKey).active().orderByProcessDefinitionVersion().desc().list();
|
List<ProcessDefinition> list = repositoryService.createProcessDefinitionQuery().processDefinitionKey(procDefKey).active().orderByProcessDefinitionVersion().desc().list();
|
||||||
if (list == null || list.isEmpty()) {
|
if (list == null || list.isEmpty()) {
|
||||||
throw new Exception("procDefKey(" + procDefKey + ")未定义");
|
throw new Exception("procDefKey(" + procDefKey + ")未定义");
|
||||||
|
@ -80,8 +81,10 @@ public class ActProcInsService {
|
||||||
//取最新版本的流程定义进行启动流程实列
|
//取最新版本的流程定义进行启动流程实列
|
||||||
ProcessDefinition processDefinition = list.get(0);
|
ProcessDefinition processDefinition = list.get(0);
|
||||||
|
|
||||||
|
String adminId = InterfaceUtil.getAdminId() + "";
|
||||||
|
variables.put(ActConstant.START_PROCESS_USERID, adminId);
|
||||||
//启动流程
|
//启动流程
|
||||||
ProcessInstance processInstance = runtimeService.startProcessInstanceById(processDefinition.getId(), variables);
|
ProcessInstance processInstance = runtimeService.startProcessInstanceById(processDefinition.getId(), businessKey, variables);
|
||||||
|
|
||||||
String procInsId = processInstance.getProcessInstanceId();
|
String procInsId = processInstance.getProcessInstanceId();
|
||||||
Task task = taskService.createTaskQuery().processInstanceId(procInsId).singleResult();
|
Task task = taskService.createTaskQuery().processInstanceId(procInsId).singleResult();
|
||||||
|
@ -90,18 +93,18 @@ public class ActProcInsService {
|
||||||
}
|
}
|
||||||
|
|
||||||
//设置发起人为办理人 然后完成任务 任务转入下一个审批节点
|
//设置发起人为办理人 然后完成任务 任务转入下一个审批节点
|
||||||
String assignee = InterfaceUtil.getAdminId() + "";
|
task.setAssignee(adminId);
|
||||||
task.setAssignee(assignee);
|
|
||||||
String taskId = task.getId();
|
String taskId = task.getId();
|
||||||
String comment = "提交" + processDefinition.getName();
|
String comment = "提交" + processDefinition.getName();
|
||||||
Authentication.setAuthenticatedUserId(assignee);
|
Authentication.setAuthenticatedUserId(adminId);
|
||||||
taskService.addComment(taskId, procInsId, comment);
|
taskService.addComment(taskId, procInsId, comment);
|
||||||
taskService.complete(taskId);
|
taskService.complete(taskId);
|
||||||
|
|
||||||
actTaskDefRepository.updateHiTaskAssign(assignee, procInsId, taskId);
|
|
||||||
actTaskDefRepository.updateHiActAssign(assignee, procInsId, taskId);
|
|
||||||
|
|
||||||
projectTaskRecordService.saveTaskRecord(task, ApproveStatusEnum.APPROVAL_PENDING.getApproveStatus(), comment);
|
if (actUtil.isProjectProcessIns(processInstance)) {
|
||||||
|
projectTaskRecordService.saveTaskRecord(Integer.parseInt(processInstance.getBusinessKey()),
|
||||||
|
task, ApproveStatusEnum.APPROVAL_PENDING.getApproveStatus(), comment);
|
||||||
|
}
|
||||||
|
|
||||||
return processInstance.getId();
|
return processInstance.getId();
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,6 +11,7 @@ import com.alibaba.fastjson.JSONObject;
|
||||||
import org.activiti.engine.*;
|
import org.activiti.engine.*;
|
||||||
import org.activiti.engine.impl.identity.Authentication;
|
import org.activiti.engine.impl.identity.Authentication;
|
||||||
import org.activiti.engine.impl.persistence.entity.TaskEntity;
|
import org.activiti.engine.impl.persistence.entity.TaskEntity;
|
||||||
|
import org.activiti.engine.runtime.ProcessInstance;
|
||||||
import org.activiti.engine.task.Task;
|
import org.activiti.engine.task.Task;
|
||||||
import org.apache.commons.lang.StringUtils;
|
import org.apache.commons.lang.StringUtils;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
|
@ -42,6 +43,8 @@ public class ActTaskDefService {
|
||||||
private ActUtil actUtil;
|
private ActUtil actUtil;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ProjectInstanceService projectInstanceService;
|
private ProjectInstanceService projectInstanceService;
|
||||||
|
@Autowired
|
||||||
|
private RuntimeService runtimeService;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -63,22 +66,22 @@ public class ActTaskDefService {
|
||||||
Authentication.setAuthenticatedUserId(userId);
|
Authentication.setAuthenticatedUserId(userId);
|
||||||
taskService.addComment(taskId, procInsId, message);
|
taskService.addComment(taskId, procInsId, message);
|
||||||
|
|
||||||
actTaskDefRepository.updateHiTaskAssign(userId, procInsId, taskId);
|
|
||||||
actTaskDefRepository.updateHiActAssign(userId, procInsId, taskId);
|
|
||||||
|
|
||||||
Task currentTask = taskService.createTaskQuery().taskId(taskId).singleResult();
|
Task currentTask = taskService.createTaskQuery().taskId(taskId).singleResult();
|
||||||
ActTaskDef actTaskDef = findFirstByProcDefIdAndTaskKey(currentTask.getProcessDefinitionId(), currentTask.getTaskDefinitionKey());
|
ActTaskDef actTaskDef = findFirstByProcDefIdAndTaskKey(currentTask.getProcessDefinitionId(), currentTask.getTaskDefinitionKey());
|
||||||
|
|
||||||
|
ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(procInsId).singleResult();
|
||||||
|
taskService.setAssignee(taskId, userId);
|
||||||
if (ActConstant.TASK_TYPE_SINGE == actTaskDef.getTaskType()) {
|
if (ActConstant.TASK_TYPE_SINGE == actTaskDef.getTaskType()) {
|
||||||
//或签处理
|
handleSinge(processInstance, taskId, type, actTaskDef);
|
||||||
handleSinge(taskId, procInsId, type, userId, actTaskDef);
|
|
||||||
} else if (ActConstant.TASK_TYPE_MULTI == actTaskDef.getTaskType()) {
|
} else if (ActConstant.TASK_TYPE_MULTI == actTaskDef.getTaskType()) {
|
||||||
//会签处理
|
//多实列 会签处理
|
||||||
handleMulti(taskId, procInsId, type, userId, actTaskDef);
|
handleMulti(processInstance, taskId, type, actTaskDef);
|
||||||
}
|
}
|
||||||
|
|
||||||
//保存审批记录
|
if (actUtil.isProjectProcessIns(processInstance)) {
|
||||||
projectTaskRecordService.saveTaskRecord(currentTask, type, message);
|
//保存审批记录
|
||||||
|
projectTaskRecordService.saveTaskRecord(Integer.parseInt(processInstance.getBusinessKey()), currentTask, type, message);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -95,9 +98,9 @@ public class ActTaskDefService {
|
||||||
List<String> assignUserList;
|
List<String> assignUserList;
|
||||||
for (Task task : taskList) {
|
for (Task task : taskList) {
|
||||||
assignUserList = actUtil.getAssignUserList(task.getId());
|
assignUserList = actUtil.getAssignUserList(task.getId());
|
||||||
if (assignUserList.contains(String.valueOf(adminId))) {
|
//if (assignUserList.contains(String.valueOf(adminId))) {
|
||||||
completeTask(task.getId(), procInsId, comment, type);
|
completeTask(task.getId(), procInsId, comment, type);
|
||||||
}
|
//}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -105,27 +108,24 @@ public class ActTaskDefService {
|
||||||
* 会签处理
|
* 会签处理
|
||||||
*
|
*
|
||||||
* @param taskId
|
* @param taskId
|
||||||
* @param procInsId
|
* @param processInstance
|
||||||
* @param type
|
* @param type
|
||||||
* @param userId
|
|
||||||
* @param actTaskDef
|
* @param actTaskDef
|
||||||
*/
|
*/
|
||||||
private void handleMulti(String taskId, String procInsId, int type, String userId, ActTaskDef actTaskDef) {
|
private void handleMulti(ProcessInstance processInstance, String taskId, int type, ActTaskDef actTaskDef) {
|
||||||
/* Double instanceCount = Double.parseDouble(ActUtil.filterNullToZero(taskService.getVariable(taskId, ActConstant.NUMBER_OF_INSTANCES))); //会签任务总数
|
|
||||||
Double instanceActiveCount = Double.parseDouble(ActUtil.filterNullToZero(taskService.getVariable(taskId, ActConstant.NUMBER_OF_ACTIVE_INSTANCES))); //活动的会签任务数
|
|
||||||
Double instanceCompleteCount = Double.parseDouble(ActUtil.filterNullToZero(taskService.getVariable(taskId, ActConstant.NUMBER_OF_COMPLETED_INSTANCES))); //完成会签任务数*/
|
|
||||||
|
|
||||||
if (ApproveStatusEnum.APPROVAL_UNPASS.getApproveStatus() == type) {
|
if (ApproveStatusEnum.APPROVAL_UNPASS.getApproveStatus() == type) {
|
||||||
//一个人驳回 整个任务节点驳回
|
//一个人驳回 整个任务节点驳回
|
||||||
List<Task> taskList = taskService.createTaskQuery().processInstanceId(procInsId).list();
|
List<Task> taskList = taskService.createTaskQuery().processInstanceId(processInstance.getId()).list();
|
||||||
for (int i = 0; i < taskList.size(); i++) {
|
for (int i = 0; i < taskList.size(); i++) {
|
||||||
TaskEntity taskEntity = (TaskEntity) taskList.get(i);
|
TaskEntity taskEntity = (TaskEntity) taskList.get(i);
|
||||||
if (!taskId.equals(taskEntity.getId())) {
|
if (!taskId.equals(taskEntity.getId())) {
|
||||||
taskEntity.setProcessInstanceId(null);
|
/* taskEntity.setProcessInstanceId(null);
|
||||||
taskEntity.setExecutionId(null);
|
taskEntity.setExecutionId(null);
|
||||||
taskService.saveTask(taskEntity);
|
taskService.saveTask(taskEntity);*/
|
||||||
taskService.addComment(taskEntity.getId(), procInsId, "会签驳回,任务失效");
|
|
||||||
taskService.deleteTask(taskEntity.getId(), false); // 不删除历史记录
|
taskService.addComment(taskEntity.getId(), processInstance.getId(), "会签驳回,任务自动失效");
|
||||||
|
taskService.complete(taskEntity.getId());
|
||||||
|
//taskService.deleteTask(taskEntity.getId(), false); // 不删除历史记录
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -141,25 +141,28 @@ public class ActTaskDefService {
|
||||||
* 或签处理
|
* 或签处理
|
||||||
*
|
*
|
||||||
* @param taskId
|
* @param taskId
|
||||||
* @param procInsId
|
* @param processInstance
|
||||||
* @param type
|
* @param type
|
||||||
* @param userId
|
|
||||||
* @param actTaskDef
|
* @param actTaskDef
|
||||||
*/
|
*/
|
||||||
private void handleSinge(String taskId, String procInsId, int type, String userId, ActTaskDef actTaskDef) {
|
private void handleSinge(ProcessInstance processInstance, String taskId, int type, ActTaskDef actTaskDef) {
|
||||||
|
String procDefKey = actTaskDef.getProcDefKey();
|
||||||
if (ApproveStatusEnum.APPROVAL_PASSED.getApproveStatus() == type) {
|
if (ApproveStatusEnum.APPROVAL_PASSED.getApproveStatus() == type) {
|
||||||
//审批通过
|
//审批通过
|
||||||
taskService.setAssignee(taskId, userId);
|
|
||||||
taskService.complete(taskId);
|
taskService.complete(taskId);
|
||||||
|
|
||||||
//执行配置的审批通过脚本
|
//执行配置的审批通过脚本
|
||||||
int endScript = actTaskDef.getEndScript();
|
int endScript = actTaskDef.getEndScript();
|
||||||
if (endScript != 0) {
|
if (endScript != 0) {
|
||||||
actUtil.invokeEventScript(endScript, procInsId, actTaskDef);
|
actUtil.invokeEventScript(endScript, processInstance.getId(), actTaskDef);
|
||||||
} else {
|
} else {
|
||||||
logger.info("未配置审批通过脚本 task:{}", actTaskDef.getTaskName());
|
logger.info("未配置审批通过脚本 task:{}", actTaskDef.getTaskName());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (actUtil.isProjectProcessIns(procDefKey)) {
|
||||||
|
updateProjectPassed(processInstance, actTaskDef, procDefKey);
|
||||||
|
}
|
||||||
|
|
||||||
} else if (ApproveStatusEnum.APPROVAL_UNPASS.getApproveStatus() == type) {
|
} else if (ApproveStatusEnum.APPROVAL_UNPASS.getApproveStatus() == type) {
|
||||||
//驳回
|
//驳回
|
||||||
String rollbackTaskKey = actTaskDef.getRollbackTaskKey();
|
String rollbackTaskKey = actTaskDef.getRollbackTaskKey();
|
||||||
|
@ -168,19 +171,31 @@ public class ActTaskDefService {
|
||||||
//执行配置的驳回脚本
|
//执行配置的驳回脚本
|
||||||
int rollbackScript = actTaskDef.getRollbackScript();
|
int rollbackScript = actTaskDef.getRollbackScript();
|
||||||
if (rollbackScript != 0) {
|
if (rollbackScript != 0) {
|
||||||
actUtil.invokeEventScript(rollbackScript, procInsId, actTaskDef);
|
actUtil.invokeEventScript(rollbackScript, processInstance.getId(), actTaskDef);
|
||||||
} else {
|
} else {
|
||||||
logger.info("未配置驳回脚本 task:{}", actTaskDef.getTaskName());
|
logger.info("未配置驳回脚本 task:{}", actTaskDef.getTaskName());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
int projectId = actUtil.getProjectId(procInsId);
|
if (actUtil.isProjectProcessIns(procDefKey)) {
|
||||||
if (projectId > 0) {
|
projectInstanceService.updateApproveStatus(Integer.parseInt(processInstance.getBusinessKey()), ApproveStatusEnum.APPROVAL_UNPASS, procDefKey);
|
||||||
projectInstanceService.updateApproveStatus(projectId, ApproveStatusEnum.APPROVAL_UNPASS, actTaskDef.getProcDefKey());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void updateProjectPassed(ProcessInstance processInstance, ActTaskDef actTaskDef, String procDefKey) {
|
||||||
|
if (ActConstant.PROCESS_DEFKEY_FINAL.equals(procDefKey)) {
|
||||||
|
if ("财务总监".equals(actTaskDef.getTaskName())) {
|
||||||
|
projectInstanceService.updateApproveStatus(Integer.parseInt(processInstance.getBusinessKey()), ApproveStatusEnum.APPROVAL_PASSED, procDefKey);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
if ("执行董事".equals(actTaskDef.getTaskName())) {
|
||||||
|
projectInstanceService.updateApproveStatus(Integer.parseInt(processInstance.getBusinessKey()), ApproveStatusEnum.APPROVAL_PASSED, procDefKey);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 审批过程任务查询
|
* 审批过程任务查询
|
||||||
*
|
*
|
||||||
|
|
|
@ -7,6 +7,8 @@ import cn.palmte.work.bean.FinalBean;
|
||||||
import cn.palmte.work.model.*;
|
import cn.palmte.work.model.*;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
import top.jfunc.common.utils.CollectionUtil;
|
||||||
|
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
@ -33,6 +35,7 @@ public class ProjectFinalSevice {
|
||||||
@Autowired
|
@Autowired
|
||||||
private ProjectBudgetService projectBudgetService;
|
private ProjectBudgetService projectBudgetService;
|
||||||
|
|
||||||
|
@Transactional
|
||||||
public void save(Project project, FinalBean finalBean) {
|
public void save(Project project, FinalBean finalBean) {
|
||||||
//预算表数据
|
//预算表数据
|
||||||
EstimateBean estimate = projectEstimateService.getEstimate(project);
|
EstimateBean estimate = projectEstimateService.getEstimate(project);
|
||||||
|
@ -185,7 +188,7 @@ public class ProjectFinalSevice {
|
||||||
projectFinalCashFlux1.setBudgetTotalCashFlux(cashFlowBean.getSaleIncomeCash());
|
projectFinalCashFlux1.setBudgetTotalCashFlux(cashFlowBean.getSaleIncomeCash());
|
||||||
projectFinalCashFlux1.setFinalTotalCashFlux(new BigDecimal(0));
|
projectFinalCashFlux1.setFinalTotalCashFlux(new BigDecimal(0));
|
||||||
projectFinalCashFlux1.setFinalTotalCashFlux(finalBean.getSaleIncomeCash());
|
projectFinalCashFlux1.setFinalTotalCashFlux(finalBean.getSaleIncomeCash());
|
||||||
list.add(projectFinalCashFlux1);
|
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux1);
|
||||||
|
|
||||||
ProjectFinalCashFlux projectFinalCashFlux2 = new ProjectFinalCashFlux();
|
ProjectFinalCashFlux projectFinalCashFlux2 = new ProjectFinalCashFlux();
|
||||||
projectFinalCashFlux2.setProjectId(project.getId());
|
projectFinalCashFlux2.setProjectId(project.getId());
|
||||||
|
@ -193,7 +196,7 @@ public class ProjectFinalSevice {
|
||||||
projectFinalCashFlux2.setBudgetTotalCashFlux(cashFlowBean.getTaxReturn());
|
projectFinalCashFlux2.setBudgetTotalCashFlux(cashFlowBean.getTaxReturn());
|
||||||
projectFinalCashFlux2.setFinalTotalCashFlux(new BigDecimal(0));
|
projectFinalCashFlux2.setFinalTotalCashFlux(new BigDecimal(0));
|
||||||
projectFinalCashFlux2.setFinalTotalCashFlux(finalBean.getTaxReturn());
|
projectFinalCashFlux2.setFinalTotalCashFlux(finalBean.getTaxReturn());
|
||||||
list.add(projectFinalCashFlux2);
|
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux2);
|
||||||
|
|
||||||
ProjectFinalCashFlux projectFinalCashFlux3 = new ProjectFinalCashFlux();
|
ProjectFinalCashFlux projectFinalCashFlux3 = new ProjectFinalCashFlux();
|
||||||
projectFinalCashFlux3.setProjectId(project.getId());
|
projectFinalCashFlux3.setProjectId(project.getId());
|
||||||
|
@ -201,7 +204,7 @@ public class ProjectFinalSevice {
|
||||||
projectFinalCashFlux3.setBudgetTotalCashFlux(cashFlowBean.getEarnestMoneyIncome());
|
projectFinalCashFlux3.setBudgetTotalCashFlux(cashFlowBean.getEarnestMoneyIncome());
|
||||||
projectFinalCashFlux3.setFinalTotalCashFlux(new BigDecimal(0));
|
projectFinalCashFlux3.setFinalTotalCashFlux(new BigDecimal(0));
|
||||||
projectFinalCashFlux3.setFinalTotalCashFlux(finalBean.getEarnestMoneyIncome());
|
projectFinalCashFlux3.setFinalTotalCashFlux(finalBean.getEarnestMoneyIncome());
|
||||||
list.add(projectFinalCashFlux3);
|
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux3);
|
||||||
|
|
||||||
ProjectFinalCashFlux projectFinalCashFlux4 = new ProjectFinalCashFlux();
|
ProjectFinalCashFlux projectFinalCashFlux4 = new ProjectFinalCashFlux();
|
||||||
projectFinalCashFlux4.setProjectId(project.getId());
|
projectFinalCashFlux4.setProjectId(project.getId());
|
||||||
|
@ -209,7 +212,7 @@ public class ProjectFinalSevice {
|
||||||
projectFinalCashFlux4.setBudgetTotalCashFlux(cashFlowBean.getPurchaseCost());
|
projectFinalCashFlux4.setBudgetTotalCashFlux(cashFlowBean.getPurchaseCost());
|
||||||
projectFinalCashFlux4.setFinalTotalCashFlux(new BigDecimal(0));
|
projectFinalCashFlux4.setFinalTotalCashFlux(new BigDecimal(0));
|
||||||
projectFinalCashFlux4.setFinalTotalCashFlux(finalBean.getPurchaseCost());
|
projectFinalCashFlux4.setFinalTotalCashFlux(finalBean.getPurchaseCost());
|
||||||
list.add(projectFinalCashFlux4);
|
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux4);
|
||||||
|
|
||||||
ProjectFinalCashFlux projectFinalCashFlux5 = new ProjectFinalCashFlux();
|
ProjectFinalCashFlux projectFinalCashFlux5 = new ProjectFinalCashFlux();
|
||||||
projectFinalCashFlux5.setProjectId(project.getId());
|
projectFinalCashFlux5.setProjectId(project.getId());
|
||||||
|
@ -217,7 +220,7 @@ public class ProjectFinalSevice {
|
||||||
projectFinalCashFlux5.setBudgetTotalCashFlux(cashFlowBean.getTaxCost());
|
projectFinalCashFlux5.setBudgetTotalCashFlux(cashFlowBean.getTaxCost());
|
||||||
projectFinalCashFlux5.setFinalTotalCashFlux(new BigDecimal(0));
|
projectFinalCashFlux5.setFinalTotalCashFlux(new BigDecimal(0));
|
||||||
projectFinalCashFlux5.setFinalTotalCashFlux(finalBean.getTaxCost());
|
projectFinalCashFlux5.setFinalTotalCashFlux(finalBean.getTaxCost());
|
||||||
list.add(projectFinalCashFlux5);
|
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux5);
|
||||||
|
|
||||||
ProjectFinalCashFlux projectFinalCashFlux6 = new ProjectFinalCashFlux();
|
ProjectFinalCashFlux projectFinalCashFlux6 = new ProjectFinalCashFlux();
|
||||||
projectFinalCashFlux6.setProjectId(project.getId());
|
projectFinalCashFlux6.setProjectId(project.getId());
|
||||||
|
@ -225,7 +228,7 @@ public class ProjectFinalSevice {
|
||||||
projectFinalCashFlux6.setBudgetTotalCashFlux(cashFlowBean.getEarnestMoneyCost());
|
projectFinalCashFlux6.setBudgetTotalCashFlux(cashFlowBean.getEarnestMoneyCost());
|
||||||
projectFinalCashFlux6.setFinalTotalCashFlux(new BigDecimal(0));
|
projectFinalCashFlux6.setFinalTotalCashFlux(new BigDecimal(0));
|
||||||
projectFinalCashFlux6.setFinalTotalCashFlux(finalBean.getEarnestMoneyCost());
|
projectFinalCashFlux6.setFinalTotalCashFlux(finalBean.getEarnestMoneyCost());
|
||||||
list.add(projectFinalCashFlux6);
|
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux6);
|
||||||
|
|
||||||
ProjectFinalCashFlux projectFinalCashFlux7 = new ProjectFinalCashFlux();
|
ProjectFinalCashFlux projectFinalCashFlux7 = new ProjectFinalCashFlux();
|
||||||
projectFinalCashFlux7.setProjectId(project.getId());
|
projectFinalCashFlux7.setProjectId(project.getId());
|
||||||
|
@ -233,7 +236,7 @@ public class ProjectFinalSevice {
|
||||||
projectFinalCashFlux7.setBudgetTotalCashFlux(cashFlowBean.getNetCashFlow());
|
projectFinalCashFlux7.setBudgetTotalCashFlux(cashFlowBean.getNetCashFlow());
|
||||||
projectFinalCashFlux7.setFinalTotalCashFlux(new BigDecimal(0));
|
projectFinalCashFlux7.setFinalTotalCashFlux(new BigDecimal(0));
|
||||||
projectFinalCashFlux7.setFinalTotalCashFlux(finalBean.getNetCashFlow());
|
projectFinalCashFlux7.setFinalTotalCashFlux(finalBean.getNetCashFlow());
|
||||||
list.add(projectFinalCashFlux7);
|
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux7);
|
||||||
|
|
||||||
ProjectFinalCashFlux projectFinalCashFlux8 = new ProjectFinalCashFlux();
|
ProjectFinalCashFlux projectFinalCashFlux8 = new ProjectFinalCashFlux();
|
||||||
projectFinalCashFlux8.setProjectId(project.getId());
|
projectFinalCashFlux8.setProjectId(project.getId());
|
||||||
|
@ -241,7 +244,7 @@ public class ProjectFinalSevice {
|
||||||
projectFinalCashFlux8.setBudgetTotalCashFlux(cashFlowBean.getCashInflowFromInvestingActivities());
|
projectFinalCashFlux8.setBudgetTotalCashFlux(cashFlowBean.getCashInflowFromInvestingActivities());
|
||||||
projectFinalCashFlux8.setFinalTotalCashFlux(new BigDecimal(0));
|
projectFinalCashFlux8.setFinalTotalCashFlux(new BigDecimal(0));
|
||||||
projectFinalCashFlux8.setFinalTotalCashFlux(finalBean.getCashInflowFromInvestingActivities());
|
projectFinalCashFlux8.setFinalTotalCashFlux(finalBean.getCashInflowFromInvestingActivities());
|
||||||
list.add(projectFinalCashFlux8);
|
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux8);
|
||||||
|
|
||||||
ProjectFinalCashFlux projectFinalCashFlux9 = new ProjectFinalCashFlux();
|
ProjectFinalCashFlux projectFinalCashFlux9 = new ProjectFinalCashFlux();
|
||||||
projectFinalCashFlux9.setProjectId(project.getId());
|
projectFinalCashFlux9.setProjectId(project.getId());
|
||||||
|
@ -249,7 +252,7 @@ public class ProjectFinalSevice {
|
||||||
projectFinalCashFlux9.setBudgetTotalCashFlux(cashFlowBean.getCashOutflowFromInvestingActivities());
|
projectFinalCashFlux9.setBudgetTotalCashFlux(cashFlowBean.getCashOutflowFromInvestingActivities());
|
||||||
projectFinalCashFlux9.setFinalTotalCashFlux(new BigDecimal(0));
|
projectFinalCashFlux9.setFinalTotalCashFlux(new BigDecimal(0));
|
||||||
projectFinalCashFlux9.setFinalTotalCashFlux(finalBean.getCashOutflowFromInvestingActivities());
|
projectFinalCashFlux9.setFinalTotalCashFlux(finalBean.getCashOutflowFromInvestingActivities());
|
||||||
list.add(projectFinalCashFlux9);
|
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux9);
|
||||||
|
|
||||||
ProjectFinalCashFlux projectFinalCashFlux10 = new ProjectFinalCashFlux();
|
ProjectFinalCashFlux projectFinalCashFlux10 = new ProjectFinalCashFlux();
|
||||||
projectFinalCashFlux10.setProjectId(project.getId());
|
projectFinalCashFlux10.setProjectId(project.getId());
|
||||||
|
@ -257,7 +260,7 @@ public class ProjectFinalSevice {
|
||||||
projectFinalCashFlux10.setBudgetTotalCashFlux(cashFlowBean.getNetCashFromInvestingActivities());
|
projectFinalCashFlux10.setBudgetTotalCashFlux(cashFlowBean.getNetCashFromInvestingActivities());
|
||||||
projectFinalCashFlux10.setFinalTotalCashFlux(new BigDecimal(0));
|
projectFinalCashFlux10.setFinalTotalCashFlux(new BigDecimal(0));
|
||||||
projectFinalCashFlux10.setFinalTotalCashFlux(finalBean.getNetCashFromInvestingActivities());
|
projectFinalCashFlux10.setFinalTotalCashFlux(finalBean.getNetCashFromInvestingActivities());
|
||||||
list.add(projectFinalCashFlux10);
|
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux10);
|
||||||
|
|
||||||
ProjectFinalCashFlux projectFinalCashFlux11 = new ProjectFinalCashFlux();
|
ProjectFinalCashFlux projectFinalCashFlux11 = new ProjectFinalCashFlux();
|
||||||
projectFinalCashFlux11.setProjectId(project.getId());
|
projectFinalCashFlux11.setProjectId(project.getId());
|
||||||
|
@ -265,7 +268,7 @@ public class ProjectFinalSevice {
|
||||||
projectFinalCashFlux11.setBudgetTotalCashFlux(cashFlowBean.getFinancingCapitalInflow());
|
projectFinalCashFlux11.setBudgetTotalCashFlux(cashFlowBean.getFinancingCapitalInflow());
|
||||||
projectFinalCashFlux11.setFinalTotalCashFlux(new BigDecimal(0));
|
projectFinalCashFlux11.setFinalTotalCashFlux(new BigDecimal(0));
|
||||||
projectFinalCashFlux11.setFinalTotalCashFlux(finalBean.getFinancingCapitalInflow());
|
projectFinalCashFlux11.setFinalTotalCashFlux(finalBean.getFinancingCapitalInflow());
|
||||||
list.add(projectFinalCashFlux11);
|
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux11);
|
||||||
|
|
||||||
ProjectFinalCashFlux projectFinalCashFlux12 = new ProjectFinalCashFlux();
|
ProjectFinalCashFlux projectFinalCashFlux12 = new ProjectFinalCashFlux();
|
||||||
projectFinalCashFlux12.setProjectId(project.getId());
|
projectFinalCashFlux12.setProjectId(project.getId());
|
||||||
|
@ -273,7 +276,7 @@ public class ProjectFinalSevice {
|
||||||
projectFinalCashFlux12.setBudgetTotalCashFlux(cashFlowBean.getFinancingCapitalOutflow());
|
projectFinalCashFlux12.setBudgetTotalCashFlux(cashFlowBean.getFinancingCapitalOutflow());
|
||||||
projectFinalCashFlux12.setFinalTotalCashFlux(new BigDecimal(0));
|
projectFinalCashFlux12.setFinalTotalCashFlux(new BigDecimal(0));
|
||||||
projectFinalCashFlux12.setFinalTotalCashFlux(finalBean.getFinancingCapitalOutflow());
|
projectFinalCashFlux12.setFinalTotalCashFlux(finalBean.getFinancingCapitalOutflow());
|
||||||
list.add(projectFinalCashFlux12);
|
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux12);
|
||||||
|
|
||||||
ProjectFinalCashFlux projectFinalCashFlux13 = new ProjectFinalCashFlux();
|
ProjectFinalCashFlux projectFinalCashFlux13 = new ProjectFinalCashFlux();
|
||||||
projectFinalCashFlux13.setProjectId(project.getId());
|
projectFinalCashFlux13.setProjectId(project.getId());
|
||||||
|
@ -281,7 +284,7 @@ public class ProjectFinalSevice {
|
||||||
projectFinalCashFlux13.setBudgetTotalCashFlux(cashFlowBean.getFinancingCapitalCashflow());
|
projectFinalCashFlux13.setBudgetTotalCashFlux(cashFlowBean.getFinancingCapitalCashflow());
|
||||||
projectFinalCashFlux13.setFinalTotalCashFlux(new BigDecimal(0));
|
projectFinalCashFlux13.setFinalTotalCashFlux(new BigDecimal(0));
|
||||||
projectFinalCashFlux13.setFinalTotalCashFlux(finalBean.getFinancingCapitalCashflow());
|
projectFinalCashFlux13.setFinalTotalCashFlux(finalBean.getFinancingCapitalCashflow());
|
||||||
list.add(projectFinalCashFlux13);
|
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux13);
|
||||||
|
|
||||||
ProjectFinalCashFlux projectFinalCashFlux14 = new ProjectFinalCashFlux();
|
ProjectFinalCashFlux projectFinalCashFlux14 = new ProjectFinalCashFlux();
|
||||||
projectFinalCashFlux14.setProjectId(project.getId());
|
projectFinalCashFlux14.setProjectId(project.getId());
|
||||||
|
@ -289,10 +292,108 @@ public class ProjectFinalSevice {
|
||||||
projectFinalCashFlux14.setBudgetTotalCashFlux(cashFlowBean.getNetIncreaseMonetaryFunds());
|
projectFinalCashFlux14.setBudgetTotalCashFlux(cashFlowBean.getNetIncreaseMonetaryFunds());
|
||||||
projectFinalCashFlux14.setFinalTotalCashFlux(new BigDecimal(0));
|
projectFinalCashFlux14.setFinalTotalCashFlux(new BigDecimal(0));
|
||||||
projectFinalCashFlux14.setFinalTotalCashFlux(finalBean.getNetIncreaseMonetaryFunds());
|
projectFinalCashFlux14.setFinalTotalCashFlux(finalBean.getNetIncreaseMonetaryFunds());
|
||||||
list.add(projectFinalCashFlux14);
|
projectFinalCashFluxRepository.saveAndFlush(projectFinalCashFlux14);
|
||||||
|
|
||||||
projectFinalCashFluxRepository.save(list);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public FinalBean getFinal(Project project) {
|
||||||
|
FinalBean finalBean = new FinalBean();
|
||||||
|
List<ProjectFinalIncome> projectFinalIncomes = projectFinalIncomeReposiry.findByProjectIdEquals(project.getId());
|
||||||
|
|
||||||
|
if(CollectionUtil.isNotEmpty(projectFinalIncomes)){
|
||||||
|
for (ProjectFinalIncome projectFinalIncome : projectFinalIncomes) {
|
||||||
|
if(ProjectFinalIncome.TYPE_DEVICE == projectFinalIncome.getType()){
|
||||||
|
finalBean.setIncomeDeviceFinalTotal(projectFinalIncome.getFinalTotalIncome());
|
||||||
|
}else if(ProjectFinalIncome.TYPE_ENGINEER == projectFinalIncome.getType()){
|
||||||
|
finalBean.setIncomeEngineerFinalTotal(projectFinalIncome.getFinalTotalIncome());
|
||||||
|
}else if(ProjectFinalIncome.TYPE_SERVICE == projectFinalIncome.getType()){
|
||||||
|
finalBean.setIncomeServiceFinalTotal(projectFinalIncome.getFinalTotalIncome());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
List<ProjectFinalCost> projectFinalCosts = projectFinalCostRepository.findByProjectIdEquals(project.getId());
|
||||||
|
if(CollectionUtil.isNotEmpty(projectFinalCosts)){
|
||||||
|
for (ProjectFinalCost projectFinalCost : projectFinalCosts) {
|
||||||
|
if(ProjectFinalCost.TYPE_DEVICE == projectFinalCost.getType()){
|
||||||
|
finalBean.setCostPurchaseDeviceFinalTotal(projectFinalCost.getFinalTotalCost());
|
||||||
|
}else if(ProjectFinalCost.TYPE_BUILDING == projectFinalCost.getType()){
|
||||||
|
finalBean.setCostPurchaseBuildFinalTotal(projectFinalCost.getFinalTotalCost());
|
||||||
|
}else if(ProjectFinalCost.TYPE_SERVICE == projectFinalCost.getType()){
|
||||||
|
finalBean.setCostPurchaseServiceFinalTotal(projectFinalCost.getFinalTotalCost());
|
||||||
|
}else if(ProjectFinalCost.TYPE_OTHER == projectFinalCost.getType()){
|
||||||
|
finalBean.setCostPurchaseOtherFinalTotal(projectFinalCost.getFinalTotalCost());
|
||||||
|
}else if(ProjectFinalCost.TYPE_PROJECT_MANAGE == projectFinalCost.getType()){
|
||||||
|
finalBean.setCostProjectManageFinalTotal(projectFinalCost.getFinalTotalCost());
|
||||||
|
}else if (ProjectFinalCost.TYPE_OTHER_OTHER == projectFinalCost.getType()){
|
||||||
|
finalBean.setCostOtherFinalTotal(projectFinalCost.getFinalTotalCost());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
List<ProjectFinalCostManage> projectFinalCostManages = projectFinalCostManageRepository.findByProjectIdEquals(project.getId());
|
||||||
|
|
||||||
|
if(CollectionUtil.isNotEmpty(projectFinalCostManages)){
|
||||||
|
for (ProjectFinalCostManage projectFinalCostManage : projectFinalCostManages) {
|
||||||
|
if(ProjectFinalCostManage.TYPE_EXPROPRIATION == projectFinalCostManage.getType()){
|
||||||
|
finalBean.setCostExpropriationFinalTotal(projectFinalCostManage.getFinalTotalManageCost());
|
||||||
|
}else if(ProjectFinalCostManage.TYPE_COMPANY_MANAGE == projectFinalCostManage.getType()){
|
||||||
|
finalBean.setCostCompanyManageFinalTotal(projectFinalCostManage.getFinalTotalManageCost());
|
||||||
|
}else if(ProjectFinalCostManage.TYPE_INCOME_TAX == projectFinalCostManage.getType()){
|
||||||
|
finalBean.setCostIncomeTaxFinalTotal(projectFinalCostManage.getFinalTotalManageCost());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
List<ProjectFinalCashFlux> projectFinalCashFluxes = projectFinalCashFluxRepository.findByProjectIdEquals(project.getId());
|
||||||
|
if(CollectionUtil.isNotEmpty(projectFinalCashFluxes)){
|
||||||
|
for (ProjectFinalCashFlux projectFinalCashFlux : projectFinalCashFluxes) {
|
||||||
|
if(ProjectFinalCashFlux.TYPE1 == projectFinalCashFlux.getType()){
|
||||||
|
finalBean.setSaleIncomeCash(projectFinalCashFlux.getFinalTotalCashFlux());
|
||||||
|
}
|
||||||
|
if(ProjectFinalCashFlux.TYPE2 == projectFinalCashFlux.getType()){
|
||||||
|
finalBean.setTaxReturn(projectFinalCashFlux.getFinalTotalCashFlux());
|
||||||
|
}
|
||||||
|
if(ProjectFinalCashFlux.TYPE3 == projectFinalCashFlux.getType()){
|
||||||
|
finalBean.setEarnestMoneyIncome(projectFinalCashFlux.getFinalTotalCashFlux());
|
||||||
|
}
|
||||||
|
if(ProjectFinalCashFlux.TYPE4 == projectFinalCashFlux.getType()){
|
||||||
|
finalBean.setPurchaseCost(projectFinalCashFlux.getFinalTotalCashFlux());
|
||||||
|
}
|
||||||
|
if(ProjectFinalCashFlux.TYPE5 == projectFinalCashFlux.getType()){
|
||||||
|
finalBean.setTaxCost(projectFinalCashFlux.getFinalTotalCashFlux());
|
||||||
|
}
|
||||||
|
if(ProjectFinalCashFlux.TYPE6 == projectFinalCashFlux.getType()){
|
||||||
|
finalBean.setEarnestMoneyCost(projectFinalCashFlux.getFinalTotalCashFlux());
|
||||||
|
}
|
||||||
|
if(ProjectFinalCashFlux.TYPE7 == projectFinalCashFlux.getType()){
|
||||||
|
finalBean.setNetCashFlow(projectFinalCashFlux.getFinalTotalCashFlux());
|
||||||
|
}
|
||||||
|
if(ProjectFinalCashFlux.TYPE8 == projectFinalCashFlux.getType()){
|
||||||
|
finalBean.setCashInflowFromInvestingActivities(projectFinalCashFlux.getFinalTotalCashFlux());
|
||||||
|
}
|
||||||
|
if(ProjectFinalCashFlux.TYPE9 == projectFinalCashFlux.getType()){
|
||||||
|
finalBean.setCashOutflowFromInvestingActivities(projectFinalCashFlux.getFinalTotalCashFlux());
|
||||||
|
}
|
||||||
|
if(ProjectFinalCashFlux.TYPE10 == projectFinalCashFlux.getType()){
|
||||||
|
finalBean.setNetCashFromInvestingActivities(projectFinalCashFlux.getFinalTotalCashFlux());
|
||||||
|
}
|
||||||
|
if(ProjectFinalCashFlux.TYPE11 == projectFinalCashFlux.getType()){
|
||||||
|
finalBean.setFinancingCapitalInflow(projectFinalCashFlux.getFinalTotalCashFlux());
|
||||||
|
}
|
||||||
|
if(ProjectFinalCashFlux.TYPE12 == projectFinalCashFlux.getType()){
|
||||||
|
finalBean.setFinancingCapitalOutflow(projectFinalCashFlux.getFinalTotalCashFlux());
|
||||||
|
}
|
||||||
|
if(ProjectFinalCashFlux.TYPE13 == projectFinalCashFlux.getType()){
|
||||||
|
finalBean.setFinancingCapitalCashflow(projectFinalCashFlux.getFinalTotalCashFlux());
|
||||||
|
}
|
||||||
|
if(ProjectFinalCashFlux.TYPE14 == projectFinalCashFlux.getType()){
|
||||||
|
finalBean.setNetIncreaseMonetaryFunds(projectFinalCashFlux.getFinalTotalCashFlux());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return finalBean;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -89,11 +89,9 @@ public class ProjectInstanceService {
|
||||||
|
|
||||||
private void startProcess(Project project, Admin admin, String processDefkey) throws Exception {
|
private void startProcess(Project project, Admin admin, String processDefkey) throws Exception {
|
||||||
HashMap<String, Object> variables = new HashMap<>();
|
HashMap<String, Object> variables = new HashMap<>();
|
||||||
variables.put(ActConstant.START_PROCESS_USERID, admin.getId());
|
|
||||||
variables.put(ActConstant.KEY_PROJECT_ID, project.getId());
|
|
||||||
variables.put(ActConstant.KEY_PROJECT_TYPE, project.getType());
|
variables.put(ActConstant.KEY_PROJECT_TYPE, project.getType());
|
||||||
|
String businessKey = String.valueOf(project.getId());
|
||||||
String processInstanceId = actProcInsService.startProcessInstance(processDefkey, variables);
|
String processInstanceId = actProcInsService.startProcessInstance(processDefkey, businessKey, variables);
|
||||||
|
|
||||||
//保存流程实例id与项目的关联关系
|
//保存流程实例id与项目的关联关系
|
||||||
ProjectInstanceRelation relation = new ProjectInstanceRelation();
|
ProjectInstanceRelation relation = new ProjectInstanceRelation();
|
||||||
|
|
|
@ -1,9 +1,9 @@
|
||||||
package cn.palmte.work.service;
|
package cn.palmte.work.service;
|
||||||
|
|
||||||
import cn.palmte.work.bean.*;
|
import cn.palmte.work.bean.*;
|
||||||
import cn.palmte.work.model.Admin;
|
import cn.palmte.work.model.*;
|
||||||
import cn.palmte.work.model.Project;
|
import com.alibaba.fastjson.JSON;
|
||||||
import cn.palmte.work.model.ProjectRepository;
|
import com.alibaba.fastjson.JSONObject;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
@ -34,6 +34,8 @@ public class ProjectService {
|
||||||
private ProjectInstanceService projectInstanceService;
|
private ProjectInstanceService projectInstanceService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private ActTaskDefService actTaskDefService;
|
private ActTaskDefService actTaskDefService;
|
||||||
|
@Autowired
|
||||||
|
private ProjectInstanceRelationRepository projectInstanceRelationRepository;
|
||||||
|
|
||||||
|
|
||||||
private QueryHelper getQueryHelper(Map<String, String> searchInfo, int pageNumber, int pageSize) {
|
private QueryHelper getQueryHelper(Map<String, String> searchInfo, int pageNumber, int pageSize) {
|
||||||
|
@ -277,4 +279,17 @@ public class ProjectService {
|
||||||
projectBudgetService.saveBudget(p, budgetBean);
|
projectBudgetService.saveBudget(p, budgetBean);
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ResponseMsg completeTask(int projectId, String json) {
|
||||||
|
List<ProjectInstanceRelation> relationList = projectInstanceRelationRepository.findByProjectIdOrderByCreateTimeDesc(projectId);
|
||||||
|
if (relationList == null || relationList.isEmpty()) {
|
||||||
|
return ResponseMsg.buildFailedMsg("审核失败");
|
||||||
|
}
|
||||||
|
ProjectInstanceRelation projectInstanceRelation = relationList.get(0);
|
||||||
|
JSONObject obj = JSON.parseObject(json);
|
||||||
|
actTaskDefService.completeTaskByProcInsId(projectInstanceRelation.getProcessInsId(),
|
||||||
|
obj.getIntValue("type"), obj.getString("message"));
|
||||||
|
|
||||||
|
return ResponseMsg.buildSuccessMsg("审核成功");
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -36,11 +36,7 @@ public class ProjectTaskRecordService {
|
||||||
* @param status
|
* @param status
|
||||||
* @param comment
|
* @param comment
|
||||||
*/
|
*/
|
||||||
public void saveTaskRecord(Task task, int status, String comment) {
|
public void saveTaskRecord(int projectId, Task task, int status, String comment) {
|
||||||
int projectId = actUtil.getProjectId(task.getProcessInstanceId());
|
|
||||||
if (projectId == 0) {
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
task.getProcessDefinitionId();
|
task.getProcessDefinitionId();
|
||||||
ProjectTaskRecord record = new ProjectTaskRecord();
|
ProjectTaskRecord record = new ProjectTaskRecord();
|
||||||
record.setProjectId(projectId);
|
record.setProjectId(projectId);
|
||||||
|
|
|
@ -13,6 +13,8 @@ import org.activiti.engine.ManagementService;
|
||||||
import org.activiti.engine.ProcessEngine;
|
import org.activiti.engine.ProcessEngine;
|
||||||
import org.activiti.engine.RepositoryService;
|
import org.activiti.engine.RepositoryService;
|
||||||
import org.activiti.engine.TaskService;
|
import org.activiti.engine.TaskService;
|
||||||
|
import org.activiti.engine.repository.ProcessDefinition;
|
||||||
|
import org.activiti.engine.runtime.ProcessInstance;
|
||||||
import org.activiti.engine.task.IdentityLink;
|
import org.activiti.engine.task.IdentityLink;
|
||||||
import org.activiti.engine.task.Task;
|
import org.activiti.engine.task.Task;
|
||||||
import org.activiti.image.ProcessDiagramGenerator;
|
import org.activiti.image.ProcessDiagramGenerator;
|
||||||
|
@ -75,14 +77,6 @@ public class ActUtil {
|
||||||
return "0";
|
return "0";
|
||||||
}
|
}
|
||||||
|
|
||||||
public int getProjectId(String procInsId) {
|
|
||||||
Record record = getVariable(ActConstant.KEY_PROJECT_ID, procInsId);
|
|
||||||
if (record != null) {
|
|
||||||
return Integer.valueOf(record.get("text"));
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获取流程实列里的所有变量
|
* 获取流程实列里的所有变量
|
||||||
|
@ -249,6 +243,22 @@ public class ActUtil {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
public boolean isProjectProcessIns(ProcessInstance processInstance) {
|
||||||
|
if (processInstance == null) {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(processInstance.getProcessDefinitionId()).singleResult();
|
||||||
|
String procDefKey = processDefinition.getKey();
|
||||||
|
return isProjectProcessIns(procDefKey);
|
||||||
|
}
|
||||||
|
|
||||||
|
public boolean isProjectProcessIns(String procDefKey) {
|
||||||
|
return procDefKey.equals(ActConstant.PROCESS_DEFKEY_ESTIMATE)
|
||||||
|
|| procDefKey.equals(ActConstant.PROCESS_DEFKEY_BUDGET)
|
||||||
|
|| procDefKey.equals(ActConstant.PROCESS_DEFKEY_SETTLE)
|
||||||
|
|| procDefKey.equals(ActConstant.PROCESS_DEFKEY_FINAL);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 生成xml流
|
* 生成xml流
|
||||||
|
|
|
@ -120,7 +120,7 @@ function calCostFinalTotal() {
|
||||||
|
|
||||||
if(costPurchaseDeviceFinalTotal && costPurchaseBuildFinalTotal && costPurchaseServiceFinalTotal &&
|
if(costPurchaseDeviceFinalTotal && costPurchaseBuildFinalTotal && costPurchaseServiceFinalTotal &&
|
||||||
costPurchaseOtherFinalTotal && costProjectManageFinalTotal && costOtherFinalTotal){
|
costPurchaseOtherFinalTotal && costProjectManageFinalTotal && costOtherFinalTotal){
|
||||||
costFinalTotal.val(parseFloat(costPurchaseBuildFinalTotal)+parseFloat(costPurchaseBuildFinalTotal)+parseFloat(costPurchaseServiceFinalTotal)+
|
costFinalTotal.val(parseFloat(costPurchaseDeviceFinalTotal)+parseFloat(costPurchaseBuildFinalTotal)+parseFloat(costPurchaseServiceFinalTotal)+
|
||||||
parseFloat(costPurchaseOtherFinalTotal)+parseFloat(costProjectManageFinalTotal)+parseFloat(costOtherFinalTotal));
|
parseFloat(costPurchaseOtherFinalTotal)+parseFloat(costProjectManageFinalTotal)+parseFloat(costOtherFinalTotal));
|
||||||
}else {
|
}else {
|
||||||
costFinalTotal.val("");
|
costFinalTotal.val("");
|
||||||
|
|
|
@ -20,10 +20,10 @@
|
||||||
<th class="table-title">任务名称</th>
|
<th class="table-title">任务名称</th>
|
||||||
<#--<th class="table-title">任务类型</th>-->
|
<#--<th class="table-title">任务类型</th>-->
|
||||||
<th class="table-date">回退任务</th>
|
<th class="table-date">回退任务</th>
|
||||||
<th class="table-set am-text-center">审批人</th>
|
<th class="table-set ">按人员设置审批人</th>
|
||||||
<th class="table-set am-text-center">审批角色</th>
|
<th class="table-set ">按角色设置审批人</th>
|
||||||
<th class="table-set am-text-center">审批通过脚本</th>
|
<th class="table-set ">审批通过脚本</th>
|
||||||
<th class="table-set am-text-center">审批驳回脚本</th>
|
<th class="table-set ">审批驳回脚本</th>
|
||||||
<th class="table-set am-text-center">操作</th>
|
<th class="table-set am-text-center">操作</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
|
|
|
@ -1075,14 +1075,14 @@
|
||||||
<td>合计</td>
|
<td>合计</td>
|
||||||
<td></td>
|
<td></td>
|
||||||
<td><input name="incomeEstimateTotal" type="number"
|
<td><input name="incomeEstimateTotal" type="number"
|
||||||
value="${Utils.format(estimateBean.getIncomeTotalTaxExclude(),'0')}"
|
value="${Utils.format(estimateBean.getIncomeTotalTaxExclude(),'0')}" readonly
|
||||||
readonly required title="此列累计"></td>
|
readonly required title="此列累计"></td>
|
||||||
<td><input name="incomeBudgetTotal" type="number"
|
<td><input name="incomeBudgetTotal" type="number"
|
||||||
value="${Utils.format(budgetBean.getIncomeTotalTaxExclude(),'0')}"
|
value="${Utils.format(budgetBean.getIncomeTotalTaxExclude(),'0')}" readonly
|
||||||
readonly required title="此列累计"></td>
|
readonly required title="此列累计"></td>
|
||||||
<td><input name="incomeSettleTotal" type="number" readonly required title="此列累计">
|
<td><input name="incomeSettleTotal" type="number" readonly required title="此列累计">
|
||||||
</td>
|
</td>
|
||||||
<td><input name="incomeFinalTotal" type="number" readonly required title="此列累计">
|
<td><input name="incomeFinalTotal" value="${Utils.format(finalBean.getIncomeTotal(),'0')}" type="number" readonly required title="此列累计">
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
@ -1111,7 +1111,7 @@
|
||||||
readonly required title="购买设备预算总额"></td>
|
readonly required title="购买设备预算总额"></td>
|
||||||
<td><input name="costPurchaseDeviceTaxInclude" type="number" readonly required
|
<td><input name="costPurchaseDeviceTaxInclude" type="number" readonly required
|
||||||
title="购买设备结算总额"></td>
|
title="购买设备结算总额"></td>
|
||||||
<td><input name="costPurchaseDeviceFinalTotal" type="number"
|
<td><input name="costPurchaseDeviceFinalTotal" type="number" readonly
|
||||||
value="${Utils.format(finalBean.costPurchaseDeviceFinalTotal,'0')}"
|
value="${Utils.format(finalBean.costPurchaseDeviceFinalTotal,'0')}"
|
||||||
required title="购买设备决算总额"></td>
|
required title="购买设备决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -1127,7 +1127,7 @@
|
||||||
readonly required title="施工采购成本预算总额"></td>
|
readonly required title="施工采购成本预算总额"></td>
|
||||||
<td><input name="costPurchaseBuildSettleTotal" type="number" readonly required
|
<td><input name="costPurchaseBuildSettleTotal" type="number" readonly required
|
||||||
title="施工采购成本结算总额"></td>
|
title="施工采购成本结算总额"></td>
|
||||||
<td><input name="costPurchaseBuildFinalTotal" type="number"
|
<td><input name="costPurchaseBuildFinalTotal" type="number" readonly
|
||||||
value="${Utils.format(finalBean.costPurchaseBuildFinalTotal,'0')}"
|
value="${Utils.format(finalBean.costPurchaseBuildFinalTotal,'0')}"
|
||||||
required title="施工采购成本决算总额"></td>
|
required title="施工采购成本决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -1143,7 +1143,7 @@
|
||||||
readonly required title="服务采购成本预算总额"></td>
|
readonly required title="服务采购成本预算总额"></td>
|
||||||
<td><input name="costPurchaseServiceSettleTotal" type="number" readonly required
|
<td><input name="costPurchaseServiceSettleTotal" type="number" readonly required
|
||||||
title="服务采购成本结算总额"></td>
|
title="服务采购成本结算总额"></td>
|
||||||
<td><input name="costPurchaseServiceFinalTotal" type="number"
|
<td><input name="costPurchaseServiceFinalTotal" type="number" readonly
|
||||||
value="${Utils.format(finalBean.costPurchaseServiceFinalTotal,'0')}"
|
value="${Utils.format(finalBean.costPurchaseServiceFinalTotal,'0')}"
|
||||||
required title="服务采购成本决算总额"></td>
|
required title="服务采购成本决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -1159,7 +1159,7 @@
|
||||||
readonly required title="其他采购成本预算总额"></td>
|
readonly required title="其他采购成本预算总额"></td>
|
||||||
<td><input name="costPurchaseOtherSettleTotal" type="number" readonly required
|
<td><input name="costPurchaseOtherSettleTotal" type="number" readonly required
|
||||||
title="其他采购成本结算总额"></td>
|
title="其他采购成本结算总额"></td>
|
||||||
<td><input name="costPurchaseOtherFinalTotal" type="number"
|
<td><input name="costPurchaseOtherFinalTotal" type="number" readonly
|
||||||
value="${Utils.format(finalBean.costPurchaseOtherFinalTotal,'0')}"
|
value="${Utils.format(finalBean.costPurchaseOtherFinalTotal,'0')}"
|
||||||
required title="其他采购成本决算总额"></td>
|
required title="其他采购成本决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -1175,7 +1175,7 @@
|
||||||
readonly required title="项目管理成本预算总额"></td>
|
readonly required title="项目管理成本预算总额"></td>
|
||||||
<td><input name="costProjectManageSettleTotal" type="number" readonly required
|
<td><input name="costProjectManageSettleTotal" type="number" readonly required
|
||||||
title="项目管理成本结算总额"></td>
|
title="项目管理成本结算总额"></td>
|
||||||
<td><input name="costProjectManageFinalTotal" type="number"
|
<td><input name="costProjectManageFinalTotal" type="number" readonly
|
||||||
value="${Utils.format(finalBean.costProjectManageFinalTotal,'0')}"
|
value="${Utils.format(finalBean.costProjectManageFinalTotal,'0')}"
|
||||||
required title="项目管理成本决算总额"></td>
|
required title="项目管理成本决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -1206,7 +1206,7 @@
|
||||||
value="${Utils.format(budgetBean.getCostTotalTaxExclude(),'0')}"
|
value="${Utils.format(budgetBean.getCostTotalTaxExclude(),'0')}"
|
||||||
type="number" readonly required title="此列累计"></td>
|
type="number" readonly required title="此列累计"></td>
|
||||||
<td><input name="costSettleTotal" type="number" readonly required title="此列累计"></td>
|
<td><input name="costSettleTotal" type="number" readonly required title="此列累计"></td>
|
||||||
<td><input name="costFinalTotal" type="number" readonly required title="此列累计"></td>
|
<td><input name="costFinalTotal" value="${Utils.format(finalBean.getCostTotal(),'0')}" type="number" readonly required title="此列累计"></td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
@ -1232,7 +1232,7 @@
|
||||||
required readonly title="资金占用成本预算总额"></td>
|
required readonly title="资金占用成本预算总额"></td>
|
||||||
<td><input name="costExpropriationSettleTotal" type="number" required readonly
|
<td><input name="costExpropriationSettleTotal" type="number" required readonly
|
||||||
title="资金占用成本结算总额"></td>
|
title="资金占用成本结算总额"></td>
|
||||||
<td><input name="costExpropriationFinalTotal" type="number"
|
<td><input name="costExpropriationFinalTotal" type="number" readonly
|
||||||
value="${Utils.format(finalBean.costExpropriationFinalTotal,'0')}"
|
value="${Utils.format(finalBean.costExpropriationFinalTotal,'0')}"
|
||||||
required title="资金占用成本决算总额"></td>
|
required title="资金占用成本决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -1247,7 +1247,7 @@
|
||||||
required readonly title="公司管理费用预算总额"></td>
|
required readonly title="公司管理费用预算总额"></td>
|
||||||
<td><input name="costCompanyManageSettleTotal" type="number" required readonly
|
<td><input name="costCompanyManageSettleTotal" type="number" required readonly
|
||||||
title="公司管理费用结算总额"></td>
|
title="公司管理费用结算总额"></td>
|
||||||
<td><input name="costCompanyManageFinalTotal" type="number"
|
<td><input name="costCompanyManageFinalTotal" type="number" readonly
|
||||||
value="${Utils.format(finalBean.costCompanyManageFinalTotal,'0')}"
|
value="${Utils.format(finalBean.costCompanyManageFinalTotal,'0')}"
|
||||||
required title="公司管理费用决算总额"></td>
|
required title="公司管理费用决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -1258,7 +1258,7 @@
|
||||||
<td>/</td>
|
<td>/</td>
|
||||||
<td><input name="costIncomeTaxSettleTotal" type="number" required readonly
|
<td><input name="costIncomeTaxSettleTotal" type="number" required readonly
|
||||||
title="所得税费用结算总额"></td>
|
title="所得税费用结算总额"></td>
|
||||||
<td><input name="costIncomeTaxFinalTotal" type="number"
|
<td><input name="costIncomeTaxFinalTotal" type="number" readonly
|
||||||
value="${Utils.format(finalBean.costIncomeTaxFinalTotal,'0')}" required
|
value="${Utils.format(finalBean.costIncomeTaxFinalTotal,'0')}" required
|
||||||
title="所得税费用决算总额"></td>
|
title="所得税费用决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -1271,7 +1271,7 @@
|
||||||
</td>
|
</td>
|
||||||
<td><input name="manageSettleTotal" type="number" readonly required title="此列累计">
|
<td><input name="manageSettleTotal" type="number" readonly required title="此列累计">
|
||||||
</td>
|
</td>
|
||||||
<td><input name="manageFinalTotal" type="number" readonly required title="此列累计">
|
<td><input name="manageFinalTotal" value="${Utils.format(finalBean.getCostManageTotal(),'0')}" type="number" readonly required title="此列累计">
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
@ -1300,7 +1300,7 @@
|
||||||
value="${Utils.format(finalBean.grossProfitSettleTotal,'0')}" readonly
|
value="${Utils.format(finalBean.grossProfitSettleTotal,'0')}" readonly
|
||||||
required title="项目毛利结算总额"></td>
|
required title="项目毛利结算总额"></td>
|
||||||
<td><input name="grossProfitFinalTotal" type="number"
|
<td><input name="grossProfitFinalTotal" type="number"
|
||||||
value="${Utils.format(finalBean.grossProfitFinalTotal,'0')}" required
|
value="${Utils.format(finalBean.grossProfitFinalTotal,'0')}" required readonly
|
||||||
title="项目毛利决算总额"></td>
|
title="项目毛利决算总额"></td>
|
||||||
<td><input name="grossProfitProfitMargin" type="number"
|
<td><input name="grossProfitProfitMargin" type="number"
|
||||||
value="${Utils.format(finalBean.grossProfitProfitMargin,'0')}" required
|
value="${Utils.format(finalBean.grossProfitProfitMargin,'0')}" required
|
||||||
|
@ -1318,7 +1318,7 @@
|
||||||
value="${Utils.format(finalBean.contributionMarginSettleTotal,'0')}"
|
value="${Utils.format(finalBean.contributionMarginSettleTotal,'0')}"
|
||||||
readonly required title="项目贡献利润结算总额"></td>
|
readonly required title="项目贡献利润结算总额"></td>
|
||||||
<td><input name="contributionMarginFinalTotal" type="number"
|
<td><input name="contributionMarginFinalTotal" type="number"
|
||||||
value="${Utils.format(finalBean.contributionMarginFinalTotal,'0')}"
|
value="${Utils.format(finalBean.contributionMarginFinalTotal,'0')}" readonly
|
||||||
required title="项目贡献利润决算总额"></td>
|
required title="项目贡献利润决算总额"></td>
|
||||||
<td><input name="contributionMarginProfitMargin" type="number"
|
<td><input name="contributionMarginProfitMargin" type="number"
|
||||||
value="${Utils.format(finalBean.contributionMarginProfitMargin,'0')}"
|
value="${Utils.format(finalBean.contributionMarginProfitMargin,'0')}"
|
||||||
|
@ -1336,7 +1336,7 @@
|
||||||
value="${Utils.format(finalBean.netMarginSettleTotal,'0')}" readonly
|
value="${Utils.format(finalBean.netMarginSettleTotal,'0')}" readonly
|
||||||
required title="项目净利润结算总额"></td>
|
required title="项目净利润结算总额"></td>
|
||||||
<td><input name="netMarginFinalTotal" type="number"
|
<td><input name="netMarginFinalTotal" type="number"
|
||||||
value="${Utils.format(finalBean.netMarginFinalTotal,'0')}" required
|
value="${Utils.format(finalBean.netMarginFinalTotal,'0')}" required readonly
|
||||||
title="项目净利润决算总额"></td>
|
title="项目净利润决算总额"></td>
|
||||||
<td><input name="netMarginProfitMargin" type="number"
|
<td><input name="netMarginProfitMargin" type="number"
|
||||||
value="${Utils.format(finalBean.netMarginProfitMargin,'0')}" required
|
value="${Utils.format(finalBean.netMarginProfitMargin,'0')}" required
|
||||||
|
@ -1361,7 +1361,7 @@
|
||||||
required title="预算总额"></td>
|
required title="预算总额"></td>
|
||||||
<td><input name="type1SettleTotal" type="number" readonly required title="结算总额">
|
<td><input name="type1SettleTotal" type="number" readonly required title="结算总额">
|
||||||
</td>
|
</td>
|
||||||
<td><input name="saleIncomeCash" type="number"
|
<td><input name="saleIncomeCash" type="number" readonly
|
||||||
value="${Utils.format(finalBean.saleIncomeCash,'0')}" required
|
value="${Utils.format(finalBean.saleIncomeCash,'0')}" required
|
||||||
title="决算总额"></td>
|
title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -1371,7 +1371,7 @@
|
||||||
<td><input name="type2SettleTotal" type="number"
|
<td><input name="type2SettleTotal" type="number"
|
||||||
value="${Utils.format(cashFlowBean.taxReturn,'0')}" readonly required
|
value="${Utils.format(cashFlowBean.taxReturn,'0')}" readonly required
|
||||||
title="结算总额"></td>
|
title="结算总额"></td>
|
||||||
<td><input name="taxReturn" type="number"
|
<td><input name="taxReturn" type="number" readonly
|
||||||
value="${Utils.format(finalBean.taxReturn,'0')}" required title="决算总额">
|
value="${Utils.format(finalBean.taxReturn,'0')}" required title="决算总额">
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -1382,7 +1382,7 @@
|
||||||
required title="预算总额"></td>
|
required title="预算总额"></td>
|
||||||
<td><input name="type3SettleTotal" type="number" readonly required title="结算总额">
|
<td><input name="type3SettleTotal" type="number" readonly required title="结算总额">
|
||||||
</td>
|
</td>
|
||||||
<td><input name="earnestMoneyIncome" type="number"
|
<td><input name="earnestMoneyIncome" type="number" readonly
|
||||||
value="${Utils.format(finalBean.earnestMoneyIncome,'0')}" required
|
value="${Utils.format(finalBean.earnestMoneyIncome,'0')}" required
|
||||||
title="决算总额"></td>
|
title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -1393,7 +1393,7 @@
|
||||||
title="预算总额"></td>
|
title="预算总额"></td>
|
||||||
<td><input name="type4SettleTotal" type="number" readonly required title="结算总额">
|
<td><input name="type4SettleTotal" type="number" readonly required title="结算总额">
|
||||||
</td>
|
</td>
|
||||||
<td><input name="purchaseCost" type="number"
|
<td><input name="purchaseCost" type="number" readonly
|
||||||
value="${Utils.format(finalBean.purchaseCost,'0')}" required
|
value="${Utils.format(finalBean.purchaseCost,'0')}" required
|
||||||
title="决算总额"></td>
|
title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -1403,7 +1403,7 @@
|
||||||
<td><input name="type5SettleTotal" type="number"
|
<td><input name="type5SettleTotal" type="number"
|
||||||
value="${Utils.format(finalBean.type5SettleTotal,'0')}" readonly required
|
value="${Utils.format(finalBean.type5SettleTotal,'0')}" readonly required
|
||||||
title="结算总额"></td>
|
title="结算总额"></td>
|
||||||
<td><input name="taxCost" type="number"
|
<td><input name="taxCost" type="number" readonly
|
||||||
value="${Utils.format(finalBean.taxCost,'0')}" required title="决算总额">
|
value="${Utils.format(finalBean.taxCost,'0')}" required title="决算总额">
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -1414,7 +1414,7 @@
|
||||||
required title="预算总额"></td>
|
required title="预算总额"></td>
|
||||||
<td><input name="type6SettleTotal" type="number" readonly required title="结算总额">
|
<td><input name="type6SettleTotal" type="number" readonly required title="结算总额">
|
||||||
</td>
|
</td>
|
||||||
<td><input name="earnestMoneyCost" type="number"
|
<td><input name="earnestMoneyCost" type="number" readonly
|
||||||
value="${Utils.format(finalBean.earnestMoneyCost,'0')}" required
|
value="${Utils.format(finalBean.earnestMoneyCost,'0')}" required
|
||||||
title="决算总额"></td>
|
title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -1425,7 +1425,7 @@
|
||||||
required title="预算总额"></td>
|
required title="预算总额"></td>
|
||||||
<td><input name="type7SettleTotal" type="number" readonly required title="结算总额">
|
<td><input name="type7SettleTotal" type="number" readonly required title="结算总额">
|
||||||
</td>
|
</td>
|
||||||
<td><input name="netCashFlow" type="number"
|
<td><input name="netCashFlow" type="number" readonly
|
||||||
value="${Utils.format(finalBean.netCashFlow,'0')}" required title="决算总额">
|
value="${Utils.format(finalBean.netCashFlow,'0')}" required title="决算总额">
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -1434,7 +1434,7 @@
|
||||||
<td>/</td>
|
<td>/</td>
|
||||||
<td><input name="type8SettleTotal" type="number" readonly required title="结算总额">
|
<td><input name="type8SettleTotal" type="number" readonly required title="结算总额">
|
||||||
</td>
|
</td>
|
||||||
<td><input name="cashInflowFromInvestingActivities"
|
<td><input name="cashInflowFromInvestingActivities" readonly
|
||||||
value="${Utils.format(finalBean.cashInflowFromInvestingActivities,'0')}"
|
value="${Utils.format(finalBean.cashInflowFromInvestingActivities,'0')}"
|
||||||
type="number" required title="决算总额"></td>
|
type="number" required title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -1444,7 +1444,7 @@
|
||||||
<td><input name="type9SettleTotal" type="number"
|
<td><input name="type9SettleTotal" type="number"
|
||||||
value="${Utils.format(finalBean.type9SettleTotal,'0')}" readonly required
|
value="${Utils.format(finalBean.type9SettleTotal,'0')}" readonly required
|
||||||
title="结算总额"></td>
|
title="结算总额"></td>
|
||||||
<td><input name="cashOutflowFromInvestingActivities" type="number"
|
<td><input name="cashOutflowFromInvestingActivities" type="number" readonly
|
||||||
value="${Utils.format(finalBean.cashOutflowFromInvestingActivities,'0')}"
|
value="${Utils.format(finalBean.cashOutflowFromInvestingActivities,'0')}"
|
||||||
required title="决算总额"></td>
|
required title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -1454,7 +1454,7 @@
|
||||||
<td><input name="type10SettleTotal" type="number"
|
<td><input name="type10SettleTotal" type="number"
|
||||||
value="${Utils.format(finalBean.type10SettleTotal,'0')}" readonly
|
value="${Utils.format(finalBean.type10SettleTotal,'0')}" readonly
|
||||||
required title="结算总额"></td>
|
required title="结算总额"></td>
|
||||||
<td><input name="netCashFromInvestingActivities" type="number"
|
<td><input name="netCashFromInvestingActivities" type="number" readonly
|
||||||
value="${Utils.format(finalBean.netCashFromInvestingActivities,'0')}"
|
value="${Utils.format(finalBean.netCashFromInvestingActivities,'0')}"
|
||||||
required title="决算总额"></td>
|
required title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -1466,7 +1466,7 @@
|
||||||
<td><input name="type11SettleTotal" type="number"
|
<td><input name="type11SettleTotal" type="number"
|
||||||
value="${Utils.format(finalBean.type11SettleTotal,'0')}" readonly
|
value="${Utils.format(finalBean.type11SettleTotal,'0')}" readonly
|
||||||
required title="结算总额"></td>
|
required title="结算总额"></td>
|
||||||
<td><input name="financingCapitalInflow" type="number"
|
<td><input name="financingCapitalInflow" type="number" readonly
|
||||||
value="${Utils.format(finalBean.financingCapitalInflow,'0')}" required
|
value="${Utils.format(finalBean.financingCapitalInflow,'0')}" required
|
||||||
title="决算总额"></td>
|
title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -1478,7 +1478,7 @@
|
||||||
<td><input name="type12SettleTotal" type="number"
|
<td><input name="type12SettleTotal" type="number"
|
||||||
value="${Utils.format(finalBean.type12SettleTotal,'0')}" readonly
|
value="${Utils.format(finalBean.type12SettleTotal,'0')}" readonly
|
||||||
required title="结算总额"></td>
|
required title="结算总额"></td>
|
||||||
<td><input name="financingCapitalOutflow" type="number"
|
<td><input name="financingCapitalOutflow" type="number" readonly
|
||||||
value="${Utils.format(finalBean.financingCapitalOutflow,'0')}" required
|
value="${Utils.format(finalBean.financingCapitalOutflow,'0')}" required
|
||||||
title="决算总额"></td>
|
title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -1490,7 +1490,7 @@
|
||||||
<td><input name="type13SettleTotal" type="number"
|
<td><input name="type13SettleTotal" type="number"
|
||||||
value="${Utils.format(finalBean.type13SettleTotal,'0')}" readonly
|
value="${Utils.format(finalBean.type13SettleTotal,'0')}" readonly
|
||||||
required title="结算总额"></td>
|
required title="结算总额"></td>
|
||||||
<td><input name="financingCapitalCashflow" type="number"
|
<td><input name="financingCapitalCashflow" type="number" readonly
|
||||||
value="${Utils.format(finalBean.financingCapitalCashflow,'0')}" required
|
value="${Utils.format(finalBean.financingCapitalCashflow,'0')}" required
|
||||||
title="决算总额"></td>
|
title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -1502,7 +1502,7 @@
|
||||||
<td><input name="type14SettleTotal" type="number"
|
<td><input name="type14SettleTotal" type="number"
|
||||||
value="${Utils.format(finalBean.type14SettleTotal,'0')}" readonly
|
value="${Utils.format(finalBean.type14SettleTotal,'0')}" readonly
|
||||||
required title="结算总额"></td>
|
required title="结算总额"></td>
|
||||||
<td><input name="netIncreaseMonetaryFunds" type="number"
|
<td><input name="netIncreaseMonetaryFunds" type="number" readonly
|
||||||
value="${Utils.format(finalBean.netIncreaseMonetaryFunds,'0')}" required
|
value="${Utils.format(finalBean.netIncreaseMonetaryFunds,'0')}" required
|
||||||
title="决算总额"></td>
|
title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -1512,7 +1512,7 @@
|
||||||
</td>
|
</td>
|
||||||
<td><input name="cashFluxSettleTotal" type="number" readonly required title="此列累计">
|
<td><input name="cashFluxSettleTotal" type="number" readonly required title="此列累计">
|
||||||
</td>
|
</td>
|
||||||
<td><input name="cashFluxFinalTotal" type="number" readonly required title="此列累计">
|
<td><input name="cashFluxFinalTotal" value="${Utils.format(finalBean.getCashFluxTotal(),'0')}" type="number" readonly required title="此列累计">
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
@ -2004,10 +2004,10 @@
|
||||||
|
|
||||||
<div class="am-u-sm-12 am-u-md-4 switch-button" style="height: 25px;">
|
<div class="am-u-sm-12 am-u-md-4 switch-button" style="height: 25px;">
|
||||||
<label class="am-radio-inline">
|
<label class="am-radio-inline">
|
||||||
<input type="radio" value="" name="docVlGender" required> 审核通过
|
<input type="radio" value="2" name="docVlGender" required> 审核通过
|
||||||
</label>
|
</label>
|
||||||
<label class="am-radio-inline">
|
<label class="am-radio-inline">
|
||||||
<input type="radio" name="docVlGender"> 审核不通过
|
<input type="radio" value="3" name="docVlGender"> 审核不通过
|
||||||
</label>
|
</label>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
@ -2031,7 +2031,7 @@
|
||||||
</div>
|
</div>
|
||||||
<div class="am-modal-footer">
|
<div class="am-modal-footer">
|
||||||
<span class="am-modal-btn" data-am-modal-cancel>取消</span>
|
<span class="am-modal-btn" data-am-modal-cancel>取消</span>
|
||||||
<span class="am-modal-btn" data-am-modal-confirm>保存</span>
|
<span class="am-modal-btn" data-am-modal-confirm onclick="completeTask('${project.id}')">确定</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -2077,6 +2077,32 @@
|
||||||
appendTrIncome();
|
appendTrIncome();
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|
||||||
|
var completeTask = function (projectId) {
|
||||||
|
var message = $("#doc-vld-ta-2").val();
|
||||||
|
var type = $("input[name='docVlGender']:checked").val();
|
||||||
|
var params = {
|
||||||
|
type: type,
|
||||||
|
message: message
|
||||||
|
};
|
||||||
|
$.ajax({
|
||||||
|
url: '${base}/project/completeTask/' + projectId,
|
||||||
|
data: JSON.stringify(params),
|
||||||
|
dataType: "json",
|
||||||
|
contentType: "application/json",
|
||||||
|
type: 'post',
|
||||||
|
async: false,
|
||||||
|
success: function (data) {
|
||||||
|
if (data.status == 0) {
|
||||||
|
alert(data.msg);
|
||||||
|
window.location.href = '${base}/project/list';
|
||||||
|
} else if (data.status == 1) {
|
||||||
|
alert(data.msg);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -766,7 +766,7 @@
|
||||||
<td><input name="incomeDeviceTaxExclude" type="number" value="${Utils.format(estimateBean.incomeDeviceTaxExclude,'0')}" required readonly title="设备类概算总额"></td>
|
<td><input name="incomeDeviceTaxExclude" type="number" value="${Utils.format(estimateBean.incomeDeviceTaxExclude,'0')}" required readonly title="设备类概算总额"></td>
|
||||||
<td><input name="incomeDeviceTaxExclude" type="number" value="${Utils.format(budgetBean.incomeDeviceTaxExclude,'0')}" required readonly title="设备类预算总额"></td>
|
<td><input name="incomeDeviceTaxExclude" type="number" value="${Utils.format(budgetBean.incomeDeviceTaxExclude,'0')}" required readonly title="设备类预算总额"></td>
|
||||||
<td><input type="number" required readonly title="设备类结算总额"></td>
|
<td><input type="number" required readonly title="设备类结算总额"></td>
|
||||||
<td><input name="incomeDeviceFinalTotal" type="number" value="${Utils.format(finalBean.incomeDeviceFinalTotal,'0')}" required title="设备类决算总额"></td>
|
<td><input name="incomeDeviceFinalTotal" type="number" value="${Utils.format(finalBean.incomeDeviceFinalTotal,'0')}" readonly required title="设备类决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>收入</td>
|
<td>收入</td>
|
||||||
|
@ -774,7 +774,7 @@
|
||||||
<td><input name="incomeEngineerTaxExclude" type="number" value="${Utils.format(estimateBean.incomeEngineerTaxExclude,'0')}" required readonly title="工程类概算总额"></td>
|
<td><input name="incomeEngineerTaxExclude" type="number" value="${Utils.format(estimateBean.incomeEngineerTaxExclude,'0')}" required readonly title="工程类概算总额"></td>
|
||||||
<td><input name="incomeEngineerTaxExclude" type="number" value="${Utils.format(budgetBean.incomeEngineerTaxExclude,'0')}" required readonly title="工程类预算总额"></td>
|
<td><input name="incomeEngineerTaxExclude" type="number" value="${Utils.format(budgetBean.incomeEngineerTaxExclude,'0')}" required readonly title="工程类预算总额"></td>
|
||||||
<td><input type="number" required readonly title="工程类结算总额"></td>
|
<td><input type="number" required readonly title="工程类结算总额"></td>
|
||||||
<td><input name="incomeEngineerFinalTotal" type="number" value="${Utils.format(finalBean.incomeEngineerFinalTotal,'0')}" required title="工程类决算总额"></td>
|
<td><input name="incomeEngineerFinalTotal" type="number" value="${Utils.format(finalBean.incomeEngineerFinalTotal,'0')}" required readonly title="工程类决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>收入</td>
|
<td>收入</td>
|
||||||
|
@ -782,7 +782,7 @@
|
||||||
<td><input name="incomeServiceTaxExclude" type="number" value="${Utils.format(estimateBean.incomeServiceTaxExclude,'0')}" required readonly title="服务类概算总额"></td>
|
<td><input name="incomeServiceTaxExclude" type="number" value="${Utils.format(estimateBean.incomeServiceTaxExclude,'0')}" required readonly title="服务类概算总额"></td>
|
||||||
<td><input name="incomeServiceTaxExclude" type="number" value="${Utils.format(budgetBean.incomeServiceTaxExclude,'0')}" required readonly title="服务类预算总额"></td>
|
<td><input name="incomeServiceTaxExclude" type="number" value="${Utils.format(budgetBean.incomeServiceTaxExclude,'0')}" required readonly title="服务类预算总额"></td>
|
||||||
<td><input type="number" required readonly title="服务类结算总额"></td>
|
<td><input type="number" required readonly title="服务类结算总额"></td>
|
||||||
<td><input name="incomeServiceFinalTotal" type="number" value="${Utils.format(finalBean.incomeServiceFinalTotal,'0')}" required title="服务类决算总额"></td>
|
<td><input name="incomeServiceFinalTotal" type="number" value="${Utils.format(finalBean.incomeServiceFinalTotal,'0')}" required readonly title="服务类决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>合计</td>
|
<td>合计</td>
|
||||||
|
@ -790,7 +790,7 @@
|
||||||
<td><input name="incomeEstimateTotal" type="number" value="${Utils.format(estimateBean.getIncomeTotalTaxExclude(),'0')}" readonly required title="此列累计"></td>
|
<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="incomeBudgetTotal" type="number" value="${Utils.format(budgetBean.getIncomeTotalTaxExclude(),'0')}" readonly required title="此列累计"></td>
|
||||||
<td><input name="incomeSettleTotal" type="number" readonly required title="此列累计"></td>
|
<td><input name="incomeSettleTotal" type="number" readonly required title="此列累计"></td>
|
||||||
<td><input name="incomeFinalTotal" type="number" readonly required title="此列累计"></td>
|
<td><input name="incomeFinalTotal" type="number" value="${Utils.format(finalBean.getIncomeTotal(),'0')}" readonly required title="此列累计"></td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
@ -813,7 +813,7 @@
|
||||||
<td><input name="costPurchaseDeviceTaxInclude" type="number" value="${Utils.format(estimateBean.costPurchaseDeviceTaxExclude,'0')}" readonly required title="购买设备概算总额"></td>
|
<td><input name="costPurchaseDeviceTaxInclude" type="number" value="${Utils.format(estimateBean.costPurchaseDeviceTaxExclude,'0')}" readonly required title="购买设备概算总额"></td>
|
||||||
<td><input name="costPurchaseDeviceTaxExclude" type="number" value="${Utils.format(budgetBean.costPurchaseDeviceTaxExclude,'0')}" readonly required title="购买设备预算总额"></td>
|
<td><input name="costPurchaseDeviceTaxExclude" type="number" value="${Utils.format(budgetBean.costPurchaseDeviceTaxExclude,'0')}" readonly required title="购买设备预算总额"></td>
|
||||||
<td><input name="costPurchaseDeviceTaxInclude" type="number"readonly required title="购买设备结算总额"></td>
|
<td><input name="costPurchaseDeviceTaxInclude" type="number"readonly required title="购买设备结算总额"></td>
|
||||||
<td><input name="costPurchaseDeviceFinalTotal" type="number" value="${Utils.format(finalBean.costPurchaseDeviceFinalTotal,'0')}" required title="购买设备决算总额"></td>
|
<td><input name="costPurchaseDeviceFinalTotal" type="number" value="${Utils.format(finalBean.costPurchaseDeviceFinalTotal,'0')}" readonly required title="购买设备决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>成本</td>
|
<td>成本</td>
|
||||||
|
@ -822,7 +822,7 @@
|
||||||
<td><input name="costPurchaseBuildEstimateTotal" type="number" value="${Utils.format(estimateBean.costPurchaseBuildTaxExclude,'0')}" readonly required title="施工采购成本概算总额"></td>
|
<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="costPurchaseBuildBudgetTotal" type="number" value="${Utils.format(budgetBean.costPurchaseBuildTaxExclude,'0')}" readonly required title="施工采购成本预算总额"></td>
|
||||||
<td><input name="costPurchaseBuildSettleTotal" type="number" readonly required title="施工采购成本结算总额"></td>
|
<td><input name="costPurchaseBuildSettleTotal" type="number" readonly required title="施工采购成本结算总额"></td>
|
||||||
<td><input name="costPurchaseBuildFinalTotal" type="number" value="${Utils.format(finalBean.costPurchaseBuildFinalTotal,'0')}" required title="施工采购成本决算总额"></td>
|
<td><input name="costPurchaseBuildFinalTotal" type="number" value="${Utils.format(finalBean.costPurchaseBuildFinalTotal,'0')}" readonly required title="施工采购成本决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>成本</td>
|
<td>成本</td>
|
||||||
|
@ -831,7 +831,7 @@
|
||||||
<td><input name="costPurchaseServiceEstimateTotal" type="number" value="${Utils.format(estimateBean.costPurchaseServiceTaxExclude,'0')}" readonly required title="服务采购成本概算总额"></td>
|
<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="costPurchaseServiceBudgetTotal" type="number" value="${Utils.format(budgetBean.costPurchaseServiceTaxExclude,'0')}" readonly required title="服务采购成本预算总额"></td>
|
||||||
<td><input name="costPurchaseServiceSettleTotal" type="number" readonly required title="服务采购成本结算总额"></td>
|
<td><input name="costPurchaseServiceSettleTotal" type="number" readonly required title="服务采购成本结算总额"></td>
|
||||||
<td><input name="costPurchaseServiceFinalTotal" type="number" value="${Utils.format(finalBean.costPurchaseServiceFinalTotal,'0')}" required title="服务采购成本决算总额"></td>
|
<td><input name="costPurchaseServiceFinalTotal" type="number" value="${Utils.format(finalBean.costPurchaseServiceFinalTotal,'0')}" required readonly title="服务采购成本决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>成本</td>
|
<td>成本</td>
|
||||||
|
@ -840,7 +840,7 @@
|
||||||
<td><input name="costPurchaseOtherEstimateTotal" type="number" value="${Utils.format(estimateBean.costPurchaseOtherTaxInclude,'0')}" readonly required title="其他采购成本概算总额"></td>
|
<td><input name="costPurchaseOtherEstimateTotal" type="number" value="${Utils.format(estimateBean.costPurchaseOtherTaxInclude,'0')}" readonly required title="其他采购成本概算总额"></td>
|
||||||
<td><input name="costPurchaseOtherBudgetTotal" type="number" value="${Utils.format(budgetBean.costPurchaseOtherTaxInclude,'0')}" readonly required title="其他采购成本预算总额"></td>
|
<td><input name="costPurchaseOtherBudgetTotal" type="number" value="${Utils.format(budgetBean.costPurchaseOtherTaxInclude,'0')}" readonly required title="其他采购成本预算总额"></td>
|
||||||
<td><input name="costPurchaseOtherSettleTotal" type="number" readonly required title="其他采购成本结算总额"></td>
|
<td><input name="costPurchaseOtherSettleTotal" type="number" readonly required title="其他采购成本结算总额"></td>
|
||||||
<td><input name="costPurchaseOtherFinalTotal" type="number" value="${Utils.format(finalBean.costPurchaseOtherFinalTotal,'0')}" required title="其他采购成本决算总额"></td>
|
<td><input name="costPurchaseOtherFinalTotal" type="number" value="${Utils.format(finalBean.costPurchaseOtherFinalTotal,'0')}" required readonly title="其他采购成本决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>成本</td>
|
<td>成本</td>
|
||||||
|
@ -849,7 +849,7 @@
|
||||||
<td><input name="costProjectManageEstimateTotal" type="number" value="${Utils.format(estimateBean.costProjectManageTaxExclude,'0')}" readonly required title="项目管理成本概算总额"></td>
|
<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="costProjectManageBudgetTotal" type="number" value="${Utils.format(budgetBean.costProjectManageTaxExclude,'0')}" readonly required title="项目管理成本预算总额"></td>
|
||||||
<td><input name="costProjectManageSettleTotal" type="number" readonly required title="项目管理成本结算总额"></td>
|
<td><input name="costProjectManageSettleTotal" type="number" readonly required title="项目管理成本结算总额"></td>
|
||||||
<td><input name="costProjectManageFinalTotal" type="number" value="${Utils.format(finalBean.costProjectManageFinalTotal,'0')}" required title="项目管理成本决算总额"></td>
|
<td><input name="costProjectManageFinalTotal" type="number" value="${Utils.format(finalBean.costProjectManageFinalTotal,'0')}" required readonly title="项目管理成本决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>成本</td>
|
<td>成本</td>
|
||||||
|
@ -858,7 +858,7 @@
|
||||||
<td><input name="costOtherEstimateTotal" type="number" value="${Utils.format(estimateBean.costOtherOtherTaxExclude,'0')}" readonly required title="其他成本概算总额"></td>
|
<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="costOtherBudgetTotal" type="number" value="${Utils.format(budgetBean.costOtherOtherTaxExclude,'0')}" readonly required title="其他成本预算总额"></td>
|
||||||
<td><input name="costOtherSettleTotal" type="number" type="number"readonly required title="其他成本结算总额"></td>
|
<td><input name="costOtherSettleTotal" type="number" type="number"readonly required title="其他成本结算总额"></td>
|
||||||
<td><input name="costOtherFinalTotal" type="number" value="${Utils.format(finalBean.costOtherFinalTotal,'0')}" required title="其他成本决算总额"></td>
|
<td><input name="costOtherFinalTotal" type="number" value="${Utils.format(finalBean.costOtherFinalTotal,'0')}" required readonly title="其他成本决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>合计</td>
|
<td>合计</td>
|
||||||
|
@ -867,7 +867,7 @@
|
||||||
<td><input name="costEstimateTotal" value="${Utils.format(estimateBean.getIncomeTotalTaxExclude(),'0')}" type="number" readonly required title="此列累计"></td>
|
<td><input name="costEstimateTotal" value="${Utils.format(estimateBean.getIncomeTotalTaxExclude(),'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="costBudgetTotal" value="${Utils.format(budgetBean.getCostTotalTaxExclude(),'0')}" type="number" readonly required title="此列累计"></td>
|
||||||
<td><input name="costSettleTotal" type="number" readonly required title="此列累计"></td>
|
<td><input name="costSettleTotal" type="number" readonly required title="此列累计"></td>
|
||||||
<td><input name="costFinalTotal" type="number" readonly required title="此列累计"></td>
|
<td><input name="costFinalTotal" type="number" value="${Utils.format(finalBean.getCostTotal(),'0')}" readonly required title="此列累计"></td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
@ -888,7 +888,7 @@
|
||||||
<td><input name="costExpropriationEstimateTotal" type="number" value="${Utils.format(estimateBean.costExpropriationTaxExclude,'0')}" required readonly title="资金占用成本概算总额"></td>
|
<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="costExpropriationBudgetTotal" type="number" value="${Utils.format(budgetBean.costExpropriationTaxExclude,'0')}" required readonly title="资金占用成本预算总额"></td>
|
||||||
<td><input name="costExpropriationSettleTotal" type="number" required readonly title="资金占用成本结算总额"></td>
|
<td><input name="costExpropriationSettleTotal" type="number" required readonly title="资金占用成本结算总额"></td>
|
||||||
<td><input name="costExpropriationFinalTotal" type="number" value="${Utils.format(finalBean.costExpropriationFinalTotal,'0')}" required title="资金占用成本决算总额"></td>
|
<td><input name="costExpropriationFinalTotal" type="number" value="${Utils.format(finalBean.costExpropriationFinalTotal,'0')}" required readonly title="资金占用成本决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>公司管理费用</td>
|
<td>公司管理费用</td>
|
||||||
|
@ -896,7 +896,7 @@
|
||||||
<td><input name="costCompanyManageEstimateTotal" type="number" value="${Utils.format(estimateBean.costCompanyManageTaxExclude,'0')}" required readonly title="公司管理费用概算总额"></td>
|
<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="costCompanyManageBudgetTotal" type="number" value="${Utils.format(budgetBean.costCompanyManageTaxExclude,'0')}" required readonly title="公司管理费用预算总额"></td>
|
||||||
<td><input name="costCompanyManageSettleTotal" type="number" required readonly title="公司管理费用结算总额"></td>
|
<td><input name="costCompanyManageSettleTotal" type="number" required readonly title="公司管理费用结算总额"></td>
|
||||||
<td><input name="costCompanyManageFinalTotal" type="number" value="${Utils.format(finalBean.costCompanyManageFinalTotal,'0')}" required title="公司管理费用决算总额"></td>
|
<td><input name="costCompanyManageFinalTotal" type="number" value="${Utils.format(finalBean.costCompanyManageFinalTotal,'0')}" required readonly title="公司管理费用决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>所得税费用</td>
|
<td>所得税费用</td>
|
||||||
|
@ -904,7 +904,7 @@
|
||||||
<td>/</td>
|
<td>/</td>
|
||||||
<td>/</td>
|
<td>/</td>
|
||||||
<td><input name="costIncomeTaxSettleTotal" type="number" required readonly title="所得税费用结算总额"></td>
|
<td><input name="costIncomeTaxSettleTotal" type="number" required readonly title="所得税费用结算总额"></td>
|
||||||
<td><input name="costIncomeTaxFinalTotal" type="number" value="${Utils.format(finalBean.costIncomeTaxFinalTotal,'0')}" required title="所得税费用决算总额"></td>
|
<td><input name="costIncomeTaxFinalTotal" type="number" value="${Utils.format(finalBean.costIncomeTaxFinalTotal,'0')}" required readonly title="所得税费用决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>合计</td>
|
<td>合计</td>
|
||||||
|
@ -912,7 +912,7 @@
|
||||||
<td><input name="manageEstimateTotal" type="number" readonly required title="此列累计"></td>
|
<td><input name="manageEstimateTotal" type="number" readonly required title="此列累计"></td>
|
||||||
<td><input name="manageBudgetTotal" type="number" readonly required title="此列累计"></td>
|
<td><input name="manageBudgetTotal" type="number" readonly required title="此列累计"></td>
|
||||||
<td><input name="manageSettleTotal" type="number" readonly required title="此列累计"></td>
|
<td><input name="manageSettleTotal" type="number" readonly required title="此列累计"></td>
|
||||||
<td><input name="manageFinalTotal" type="number" readonly required title="此列累计"></td>
|
<td><input name="manageFinalTotal" type="number" value="${Utils.format(finalBean.getCostManageTotal(),'0')}" readonly required title="此列累计"></td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
@ -933,7 +933,7 @@
|
||||||
<td><input name="grossProfitEstimateTotal" type="number" value="${Utils.format(finalBean.grossProfitEstimateTotal,'0')}" readonly required title="项目毛利概算总额"></td>
|
<td><input name="grossProfitEstimateTotal" type="number" value="${Utils.format(finalBean.grossProfitEstimateTotal,'0')}" readonly required title="项目毛利概算总额"></td>
|
||||||
<td><input name="grossProfitBudgetTotal" type="number" value="${Utils.format(finalBean.grossProfitBudgetTotal,'0')}" readonly required title="项目毛利预算总额"></td>
|
<td><input name="grossProfitBudgetTotal" type="number" value="${Utils.format(finalBean.grossProfitBudgetTotal,'0')}" readonly required title="项目毛利预算总额"></td>
|
||||||
<td><input name="grossProfitSettleTotal" type="number" value="${Utils.format(finalBean.grossProfitSettleTotal,'0')}" readonly required title="项目毛利结算总额"></td>
|
<td><input name="grossProfitSettleTotal" type="number" value="${Utils.format(finalBean.grossProfitSettleTotal,'0')}" readonly required title="项目毛利结算总额"></td>
|
||||||
<td><input name="grossProfitFinalTotal" type="number" value="${Utils.format(finalBean.grossProfitFinalTotal,'0')}" required title="项目毛利决算总额"></td>
|
<td><input name="grossProfitFinalTotal" type="number" value="${Utils.format(finalBean.grossProfitFinalTotal,'0')}" required readonly title="项目毛利决算总额"></td>
|
||||||
<td><input name="grossProfitProfitMargin" type="number" value="${Utils.format(finalBean.grossProfitProfitMargin,'0')}" required readonly title="项目毛利利润率"></td>
|
<td><input name="grossProfitProfitMargin" type="number" value="${Utils.format(finalBean.grossProfitProfitMargin,'0')}" required readonly title="项目毛利利润率"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -941,7 +941,7 @@
|
||||||
<td><input name="contributionMarginEstimateTotal" type="number" value="${Utils.format(finalBean.contributionMarginEstimateTotal,'0')}" readonly required title="项目贡献利润概算总额"></td>
|
<td><input name="contributionMarginEstimateTotal" type="number" value="${Utils.format(finalBean.contributionMarginEstimateTotal,'0')}" readonly required title="项目贡献利润概算总额"></td>
|
||||||
<td><input name="contributionMarginBudgetTotal" type="number" value="${Utils.format(finalBean.contributionMarginBudgetTotal,'0')}" readonly required title="项目贡献利润预算总额"></td>
|
<td><input name="contributionMarginBudgetTotal" type="number" value="${Utils.format(finalBean.contributionMarginBudgetTotal,'0')}" readonly required title="项目贡献利润预算总额"></td>
|
||||||
<td><input name="contributionMarginSettleTotal" type="number" value="${Utils.format(finalBean.contributionMarginSettleTotal,'0')}" readonly required title="项目贡献利润结算总额"></td>
|
<td><input name="contributionMarginSettleTotal" type="number" value="${Utils.format(finalBean.contributionMarginSettleTotal,'0')}" readonly required title="项目贡献利润结算总额"></td>
|
||||||
<td><input name="contributionMarginFinalTotal" type="number" value="${Utils.format(finalBean.contributionMarginFinalTotal,'0')}" required title="项目贡献利润决算总额"></td>
|
<td><input name="contributionMarginFinalTotal" type="number" value="${Utils.format(finalBean.contributionMarginFinalTotal,'0')}" required readonly title="项目贡献利润决算总额"></td>
|
||||||
<td><input name="contributionMarginProfitMargin" type="number" value="${Utils.format(finalBean.contributionMarginProfitMargin,'0')}" required readonly title="项目贡献利润利润率"></td>
|
<td><input name="contributionMarginProfitMargin" type="number" value="${Utils.format(finalBean.contributionMarginProfitMargin,'0')}" required readonly title="项目贡献利润利润率"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -949,7 +949,7 @@
|
||||||
<td><input name="netMarginEstimateTotal" type="number" value="${Utils.format(finalBean.netMarginEstimateTotal,'0')}" readonly required title="项目净利润概算总额"></td>
|
<td><input name="netMarginEstimateTotal" type="number" value="${Utils.format(finalBean.netMarginEstimateTotal,'0')}" readonly required title="项目净利润概算总额"></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(finalBean.netMarginBudgetTotal,'0')}" readonly required title="项目净利润预算总额"></td>
|
||||||
<td><input name="netMarginSettleTotal" type="number" value="${Utils.format(finalBean.netMarginSettleTotal,'0')}" readonly required title="项目净利润结算总额"></td>
|
<td><input name="netMarginSettleTotal" type="number" value="${Utils.format(finalBean.netMarginSettleTotal,'0')}" readonly required title="项目净利润结算总额"></td>
|
||||||
<td><input name="netMarginFinalTotal" type="number" value="${Utils.format(finalBean.netMarginFinalTotal,'0')}" required title="项目净利润决算总额"></td>
|
<td><input name="netMarginFinalTotal" type="number" value="${Utils.format(finalBean.netMarginFinalTotal,'0')}" required readonly title="项目净利润决算总额"></td>
|
||||||
<td><input name="netMarginProfitMargin" type="number" value="${Utils.format(finalBean.netMarginProfitMargin,'0')}" required readonly title="项目净利润利润率"></td>
|
<td><input name="netMarginProfitMargin" type="number" value="${Utils.format(finalBean.netMarginProfitMargin,'0')}" required readonly title="项目净利润利润率"></td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
@ -968,91 +968,91 @@
|
||||||
<td>销售商品、提供劳务收到的现金</td>
|
<td>销售商品、提供劳务收到的现金</td>
|
||||||
<td><input name="type1BudgetTotal" type="number" value="${Utils.format(cashFlowBean.saleIncomeCash,'0')}" readonly required title="预算总额"></td>
|
<td><input name="type1BudgetTotal" type="number" value="${Utils.format(cashFlowBean.saleIncomeCash,'0')}" readonly required title="预算总额"></td>
|
||||||
<td><input name="type1SettleTotal" type="number" readonly required title="结算总额"></td>
|
<td><input name="type1SettleTotal" type="number" readonly required title="结算总额"></td>
|
||||||
<td><input name="saleIncomeCash" type="number" value="${Utils.format(finalBean.saleIncomeCash,'0')}" required title="决算总额"></td>
|
<td><input name="saleIncomeCash" type="number" value="${Utils.format(finalBean.saleIncomeCash,'0')}" readonly required title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>收到的税费返还</td>
|
<td>收到的税费返还</td>
|
||||||
<td>/</td>
|
<td>/</td>
|
||||||
<td><input name="type2SettleTotal" type="number" value="${Utils.format(cashFlowBean.taxReturn,'0')}" readonly required title="结算总额"></td>
|
<td><input name="type2SettleTotal" type="number" value="${Utils.format(cashFlowBean.taxReturn,'0')}" readonly required title="结算总额"></td>
|
||||||
<td><input name="taxReturn" type="number" value="${Utils.format(finalBean.taxReturn,'0')}" required title="决算总额"></td>
|
<td><input name="taxReturn" type="number" value="${Utils.format(finalBean.taxReturn,'0')}" readonly required title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>收到其他与经营活动有关的现金</td>
|
<td>收到其他与经营活动有关的现金</td>
|
||||||
<td><input name="type3BudgetTotal" type="number" value="${Utils.format(cashFlowBean.earnestMoneyIncome,'0')}" readonly required title="预算总额"></td>
|
<td><input name="type3BudgetTotal" type="number" value="${Utils.format(cashFlowBean.earnestMoneyIncome,'0')}" readonly required title="预算总额"></td>
|
||||||
<td><input name="type3SettleTotal" type="number" readonly required title="结算总额"></td>
|
<td><input name="type3SettleTotal" type="number" readonly required title="结算总额"></td>
|
||||||
<td><input name="earnestMoneyIncome" type="number" value="${Utils.format(finalBean.earnestMoneyIncome,'0')}" required title="决算总额"></td>
|
<td><input name="earnestMoneyIncome" type="number" value="${Utils.format(finalBean.earnestMoneyIncome,'0')}" readonly required title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>购买商品、接受劳务支付的现金</td>
|
<td>购买商品、接受劳务支付的现金</td>
|
||||||
<td><input name="type4BudgetTotal" type="number" value="${Utils.format(cashFlowBean.purchaseCost,'0')}" readonly required title="预算总额"></td>
|
<td><input name="type4BudgetTotal" type="number" value="${Utils.format(cashFlowBean.purchaseCost,'0')}" readonly required title="预算总额"></td>
|
||||||
<td><input name="type4SettleTotal" type="number" readonly required title="结算总额"></td>
|
<td><input name="type4SettleTotal" type="number" readonly required title="结算总额"></td>
|
||||||
<td><input name="purchaseCost" type="number" value="${Utils.format(finalBean.purchaseCost,'0')}" required title="决算总额"></td>
|
<td><input name="purchaseCost" type="number" value="${Utils.format(finalBean.purchaseCost,'0')}" readonly required title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>支付的各项税费</td>
|
<td>支付的各项税费</td>
|
||||||
<td>/</td>
|
<td>/</td>
|
||||||
<td><input name="type5SettleTotal" type="number" value="${Utils.format(finalBean.type5SettleTotal,'0')}" readonly required title="结算总额"></td>
|
<td><input name="type5SettleTotal" type="number" value="${Utils.format(finalBean.type5SettleTotal,'0')}" readonly required title="结算总额"></td>
|
||||||
<td><input name="taxCost" type="number" value="${Utils.format(finalBean.taxCost,'0')}" required title="决算总额"></td>
|
<td><input name="taxCost" type="number" value="${Utils.format(finalBean.taxCost,'0')}" readonly required title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>支付其他与经营活动有关的现金</td>
|
<td>支付其他与经营活动有关的现金</td>
|
||||||
<td><input name="type6BudgetTotal" type="number" value="${Utils.format(cashFlowBean.earnestMoneyCost,'0')}" readonly required title="预算总额"></td>
|
<td><input name="type6BudgetTotal" type="number" value="${Utils.format(cashFlowBean.earnestMoneyCost,'0')}" readonly required title="预算总额"></td>
|
||||||
<td><input name="type6SettleTotal" type="number" readonly required title="结算总额"></td>
|
<td><input name="type6SettleTotal" type="number" readonly required title="结算总额"></td>
|
||||||
<td><input name="earnestMoneyCost" type="number" value="${Utils.format(finalBean.earnestMoneyCost,'0')}" required title="决算总额"></td>
|
<td><input name="earnestMoneyCost" type="number" value="${Utils.format(finalBean.earnestMoneyCost,'0')}" readonly required title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>经营活动产生的现金流量净额</td>
|
<td>经营活动产生的现金流量净额</td>
|
||||||
<td><input name="type7BudgetTotal" type="number" value="${Utils.format(cashFlowBean.getNetCashFlow(),'0')}" readonly required title="预算总额"></td>
|
<td><input name="type7BudgetTotal" type="number" value="${Utils.format(cashFlowBean.getNetCashFlow(),'0')}" readonly required title="预算总额"></td>
|
||||||
<td><input name="type7SettleTotal" type="number" readonly required title="结算总额"></td>
|
<td><input name="type7SettleTotal" type="number" readonly required title="结算总额"></td>
|
||||||
<td><input name="netCashFlow" type="number" value="${Utils.format(finalBean.netCashFlow,'0')}" required title="决算总额"></td>
|
<td><input name="netCashFlow" type="number" value="${Utils.format(finalBean.netCashFlow,'0')}" readonly required title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>投资活动现金流入</td>
|
<td>投资活动现金流入</td>
|
||||||
<td>/</td>
|
<td>/</td>
|
||||||
<td><input name="type8SettleTotal" type="number" readonly required title="结算总额"></td>
|
<td><input name="type8SettleTotal" type="number" readonly required title="结算总额"></td>
|
||||||
<td><input name="cashInflowFromInvestingActivities" value="${Utils.format(finalBean.cashInflowFromInvestingActivities,'0')}" type="number" required title="决算总额"></td>
|
<td><input name="cashInflowFromInvestingActivities" value="${Utils.format(finalBean.cashInflowFromInvestingActivities,'0')}" type="number" readonly required title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>投资活动现金流出</td>
|
<td>投资活动现金流出</td>
|
||||||
<td>/</td>
|
<td>/</td>
|
||||||
<td><input name="type9SettleTotal" type="number" value="${Utils.format(finalBean.type9SettleTotal,'0')}" readonly required title="结算总额"></td>
|
<td><input name="type9SettleTotal" type="number" value="${Utils.format(finalBean.type9SettleTotal,'0')}" readonly required title="结算总额"></td>
|
||||||
<td><input name="cashOutflowFromInvestingActivities" type="number" value="${Utils.format(finalBean.cashOutflowFromInvestingActivities,'0')}" required title="决算总额"></td>
|
<td><input name="cashOutflowFromInvestingActivities" type="number" value="${Utils.format(finalBean.cashOutflowFromInvestingActivities,'0')}" readonly required title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>投资活动产生的现金流量净额</td>
|
<td>投资活动产生的现金流量净额</td>
|
||||||
<td>/</td>
|
<td>/</td>
|
||||||
<td><input name="type10SettleTotal" type="number" value="${Utils.format(finalBean.type10SettleTotal,'0')}" readonly required title="结算总额"></td>
|
<td><input name="type10SettleTotal" type="number" value="${Utils.format(finalBean.type10SettleTotal,'0')}" readonly required title="结算总额"></td>
|
||||||
<td><input name="netCashFromInvestingActivities" type="number" value="${Utils.format(finalBean.netCashFromInvestingActivities,'0')}" required title="决算总额"></td>
|
<td><input name="netCashFromInvestingActivities" type="number" value="${Utils.format(finalBean.netCashFromInvestingActivities,'0')}" readonly required title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>融资资金流入</td>
|
<td>融资资金流入</td>
|
||||||
<td><input name="type11BudgetTotal" type="number" value="${Utils.format(cashFlowBean.financingCapitalInflow,'0')}" readonly required title="预算总额"></td>
|
<td><input name="type11BudgetTotal" type="number" value="${Utils.format(cashFlowBean.financingCapitalInflow,'0')}" readonly required title="预算总额"></td>
|
||||||
<td><input name="type11SettleTotal" type="number" value="${Utils.format(finalBean.type11SettleTotal,'0')}" readonly required title="结算总额"></td>
|
<td><input name="type11SettleTotal" type="number" value="${Utils.format(finalBean.type11SettleTotal,'0')}" readonly required title="结算总额"></td>
|
||||||
<td><input name="financingCapitalInflow" type="number" value="${Utils.format(finalBean.financingCapitalInflow,'0')}" required title="决算总额"></td>
|
<td><input name="financingCapitalInflow" type="number" value="${Utils.format(finalBean.financingCapitalInflow,'0')}" readonly required title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>还款资金流出</td>
|
<td>还款资金流出</td>
|
||||||
<td><input name="type12BudgetTotal" type="number" value="${Utils.format(cashFlowBean.financingCapitalOutflow,'0')}" readonly required title="预算总额"></td>
|
<td><input name="type12BudgetTotal" type="number" value="${Utils.format(cashFlowBean.financingCapitalOutflow,'0')}" readonly required title="预算总额"></td>
|
||||||
<td><input name="type12SettleTotal" type="number" value="${Utils.format(finalBean.type12SettleTotal,'0')}" readonly required title="结算总额"></td>
|
<td><input name="type12SettleTotal" type="number" value="${Utils.format(finalBean.type12SettleTotal,'0')}" readonly required title="结算总额"></td>
|
||||||
<td><input name="financingCapitalOutflow" type="number" value="${Utils.format(finalBean.financingCapitalOutflow,'0')}" required title="决算总额"></td>
|
<td><input name="financingCapitalOutflow" type="number" value="${Utils.format(finalBean.financingCapitalOutflow,'0')}" readonly required title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>筹资活动产生的现金流量净额</td>
|
<td>筹资活动产生的现金流量净额</td>
|
||||||
<td><input name="type13BudgetTotal" type="number" value="${Utils.format(cashFlowBean.getFinancingCapitalCashflow(),'0')}" readonly required title="预算总额"></td>
|
<td><input name="type13BudgetTotal" type="number" value="${Utils.format(cashFlowBean.getFinancingCapitalCashflow(),'0')}" readonly required title="预算总额"></td>
|
||||||
<td><input name="type13SettleTotal" type="number" value="${Utils.format(finalBean.type13SettleTotal,'0')}" readonly required title="结算总额"></td>
|
<td><input name="type13SettleTotal" type="number" value="${Utils.format(finalBean.type13SettleTotal,'0')}" readonly required title="结算总额"></td>
|
||||||
<td><input name="financingCapitalCashflow" type="number" value="${Utils.format(finalBean.financingCapitalCashflow,'0')}" required title="决算总额"></td>
|
<td><input name="financingCapitalCashflow" type="number" value="${Utils.format(finalBean.financingCapitalCashflow,'0')}" readonly required title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>货币资金净增加额</td>
|
<td>货币资金净增加额</td>
|
||||||
<td><input name="type14BudgetTotal" type="number" value="${Utils.format(cashFlowBean.getNetIncreaseMonetaryFunds(),'0')}" readonly required title="预算总额"></td>
|
<td><input name="type14BudgetTotal" type="number" value="${Utils.format(cashFlowBean.getNetIncreaseMonetaryFunds(),'0')}" readonly required title="预算总额"></td>
|
||||||
<td><input name="type14SettleTotal" type="number" value="${Utils.format(finalBean.type14SettleTotal,'0')}" readonly required title="结算总额"></td>
|
<td><input name="type14SettleTotal" type="number" value="${Utils.format(finalBean.type14SettleTotal,'0')}" readonly required title="结算总额"></td>
|
||||||
<td><input name="netIncreaseMonetaryFunds" type="number" value="${Utils.format(finalBean.netIncreaseMonetaryFunds,'0')}" required title="决算总额"></td>
|
<td><input name="netIncreaseMonetaryFunds" type="number" value="${Utils.format(finalBean.netIncreaseMonetaryFunds,'0')}" readonly required title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>合计</td>
|
<td>合计</td>
|
||||||
<td><input name="cashFluxBudgetTotal" type="number" readonly required title="此列累计"></td>
|
<td><input name="cashFluxBudgetTotal" type="number" readonly required title="此列累计"></td>
|
||||||
<td><input name="cashFluxSettleTotal" type="number" readonly required title="此列累计"></td>
|
<td><input name="cashFluxSettleTotal" type="number" readonly required title="此列累计"></td>
|
||||||
<td><input name="cashFluxFinalTotal" type="number" readonly required title="此列累计"></td>
|
<td><input name="cashFluxFinalTotal" type="number" value="${Utils.format(finalBean.getCashFluxTotal(),'0')}" readonly required title="此列累计"></td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
</table>
|
</table>
|
||||||
|
@ -1060,10 +1060,6 @@
|
||||||
<!--验证表单元素(validate end-->
|
<!--验证表单元素(validate end-->
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
@ -1338,13 +1334,14 @@
|
||||||
<div class="am-tab-panel am-fade am-in am-active" id="tab1">
|
<div class="am-tab-panel am-fade am-in am-active" id="tab1">
|
||||||
<div class="am-g am-form-group am-margin-top" style="display: flex;">
|
<div class="am-g am-form-group am-margin-top" style="display: flex;">
|
||||||
<div class="am-u-sm-4 am-u-md-2 am-text-right">
|
<div class="am-u-sm-4 am-u-md-2 am-text-right">
|
||||||
<span style="color: red;">*</span>审核意见:</div>
|
审核意见
|
||||||
<div class="am-u-sm-4 am-u-md-2 am-text-right">
|
</div>
|
||||||
<div class="am-u-sm-6 am-u-md-6">
|
<div class="am-u-sm-4 am-u-md-4 am-text-left">
|
||||||
<span>${project.name}</span>
|
<#list taskRecords as node>
|
||||||
</div>
|
<span>${node.assigneeName} : ${node.taskComment} ${node.createTime}</span>
|
||||||
|
<hr/>
|
||||||
|
</#list>
|
||||||
</div>
|
</div>
|
||||||
<div class="am-u-sm-2 am-u-md-4 input-msg"></div>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
|
@ -72,9 +72,9 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td>合计</td>
|
<td>合计</td>
|
||||||
<td></td>
|
<td></td>
|
||||||
<td><input name="incomeEstimateTotal" type="number" value="${Utils.format(estimateBean.getIncomeTotalTaxExclude(),'0')}" readonly required title="此列累计"></td>
|
<td><input name="estimateIncomeTotalTaxExclude" 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="budgetIncomeTotalTaxExclude" type="number" value="${Utils.format(budgetBean.getIncomeTotalTaxExclude(),'0')}" readonly required title="此列累计"></td>
|
||||||
<td><input name="incomeSettleTotal" type="number" readonly required title="此列累计"></td>
|
<td><input type="number" readonly required title="此列累计"></td>
|
||||||
<td><input name="incomeFinalTotal" type="number" readonly required title="此列累计"></td>
|
<td><input name="incomeFinalTotal" type="number" readonly required title="此列累计"></td>
|
||||||
</tr>
|
</tr>
|
||||||
</tbody>
|
</tbody>
|
||||||
|
@ -95,35 +95,35 @@
|
||||||
<td>成本</td>
|
<td>成本</td>
|
||||||
<td>采购成本</td>
|
<td>采购成本</td>
|
||||||
<td>设备</td>
|
<td>设备</td>
|
||||||
<td><input name="costPurchaseDeviceTaxInclude" type="number" value="${Utils.format(estimateBean.costPurchaseDeviceTaxExclude,'0')}" readonly required title="购买设备概算总额"></td>
|
<td><input name="costPurchaseDeviceTaxExclude" type="number" value="${Utils.format(estimateBean.costPurchaseDeviceTaxExclude,'0')}" readonly required title="购买设备概算总额"></td>
|
||||||
<td><input name="costPurchaseDeviceTaxExclude" type="number" value="${Utils.format(budgetBean.costPurchaseDeviceTaxExclude,'0')}" readonly required title="购买设备预算总额"></td>
|
<td><input name="costPurchaseDeviceTaxExclude" type="number" value="${Utils.format(budgetBean.costPurchaseDeviceTaxExclude,'0')}" readonly required title="购买设备预算总额"></td>
|
||||||
<td><input name="costPurchaseDeviceTaxInclude" type="number"readonly required title="购买设备结算总额"></td>
|
<td><input type="number"readonly required title="购买设备结算总额"></td>
|
||||||
<td><input name="costPurchaseDeviceFinalTotal" type="number" value="${Utils.format(finalBean.costPurchaseDeviceFinalTotal,'0')}" required title="购买设备决算总额"></td>
|
<td><input name="costPurchaseDeviceFinalTotal" type="number" value="${Utils.format(finalBean.costPurchaseDeviceFinalTotal,'0')}" required title="购买设备决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>成本</td>
|
<td>成本</td>
|
||||||
<td>采购成本</td>
|
<td>采购成本</td>
|
||||||
<td>施工</td>
|
<td>施工</td>
|
||||||
<td><input name="costPurchaseBuildEstimateTotal" type="number" value="${Utils.format(estimateBean.costPurchaseBuildTaxExclude,'0')}" readonly required title="施工采购成本概算总额"></td>
|
<td><input name="costPurchaseBuildTaxExclude" 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="costPurchaseBuildTaxExclude" type="number" value="${Utils.format(budgetBean.costPurchaseBuildTaxExclude,'0')}" readonly required title="施工采购成本预算总额"></td>
|
||||||
<td><input name="costPurchaseBuildSettleTotal" type="number" readonly required title="施工采购成本结算总额"></td>
|
<td><input type="number" readonly required title="施工采购成本结算总额"></td>
|
||||||
<td><input name="costPurchaseBuildFinalTotal" type="number" value="${Utils.format(finalBean.costPurchaseBuildFinalTotal,'0')}" required title="施工采购成本决算总额"></td>
|
<td><input name="costPurchaseBuildFinalTotal" type="number" value="${Utils.format(finalBean.costPurchaseBuildFinalTotal,'0')}" required title="施工采购成本决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>成本</td>
|
<td>成本</td>
|
||||||
<td>采购成本</td>
|
<td>采购成本</td>
|
||||||
<td>服务</td>
|
<td>服务</td>
|
||||||
<td><input name="costPurchaseServiceEstimateTotal" type="number" value="${Utils.format(estimateBean.costPurchaseServiceTaxExclude,'0')}" readonly required title="服务采购成本概算总额"></td>
|
<td><input name="costPurchaseServiceTaxExclude" 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="costPurchaseServiceTaxExclude" type="number" value="${Utils.format(budgetBean.costPurchaseServiceTaxExclude,'0')}" readonly required title="服务采购成本预算总额"></td>
|
||||||
<td><input name="costPurchaseServiceSettleTotal" type="number" readonly required title="服务采购成本结算总额"></td>
|
<td><input type="number" readonly required title="服务采购成本结算总额"></td>
|
||||||
<td><input name="costPurchaseServiceFinalTotal" type="number" value="${Utils.format(finalBean.costPurchaseServiceFinalTotal,'0')}" required title="服务采购成本决算总额"></td>
|
<td><input name="costPurchaseServiceFinalTotal" type="number" value="${Utils.format(finalBean.costPurchaseServiceFinalTotal,'0')}" required title="服务采购成本决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>成本</td>
|
<td>成本</td>
|
||||||
<td>采购成本</td>
|
<td>采购成本</td>
|
||||||
<td>其他</td>
|
<td>其他</td>
|
||||||
<td><input name="costPurchaseOtherEstimateTotal" type="number" value="${Utils.format(estimateBean.costPurchaseOtherTaxInclude,'0')}" readonly required title="其他采购成本概算总额"></td>
|
<td><input name="costPurchaseOtherTaxInclude" type="number" value="${Utils.format(estimateBean.costPurchaseOtherTaxInclude,'0')}" readonly required title="其他采购成本概算总额"></td>
|
||||||
<td><input name="costPurchaseOtherBudgetTotal" type="number" value="${Utils.format(budgetBean.costPurchaseOtherTaxInclude,'0')}" readonly required title="其他采购成本预算总额"></td>
|
<td><input name="costPurchaseOtherTaxInclude" type="number" value="${Utils.format(budgetBean.costPurchaseOtherTaxInclude,'0')}" readonly required title="其他采购成本预算总额"></td>
|
||||||
<td><input name="costPurchaseOtherSettleTotal" type="number" readonly required title="其他采购成本结算总额"></td>
|
<td><input name="costPurchaseOtherSettleTotal" type="number" readonly required title="其他采购成本结算总额"></td>
|
||||||
<td><input name="costPurchaseOtherFinalTotal" type="number" value="${Utils.format(finalBean.costPurchaseOtherFinalTotal,'0')}" required title="其他采购成本决算总额"></td>
|
<td><input name="costPurchaseOtherFinalTotal" type="number" value="${Utils.format(finalBean.costPurchaseOtherFinalTotal,'0')}" required title="其他采购成本决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -131,8 +131,8 @@
|
||||||
<td>成本</td>
|
<td>成本</td>
|
||||||
<td>项目管理成本</td>
|
<td>项目管理成本</td>
|
||||||
<td>项目管理成本</td>
|
<td>项目管理成本</td>
|
||||||
<td><input name="costProjectManageEstimateTotal" type="number" value="${Utils.format(estimateBean.costProjectManageTaxExclude,'0')}" readonly required title="项目管理成本概算总额"></td>
|
<td><input name="costProjectManageTaxExclude" 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="costProjectManageTaxExclude" type="number" value="${Utils.format(budgetBean.costProjectManageTaxExclude,'0')}" readonly required title="项目管理成本预算总额"></td>
|
||||||
<td><input name="costProjectManageSettleTotal" type="number" readonly required title="项目管理成本结算总额"></td>
|
<td><input name="costProjectManageSettleTotal" type="number" readonly required title="项目管理成本结算总额"></td>
|
||||||
<td><input name="costProjectManageFinalTotal" type="number" value="${Utils.format(finalBean.costProjectManageFinalTotal,'0')}" required title="项目管理成本决算总额"></td>
|
<td><input name="costProjectManageFinalTotal" type="number" value="${Utils.format(finalBean.costProjectManageFinalTotal,'0')}" required title="项目管理成本决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -140,8 +140,8 @@
|
||||||
<td>成本</td>
|
<td>成本</td>
|
||||||
<td>其他</td>
|
<td>其他</td>
|
||||||
<td>其他</td>
|
<td>其他</td>
|
||||||
<td><input name="costOtherEstimateTotal" type="number" value="${Utils.format(estimateBean.costOtherOtherTaxExclude,'0')}" readonly required title="其他成本概算总额"></td>
|
<td><input name="costOtherOtherTaxExclude" 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="costOtherOtherTaxExclude" type="number" value="${Utils.format(budgetBean.costOtherOtherTaxExclude,'0')}" readonly required title="其他成本预算总额"></td>
|
||||||
<td><input name="costOtherSettleTotal" type="number" type="number"readonly required title="其他成本结算总额"></td>
|
<td><input name="costOtherSettleTotal" type="number" type="number"readonly required title="其他成本结算总额"></td>
|
||||||
<td><input name="costOtherFinalTotal" type="number" value="${Utils.format(finalBean.costOtherFinalTotal,'0')}" required title="其他成本决算总额"></td>
|
<td><input name="costOtherFinalTotal" type="number" value="${Utils.format(finalBean.costOtherFinalTotal,'0')}" required title="其他成本决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -149,8 +149,8 @@
|
||||||
<td>合计</td>
|
<td>合计</td>
|
||||||
<td></td>
|
<td></td>
|
||||||
<td></td>
|
<td></td>
|
||||||
<td><input name="costEstimateTotal" value="${Utils.format(estimateBean.getIncomeTotalTaxExclude(),'0')}" type="number" readonly required title="此列累计"></td>
|
<td><input name="incomeTotalTaxExclude" value="${Utils.format(estimateBean.getIncomeTotalTaxExclude(),'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="costTotalTaxExclude" value="${Utils.format(budgetBean.getCostTotalTaxExclude(),'0')}" type="number" readonly required title="此列累计"></td>
|
||||||
<td><input name="costSettleTotal" type="number" readonly required title="此列累计"></td>
|
<td><input name="costSettleTotal" type="number" readonly required title="此列累计"></td>
|
||||||
<td><input name="costFinalTotal" type="number" readonly required title="此列累计"></td>
|
<td><input name="costFinalTotal" type="number" readonly required title="此列累计"></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
@ -170,17 +170,17 @@
|
||||||
<tr>
|
<tr>
|
||||||
<td>财务费用</td>
|
<td>财务费用</td>
|
||||||
<td>资金占用成本</td>
|
<td>资金占用成本</td>
|
||||||
<td><input name="costExpropriationEstimateTotal" type="number" value="${Utils.format(estimateBean.costExpropriationTaxExclude,'0')}" required readonly title="资金占用成本概算总额"></td>
|
<td><input name="costExpropriationTaxExclude" 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="costExpropriationTaxExclude" type="number" value="${Utils.format(budgetBean.costExpropriationTaxExclude,'0')}" required readonly title="资金占用成本预算总额"></td>
|
||||||
<td><input name="costExpropriationSettleTotal" type="number" required readonly title="资金占用成本结算总额"></td>
|
<td><input type="number" required readonly title="资金占用成本结算总额"></td>
|
||||||
<td><input name="costExpropriationFinalTotal" type="number" value="${Utils.format(finalBean.costExpropriationFinalTotal,'0')}" required title="资金占用成本决算总额"></td>
|
<td><input name="costExpropriationFinalTotal" type="number" value="${Utils.format(finalBean.costExpropriationFinalTotal,'0')}" required title="资金占用成本决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>公司管理费用</td>
|
<td>公司管理费用</td>
|
||||||
<td></td>
|
<td></td>
|
||||||
<td><input name="costCompanyManageEstimateTotal" type="number" value="${Utils.format(estimateBean.costCompanyManageTaxExclude,'0')}" required readonly title="公司管理费用概算总额"></td>
|
<td><input name="costCompanyManageTaxExclude" 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="costCompanyManageTaxExclude" type="number" value="${Utils.format(budgetBean.costCompanyManageTaxExclude,'0')}" required readonly title="公司管理费用预算总额"></td>
|
||||||
<td><input name="costCompanyManageSettleTotal" type="number" required readonly title="公司管理费用结算总额"></td>
|
<td><input type="number" required readonly title="公司管理费用结算总额"></td>
|
||||||
<td><input name="costCompanyManageFinalTotal" type="number" value="${Utils.format(finalBean.costCompanyManageFinalTotal,'0')}" required title="公司管理费用决算总额"></td>
|
<td><input name="costCompanyManageFinalTotal" type="number" value="${Utils.format(finalBean.costCompanyManageFinalTotal,'0')}" required title="公司管理费用决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
|
@ -215,23 +215,23 @@
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>项目毛利</td>
|
<td>项目毛利</td>
|
||||||
<td><input name="grossProfitEstimateTotal" type="number" value="${Utils.format(finalBean.grossProfitEstimateTotal,'0')}" readonly required title="项目毛利概算总额"></td>
|
<td><input name="projectGrossProfit" type="number" value="${Utils.format(estimateBean.getProjectGrossProfit(),'0')}" readonly required title="项目毛利概算总额"></td>
|
||||||
<td><input name="grossProfitBudgetTotal" type="number" value="${Utils.format(finalBean.grossProfitBudgetTotal,'0')}" readonly required title="项目毛利预算总额"></td>
|
<td><input name="projectGrossProfit" type="number" value="${Utils.format(budgetBean.getProjectGrossProfit(),'0')}" readonly required title="项目毛利预算总额"></td>
|
||||||
<td><input name="grossProfitSettleTotal" type="number" value="${Utils.format(finalBean.grossProfitSettleTotal,'0')}" readonly required title="项目毛利结算总额"></td>
|
<td><input name="grossProfitSettleTotal" type="number" value="${Utils.format(finalBean.grossProfitSettleTotal,'0')}" readonly required title="项目毛利结算总额"></td>
|
||||||
<td><input name="grossProfitFinalTotal" type="number" value="${Utils.format(finalBean.grossProfitFinalTotal,'0')}" required title="项目毛利决算总额"></td>
|
<td><input name="grossProfitFinalTotal" type="number" value="${Utils.format(finalBean.grossProfitFinalTotal,'0')}" required title="项目毛利决算总额"></td>
|
||||||
<td><input name="grossProfitProfitMargin" type="number" value="${Utils.format(finalBean.grossProfitProfitMargin,'0')}" required readonly title="项目毛利利润率"></td>
|
<td><input name="grossProfitProfitMargin" type="number" value="${Utils.format(finalBean.grossProfitProfitMargin,'0')}" required readonly title="项目毛利利润率"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>项目贡献利润</td>
|
<td>项目贡献利润</td>
|
||||||
<td><input name="contributionMarginEstimateTotal" type="number" value="${Utils.format(finalBean.contributionMarginEstimateTotal,'0')}" readonly required title="项目贡献利润概算总额"></td>
|
<td><input name="projectContributionProfit" type="number" value="${Utils.format(estimateBean.getProjectContributionProfit(),'0')}" readonly required title="项目贡献利润概算总额"></td>
|
||||||
<td><input name="contributionMarginBudgetTotal" type="number" value="${Utils.format(finalBean.contributionMarginBudgetTotal,'0')}" readonly required title="项目贡献利润预算总额"></td>
|
<td><input name="projectContributionProfit" type="number" value="${Utils.format(budgetBean.getProjectContributionProfit(),'0')}" readonly required title="项目贡献利润预算总额"></td>
|
||||||
<td><input name="contributionMarginSettleTotal" type="number" value="${Utils.format(finalBean.contributionMarginSettleTotal,'0')}" readonly required title="项目贡献利润结算总额"></td>
|
<td><input name="contributionMarginSettleTotal" type="number" value="${Utils.format(finalBean.contributionMarginSettleTotal,'0')}" readonly required title="项目贡献利润结算总额"></td>
|
||||||
<td><input name="contributionMarginFinalTotal" type="number" value="${Utils.format(finalBean.contributionMarginFinalTotal,'0')}" required title="项目贡献利润决算总额"></td>
|
<td><input name="contributionMarginFinalTotal" type="number" value="${Utils.format(finalBean.contributionMarginFinalTotal,'0')}" required title="项目贡献利润决算总额"></td>
|
||||||
<td><input name="contributionMarginProfitMargin" type="number" value="${Utils.format(finalBean.contributionMarginProfitMargin,'0')}" required readonly title="项目贡献利润利润率"></td>
|
<td><input name="contributionMarginProfitMargin" type="number" value="${Utils.format(finalBean.contributionMarginProfitMargin,'0')}" required readonly title="项目贡献利润利润率"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>项目净利润</td>
|
<td>项目净利润</td>
|
||||||
<td><input name="netMarginEstimateTotal" type="number" value="${Utils.format(finalBean.netMarginEstimateTotal,'0')}" readonly required title="项目净利润概算总额"></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(finalBean.netMarginBudgetTotal,'0')}" readonly required title="项目净利润预算总额"></td>
|
||||||
<td><input name="netMarginSettleTotal" type="number" value="${Utils.format(finalBean.netMarginSettleTotal,'0')}" readonly required title="项目净利润结算总额"></td>
|
<td><input name="netMarginSettleTotal" type="number" value="${Utils.format(finalBean.netMarginSettleTotal,'0')}" readonly required title="项目净利润结算总额"></td>
|
||||||
<td><input name="netMarginFinalTotal" type="number" value="${Utils.format(finalBean.netMarginFinalTotal,'0')}" required title="项目净利润决算总额"></td>
|
<td><input name="netMarginFinalTotal" type="number" value="${Utils.format(finalBean.netMarginFinalTotal,'0')}" required title="项目净利润决算总额"></td>
|
||||||
|
@ -251,85 +251,85 @@
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>销售商品、提供劳务收到的现金</td>
|
<td>销售商品、提供劳务收到的现金</td>
|
||||||
<td><input name="type1BudgetTotal" type="number" value="${Utils.format(cashFlowBean.saleIncomeCash,'0')}" readonly required title="预算总额"></td>
|
<td><input name="budgetSaleIncomeCash" type="number" value="${Utils.format(cashFlowBean.saleIncomeCash,'0')}" readonly required title="预算总额"></td>
|
||||||
<td><input name="type1SettleTotal" type="number" readonly required title="结算总额"></td>
|
<td><input type="number" readonly required title="结算总额"></td>
|
||||||
<td><input name="saleIncomeCash" type="number" value="${Utils.format(finalBean.saleIncomeCash,'0')}" required title="决算总额"></td>
|
<td><input name="saleIncomeCash" type="number" value="${Utils.format(finalBean.saleIncomeCash,'0')}" required title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>收到的税费返还</td>
|
<td>收到的税费返还</td>
|
||||||
<td>/</td>
|
<td>/</td>
|
||||||
<td><input name="type2SettleTotal" type="number" value="${Utils.format(cashFlowBean.taxReturn,'0')}" readonly required title="结算总额"></td>
|
<td><input type="number" readonly required title="结算总额"></td>
|
||||||
<td><input name="taxReturn" type="number" value="${Utils.format(finalBean.taxReturn,'0')}" required title="决算总额"></td>
|
<td><input name="taxReturn" type="number" value="${Utils.format(finalBean.taxReturn,'0')}" required title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>收到其他与经营活动有关的现金</td>
|
<td>收到其他与经营活动有关的现金</td>
|
||||||
<td><input name="type3BudgetTotal" type="number" value="${Utils.format(cashFlowBean.earnestMoneyIncome,'0')}" readonly required title="预算总额"></td>
|
<td><input name="budgetEarnestMoneyIncome" type="number" value="${Utils.format(cashFlowBean.earnestMoneyIncome,'0')}" readonly required title="预算总额"></td>
|
||||||
<td><input name="type3SettleTotal" type="number" readonly required title="结算总额"></td>
|
<td><input type="number" readonly required title="结算总额"></td>
|
||||||
<td><input name="earnestMoneyIncome" type="number" value="${Utils.format(finalBean.earnestMoneyIncome,'0')}" required title="决算总额"></td>
|
<td><input name="earnestMoneyIncome" type="number" value="${Utils.format(finalBean.earnestMoneyIncome,'0')}" required title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>购买商品、接受劳务支付的现金</td>
|
<td>购买商品、接受劳务支付的现金</td>
|
||||||
<td><input name="type4BudgetTotal" type="number" value="${Utils.format(cashFlowBean.purchaseCost,'0')}" readonly required title="预算总额"></td>
|
<td><input name="budgetPurchaseCost" type="number" value="${Utils.format(cashFlowBean.purchaseCost,'0')}" readonly required title="预算总额"></td>
|
||||||
<td><input name="type4SettleTotal" type="number" readonly required title="结算总额"></td>
|
<td><input type="number" readonly required title="结算总额"></td>
|
||||||
<td><input name="purchaseCost" type="number" value="${Utils.format(finalBean.purchaseCost,'0')}" required title="决算总额"></td>
|
<td><input name="purchaseCost" type="number" value="${Utils.format(finalBean.purchaseCost,'0')}" required title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>支付的各项税费</td>
|
<td>支付的各项税费</td>
|
||||||
<td>/</td>
|
<td>/</td>
|
||||||
<td><input name="type5SettleTotal" type="number" value="${Utils.format(finalBean.type5SettleTotal,'0')}" readonly required title="结算总额"></td>
|
<td><input type="number" readonly required title="结算总额"></td>
|
||||||
<td><input name="taxCost" type="number" value="${Utils.format(finalBean.taxCost,'0')}" required title="决算总额"></td>
|
<td><input name="taxCost" type="number" value="${Utils.format(finalBean.taxCost,'0')}" required title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>支付其他与经营活动有关的现金</td>
|
<td>支付其他与经营活动有关的现金</td>
|
||||||
<td><input name="type6BudgetTotal" type="number" value="${Utils.format(cashFlowBean.earnestMoneyCost,'0')}" readonly required title="预算总额"></td>
|
<td><input name="budgetEarnestMoneyCost" type="number" value="${Utils.format(cashFlowBean.earnestMoneyCost,'0')}" readonly required title="预算总额"></td>
|
||||||
<td><input name="type6SettleTotal" type="number" readonly required title="结算总额"></td>
|
<td><input type="number" readonly required title="结算总额"></td>
|
||||||
<td><input name="earnestMoneyCost" type="number" value="${Utils.format(finalBean.earnestMoneyCost,'0')}" required title="决算总额"></td>
|
<td><input name="earnestMoneyCost" type="number" value="${Utils.format(finalBean.earnestMoneyCost,'0')}" required title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>经营活动产生的现金流量净额</td>
|
<td>经营活动产生的现金流量净额</td>
|
||||||
<td><input name="type7BudgetTotal" type="number" value="${Utils.format(cashFlowBean.getNetCashFlow(),'0')}" readonly required title="预算总额"></td>
|
<td><input name="budgetNetCashFlow" type="number" value="${Utils.format(cashFlowBean.getNetCashFlow(),'0')}" readonly required title="预算总额"></td>
|
||||||
<td><input name="type7SettleTotal" type="number" readonly required title="结算总额"></td>
|
<td><input type="number" readonly required title="结算总额"></td>
|
||||||
<td><input name="netCashFlow" type="number" value="${Utils.format(finalBean.netCashFlow,'0')}" required title="决算总额"></td>
|
<td><input name="netCashFlow" type="number" value="${Utils.format(finalBean.netCashFlow,'0')}" required title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>投资活动现金流入</td>
|
<td>投资活动现金流入</td>
|
||||||
<td>/</td>
|
<td>/</td>
|
||||||
<td><input name="type8SettleTotal" type="number" readonly required title="结算总额"></td>
|
<td><input type="number" readonly required title="结算总额"></td>
|
||||||
<td><input name="cashInflowFromInvestingActivities" value="${Utils.format(finalBean.cashInflowFromInvestingActivities,'0')}" type="number" required title="决算总额"></td>
|
<td><input name="cashInflowFromInvestingActivities" value="${Utils.format(finalBean.cashInflowFromInvestingActivities,'0')}" type="number" required title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>投资活动现金流出</td>
|
<td>投资活动现金流出</td>
|
||||||
<td>/</td>
|
<td>/</td>
|
||||||
<td><input name="type9SettleTotal" type="number" value="${Utils.format(finalBean.type9SettleTotal,'0')}" readonly required title="结算总额"></td>
|
<td><input type="number" readonly required title="结算总额"></td>
|
||||||
<td><input name="cashOutflowFromInvestingActivities" type="number" value="${Utils.format(finalBean.cashOutflowFromInvestingActivities,'0')}" required title="决算总额"></td>
|
<td><input name="cashOutflowFromInvestingActivities" type="number" value="${Utils.format(finalBean.cashOutflowFromInvestingActivities,'0')}" required title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>投资活动产生的现金流量净额</td>
|
<td>投资活动产生的现金流量净额</td>
|
||||||
<td>/</td>
|
<td>/</td>
|
||||||
<td><input name="type10SettleTotal" type="number" value="${Utils.format(finalBean.type10SettleTotal,'0')}" readonly required title="结算总额"></td>
|
<td><input type="number" readonly required title="结算总额"></td>
|
||||||
<td><input name="netCashFromInvestingActivities" type="number" value="${Utils.format(finalBean.netCashFromInvestingActivities,'0')}" required title="决算总额"></td>
|
<td><input name="netCashFromInvestingActivities" type="number" value="${Utils.format(finalBean.netCashFromInvestingActivities,'0')}" required title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>融资资金流入</td>
|
<td>融资资金流入</td>
|
||||||
<td><input name="type11BudgetTotal" type="number" value="${Utils.format(cashFlowBean.financingCapitalInflow,'0')}" readonly required title="预算总额"></td>
|
<td><input name="budgetFinancingCapitalInflow" type="number" value="${Utils.format(cashFlowBean.financingCapitalInflow,'0')}" readonly required title="预算总额"></td>
|
||||||
<td><input name="type11SettleTotal" type="number" value="${Utils.format(finalBean.type11SettleTotal,'0')}" readonly required title="结算总额"></td>
|
<td><input type="number" readonly required title="结算总额"></td>
|
||||||
<td><input name="financingCapitalInflow" type="number" value="${Utils.format(finalBean.financingCapitalInflow,'0')}" required title="决算总额"></td>
|
<td><input name="financingCapitalInflow" type="number" value="${Utils.format(finalBean.financingCapitalInflow,'0')}" required title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>还款资金流出</td>
|
<td>还款资金流出</td>
|
||||||
<td><input name="type12BudgetTotal" type="number" value="${Utils.format(cashFlowBean.financingCapitalOutflow,'0')}" readonly required title="预算总额"></td>
|
<td><input name="budgetFinancingCapitalOutflow" type="number" value="${Utils.format(cashFlowBean.financingCapitalOutflow,'0')}" readonly required title="预算总额"></td>
|
||||||
<td><input name="type12SettleTotal" type="number" value="${Utils.format(finalBean.type12SettleTotal,'0')}" readonly required title="结算总额"></td>
|
<td><input type="number" readonly required title="结算总额"></td>
|
||||||
<td><input name="financingCapitalOutflow" type="number" value="${Utils.format(finalBean.financingCapitalOutflow,'0')}" required title="决算总额"></td>
|
<td><input name="financingCapitalOutflow" type="number" value="${Utils.format(finalBean.financingCapitalOutflow,'0')}" required title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>筹资活动产生的现金流量净额</td>
|
<td>筹资活动产生的现金流量净额</td>
|
||||||
<td><input name="type13BudgetTotal" type="number" value="${Utils.format(cashFlowBean.getFinancingCapitalCashflow(),'0')}" readonly required title="预算总额"></td>
|
<td><input name="budgetFinancingCapitalCashflow" type="number" value="${Utils.format(cashFlowBean.getFinancingCapitalCashflow(),'0')}" readonly required title="预算总额"></td>
|
||||||
<td><input name="type13SettleTotal" type="number" value="${Utils.format(finalBean.type13SettleTotal,'0')}" readonly required title="结算总额"></td>
|
<td><input type="number" readonly required title="结算总额"></td>
|
||||||
<td><input name="financingCapitalCashflow" type="number" value="${Utils.format(finalBean.financingCapitalCashflow,'0')}" required title="决算总额"></td>
|
<td><input name="financingCapitalCashflow" type="number" value="${Utils.format(finalBean.financingCapitalCashflow,'0')}" required title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>货币资金净增加额</td>
|
<td>货币资金净增加额</td>
|
||||||
<td><input name="type14BudgetTotal" type="number" value="${Utils.format(cashFlowBean.getNetIncreaseMonetaryFunds(),'0')}" readonly required title="预算总额"></td>
|
<td><input name="budgetNetIncreaseMonetaryFunds" type="number" value="${Utils.format(cashFlowBean.getNetIncreaseMonetaryFunds(),'0')}" readonly required title="预算总额"></td>
|
||||||
<td><input name="type14SettleTotal" type="number" value="${Utils.format(finalBean.type14SettleTotal,'0')}" readonly required title="结算总额"></td>
|
<td><input name="type14SettleTotal" type="number" value="${Utils.format(finalBean.type14SettleTotal,'0')}" readonly required title="结算总额"></td>
|
||||||
<td><input name="netIncreaseMonetaryFunds" type="number" value="${Utils.format(finalBean.netIncreaseMonetaryFunds,'0')}" required title="决算总额"></td>
|
<td><input name="netIncreaseMonetaryFunds" type="number" value="${Utils.format(finalBean.netIncreaseMonetaryFunds,'0')}" required title="决算总额"></td>
|
||||||
</tr>
|
</tr>
|
||||||
|
|
|
@ -229,6 +229,13 @@
|
||||||
onclick="location.href='${base}/project/approve?id=${list.id}'"><span
|
onclick="location.href='${base}/project/approve?id=${list.id}'"><span
|
||||||
class="am-icon-pencil-square-o"></span>审核
|
class="am-icon-pencil-square-o"></span>审核
|
||||||
</button>
|
</button>
|
||||||
|
|
||||||
|
<button type="button"
|
||||||
|
class="am-btn am-btn-default am-btn-xs am-text-secondary"
|
||||||
|
onclick="location.href='${base}/project/taskRecords/${list.id?c}'"><span
|
||||||
|
class="am-icon-pencil-square-o"></span>查看审核流程
|
||||||
|
</button>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
|
|
|
@ -0,0 +1,82 @@
|
||||||
|
<#assign base=request.contextPath />
|
||||||
|
<#import "../common/defaultLayout.ftl" as defaultLayout>
|
||||||
|
<@defaultLayout.layout>
|
||||||
|
<link rel="stylesheet" type="text/css" href="${base}/common/css/time-axis.css">
|
||||||
|
<div class="admin-content">
|
||||||
|
<div class="am-cf am-padding" style="padding:1rem 1.6rem 1.6rem 1rem;margin:0px;">
|
||||||
|
<!-- padding:1px 2px 3px 4px;上、右、下,和左 -->
|
||||||
|
<div class="am-fl am-cf"><strong class="am-text-primary am-text-lg">项目管理</strong> /
|
||||||
|
<small>审核流程</small>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<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>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<div class="am-tabs-bd">
|
||||||
|
<div class="am-tab-panel am-fade am-in am-active" id="tab1">
|
||||||
|
<div class="main">
|
||||||
|
<ul class="time-axis">
|
||||||
|
<#if list?exists >
|
||||||
|
|
||||||
|
<#list list as node>
|
||||||
|
<li class="time-axis-item">
|
||||||
|
<div class="time-axis-date" style="margin-left: -96px"> ${node.createTime}
|
||||||
|
<span></span>
|
||||||
|
</div>
|
||||||
|
<div class="time-axis-title"> ${node.roleName}-${node.assigneeName}:
|
||||||
|
<#if node.taskStatus==2>审批通过</#if>
|
||||||
|
<#if node.taskStatus==3>审批不通过</#if>
|
||||||
|
</div>
|
||||||
|
<div class="time-axis-title">
|
||||||
|
${node.taskComment}
|
||||||
|
</div>
|
||||||
|
</li>
|
||||||
|
</#list>
|
||||||
|
<#else>
|
||||||
|
<div class="am-kai" align="center">
|
||||||
|
<h3>没有找到任何记录!</h3>
|
||||||
|
</div>
|
||||||
|
</#if>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="am-tabs-bd">
|
||||||
|
<div class="am-tab-panel am-fade am-in" id="tab2">
|
||||||
|
<img id="img" name="img" style="width: 950px" src="${base}/project/procInsPng/${projectId}">
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
|
||||||
|
|
||||||
|
<div class="am-margin">
|
||||||
|
<button type="button" class="am-btn am-btn-warning am-btn-xs" onclick="javascript:history.go(-1);">
|
||||||
|
返回上一级
|
||||||
|
</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</@defaultLayout.layout>
|
||||||
|
|
||||||
|
<script type="text/javascript" src="${base}/assets/js/jquery-3.4.1.min.js"></script>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue