From 3f31cc5986788b1e5a79ebe31a8a28eeb351155c Mon Sep 17 00:00:00 2001 From: pengqiang Date: Wed, 17 Nov 2021 11:46:11 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=93=E7=AE=97=E5=AE=A1=E6=89=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../backend/ProjectSettleController.java | 12 ++++++- .../work/service/ActTaskDefService.java | 4 ++- .../work/service/ProjectSettleService.java | 34 ++++++++++++++++--- .../templates/admin/project_settle_add.ftl | 22 ++++-------- .../templates/admin/project_settle_edit.ftl | 23 ++++--------- 5 files changed, 57 insertions(+), 38 deletions(-) diff --git a/src/main/java/cn/palmte/work/controller/backend/ProjectSettleController.java b/src/main/java/cn/palmte/work/controller/backend/ProjectSettleController.java index fec35ec..261609f 100644 --- a/src/main/java/cn/palmte/work/controller/backend/ProjectSettleController.java +++ b/src/main/java/cn/palmte/work/controller/backend/ProjectSettleController.java @@ -77,8 +77,18 @@ public class ProjectSettleController extends BaseController{ return "redirect:/project/list"; } + /** + * 保存并提交审批 + * @param project + * @param settleBean + * @param budgetBean + * @param estimateBean + * @param time + * @return + * @throws Exception + */ @RequestMapping("/saveAndApprove") - public String saveAndApprove(Project project, SettleBean settleBean, BudgetSettleBean budgetBean, EstimateSettleBean estimateBean, String time) { + public String saveAndApprove(Project project, SettleBean settleBean, BudgetSettleBean budgetBean, EstimateSettleBean estimateBean, String time) throws Exception{ projectSettleService.saveAndApprove(project, settleBean, budgetBean, estimateBean, time); return "redirect:/project/list"; } diff --git a/src/main/java/cn/palmte/work/service/ActTaskDefService.java b/src/main/java/cn/palmte/work/service/ActTaskDefService.java index a69c463..78c58a2 100644 --- a/src/main/java/cn/palmte/work/service/ActTaskDefService.java +++ b/src/main/java/cn/palmte/work/service/ActTaskDefService.java @@ -196,12 +196,14 @@ public class ActTaskDefService { */ private void updateProjectPassed(ProcessInstance processInstance, ActTaskDef actTaskDef, String procDefKey) { int projectId = Integer.parseInt(processInstance.getBusinessKey()); - if (ActConstant.PROCESS_DEFKEY_FINAL.equals(procDefKey)) { + if (ActConstant.PROCESS_DEFKEY_SETTLE.equals(procDefKey)) { + //结算流程 财务总监审批完流程结束 if ("财务总监".equals(actTaskDef.getTaskName())) { logger.info("updateProjectPassed1 projectId:{}, proDefKey:{}", projectId, procDefKey); projectInstanceService.updateApproveStatus(projectId, procDefKey, ApproveStatusEnum.APPROVAL_PASSED); } } else { + //其余流程 执行董事审批完流程结束 if ("执行董事".equals(actTaskDef.getTaskName())) { logger.info("updateProjectPassed2 projectId:{}, proDefKey:{}", projectId, procDefKey); projectInstanceService.updateApproveStatus(projectId, procDefKey, ApproveStatusEnum.APPROVAL_PASSED); diff --git a/src/main/java/cn/palmte/work/service/ProjectSettleService.java b/src/main/java/cn/palmte/work/service/ProjectSettleService.java index ec33140..d3b687e 100644 --- a/src/main/java/cn/palmte/work/service/ProjectSettleService.java +++ b/src/main/java/cn/palmte/work/service/ProjectSettleService.java @@ -1,10 +1,8 @@ package cn.palmte.work.service; -import cn.palmte.work.bean.BudgetSettleBean; -import cn.palmte.work.bean.EstimateSettleBean; -import cn.palmte.work.bean.FormerBean; -import cn.palmte.work.bean.SettleBean; +import cn.palmte.work.bean.*; import cn.palmte.work.model.*; +import cn.palmte.work.utils.InterfaceUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -12,6 +10,7 @@ import org.springframework.stereotype.Service; import top.jfunc.common.utils.CollectionUtil; import java.math.BigDecimal; +import java.util.Date; import java.util.List; /** @@ -37,6 +36,12 @@ public class ProjectSettleService { @Autowired private ProjectSettleCashFlowRepository projectSettleCashFlowRepository; + @Autowired + private ProjectInstanceService projectInstanceService; + + @Autowired + private ProjectRepository projectRepository; + public void save(Project project, SettleBean settleBean, BudgetSettleBean budgetBean, EstimateSettleBean estimateBean, String time) { //收入记录 @@ -49,9 +54,17 @@ public class ProjectSettleService { profit(project, settleBean, budgetBean, estimateBean, time); //资金流量记录 cashFlow(project, settleBean, budgetBean, time); + + + Project one = projectRepository.findOne(project.getId()); + one.setStatus(StatusEnum.SETTLE_ACCOUNTS.getStatus()); + one.setStatusDesc(StatusEnum.SETTLE_ACCOUNTS.getStatusDesc()); + one.setApproveStatusSettle(ApproveStatusEnum.APPROVAL_UNCOMMIT.getApproveStatus()); + one.setLastUpdateTime(new Date()); + projectRepository.saveAndFlush(one); } - public void saveAndApprove(Project project, SettleBean settleBean, BudgetSettleBean budgetBean, EstimateSettleBean estimateBean, String time) { + public void saveAndApprove(Project project, SettleBean settleBean, BudgetSettleBean budgetBean, EstimateSettleBean estimateBean, String time) throws Exception{ //收入记录 income(project, settleBean, budgetBean, estimateBean, time); //成本记录 @@ -62,6 +75,17 @@ public class ProjectSettleService { profit(project, settleBean, budgetBean, estimateBean, time); //资金流量记录 cashFlow(project, settleBean, budgetBean, time); + + Project one = projectRepository.findOne(project.getId()); + one.setStatus(StatusEnum.SETTLE_ACCOUNTS.getStatus()); + one.setStatusDesc(StatusEnum.SETTLE_ACCOUNTS.getStatusDesc()); + one.setApproveStatusSettle(ApproveStatusEnum.APPROVAL_PENDING.getApproveStatus()); + one.setLastUpdateTime(new Date()); + projectRepository.saveAndFlush(one); + + //发起结算流程 + projectInstanceService.startSettleProcessInstance(project, InterfaceUtil.getAdmin()); + } diff --git a/src/main/resources/templates/admin/project_settle_add.ftl b/src/main/resources/templates/admin/project_settle_add.ftl index 09592a1..5f48284 100644 --- a/src/main/resources/templates/admin/project_settle_add.ftl +++ b/src/main/resources/templates/admin/project_settle_add.ftl @@ -397,6 +397,7 @@
+
@@ -430,22 +431,13 @@ $("#pmsForm").attr("action","${base}/project/settle/save"); $("#pmsForm").submit(); }); + + $("#saveApprove").click(function () { + $("#pmsForm").attr("action",base+"/project/settle/saveAndApprove"); + $("#pmsForm").submit(); + }); + }); - - - - - - - - - - - - - - - diff --git a/src/main/resources/templates/admin/project_settle_edit.ftl b/src/main/resources/templates/admin/project_settle_edit.ftl index 5215ecd..e95b335 100644 --- a/src/main/resources/templates/admin/project_settle_edit.ftl +++ b/src/main/resources/templates/admin/project_settle_edit.ftl @@ -388,6 +388,7 @@
+
@@ -405,22 +406,12 @@ $("#pmsForm").attr("action","${base}/project/settle/save"); $("#pmsForm").submit(); }); + + $("#saveApprove").click(function () { + $("#pmsForm").attr("action",base+"/project/settle/saveAndApprove"); + $("#pmsForm").submit(); + }); }); - - - - - - - - - - - - - - - - + \ No newline at end of file