diff --git a/src/main/java/cn/palmte/work/model/ProjectBudget.java b/src/main/java/cn/palmte/work/model/ProjectBudget.java index b6a4305..1cef3b3 100644 --- a/src/main/java/cn/palmte/work/model/ProjectBudget.java +++ b/src/main/java/cn/palmte/work/model/ProjectBudget.java @@ -258,6 +258,16 @@ public class ProjectBudget { @Transient private String advancePeakAmountRoundBudget; + @Transient + private String approveRemark; + + public String getApproveRemark() { + return approveRemark; + } + + public void setApproveRemark(String approveRemark) { + this.approveRemark = approveRemark; + } public String getCostDetailAttrName() { return costDetailAttrName; diff --git a/src/main/java/cn/palmte/work/service/ActProcInsService.java b/src/main/java/cn/palmte/work/service/ActProcInsService.java index d9d8c92..27c26c4 100644 --- a/src/main/java/cn/palmte/work/service/ActProcInsService.java +++ b/src/main/java/cn/palmte/work/service/ActProcInsService.java @@ -101,6 +101,10 @@ public class ActProcInsService { String taskId = task.getId(); String comment = "提交" + processDefinition.getName(); + Object message = variables.get("message"); + if (message != null && StringUtils.isNotEmpty(message.toString())) { + comment = comment+"-"+message; + } Authentication.setAuthenticatedUserId(adminId); taskService.addComment(taskId, procInsId, comment); diff --git a/src/main/java/cn/palmte/work/service/ProjectBudgetService.java b/src/main/java/cn/palmte/work/service/ProjectBudgetService.java index bb852fa..b7fa8dc 100644 --- a/src/main/java/cn/palmte/work/service/ProjectBudgetService.java +++ b/src/main/java/cn/palmte/work/service/ProjectBudgetService.java @@ -1053,11 +1053,14 @@ public class ProjectBudgetService { saveProjectExtend(projectInDb); - budgetApprove(approveStatusBudget, projectInDb, admin); + Map paramMap = new HashMap() {{ + put("message", projectBudget.getApproveRemark()); + }}; + budgetApprove(approveStatusBudget, projectInDb, admin,paramMap); } - public void budgetApprove(Integer approveStatusBudget, Project projectInDb, Admin admin) throws Exception { - projectInstanceService.startFourcalProcess(projectInDb, ActProcessKeyEnum.BUDGET); + public void budgetApprove(Integer approveStatusBudget, Project projectInDb, Admin admin,Map paramMap) throws Exception { + projectInstanceService.startFourcalProcess(projectInDb, ActProcessKeyEnum.BUDGET,paramMap); // int type = projectInDb.getType(); // List userIds = new ArrayList<>(); // if (type == 1) { diff --git a/src/main/java/cn/palmte/work/service/ProjectInstanceService.java b/src/main/java/cn/palmte/work/service/ProjectInstanceService.java index dac4f71..f2c003f 100644 --- a/src/main/java/cn/palmte/work/service/ProjectInstanceService.java +++ b/src/main/java/cn/palmte/work/service/ProjectInstanceService.java @@ -102,7 +102,14 @@ public class ProjectInstanceService { * @throws Exception */ public void startFourcalProcess(Project project, ActProcessKeyEnum keyEnum) throws Exception { + startFourcalProcess(project, keyEnum, null); + } + + public void startFourcalProcess(Project project, ActProcessKeyEnum keyEnum, Map paramMap) throws Exception { HashMap variables = new HashMap<>(); + if (paramMap != null) { + variables.putAll(paramMap); + } variables.put(ActConstant.KEY_PROJECT_TYPE, project.getType()); ProjectBudget firstByProjectId = projectBudgetRepository.findFirstByProjectId(project.getId()); variables.put(ActConstant.KEY_RESOLVE_PLAN_SYNERGY, firstByProjectId.getResolvePlanSynergy()); diff --git a/src/main/java/cn/palmte/work/service/ProjectService.java b/src/main/java/cn/palmte/work/service/ProjectService.java index 7b11c96..d826b4a 100644 --- a/src/main/java/cn/palmte/work/service/ProjectService.java +++ b/src/main/java/cn/palmte/work/service/ProjectService.java @@ -830,7 +830,7 @@ public class ProjectService { } else if (project.getApproveStatusBudget() == ApproveStatusEnum.APPROVAL_UNCOMMIT.getApproveStatus()) { Integer approveStatusBudget = project.getApproveStatusBudget(); - projectBudgetService.budgetApprove(approveStatusBudget, project, admin); + projectBudgetService.budgetApprove(approveStatusBudget, project, admin,null); project.setApproveStatusBudget(ApproveStatusEnum.APPROVAL_PENDING.getApproveStatus()); } else if (project.getApproveStatusSettle() == ApproveStatusEnum.APPROVAL_UNCOMMIT.getApproveStatus()) { projectInstanceService.startFourcalProcess(project, ActProcessKeyEnum.SETTLE); diff --git a/src/main/resources/static/assets/js/project_budget.js b/src/main/resources/static/assets/js/project_budget.js index a1a37b3..b53bafc 100644 --- a/src/main/resources/static/assets/js/project_budget.js +++ b/src/main/resources/static/assets/js/project_budget.js @@ -249,6 +249,25 @@ $(function () { $("#pmsForm").submit(); + }); + $("#saveApprovePre").click(async function () { + const _that=this + $('#my-message-modal').modal({ + relatedTarget: this, + closeOnConfirm: false, + onConfirm: function (e) { + let val = $('#approve-remark').val().trim(); + if (!val && val.length<=0){ + parent.layer.msg("备注必填"); + return + } + $('#my-message-modal').modal('close') + $("#saveApprove").click() + }, + onCancel: function (e) { + $('#my-message-modal').modal('close') + } + }); }); $("#saveApprove").click(async function () { $("#saveApprove").attr('disabled', true); diff --git a/src/main/resources/templates/admin/project_budget_edit.ftl b/src/main/resources/templates/admin/project_budget_edit.ftl index 1569ff2..71229e1 100644 --- a/src/main/resources/templates/admin/project_budget_edit.ftl +++ b/src/main/resources/templates/admin/project_budget_edit.ftl @@ -522,10 +522,11 @@ @@ -2302,14 +2303,37 @@ +
+
+ + +
+
- + + <#--
--> <#--
--> <#--
--> @@ -2321,7 +2345,7 @@ - +