From 7b114dbaeb560bd2f1fb0e50ad3f8add74f39d52 Mon Sep 17 00:00:00 2001 From: zhouhefeng Date: Thu, 20 Nov 2025 11:02:13 +0800 Subject: [PATCH] commit --- .../ProposalCommitteeFilingController.java | 51 ++++++++++--------- ...ProposalCommitteeFilingUnitController.java | 24 +++++---- .../ProposalUnderTakeReplyController.java | 21 +++++--- .../common/ProposalCommonServiceImpl.java | 15 ++++-- .../zhgh/democratic/proposal/common/info.js | 21 ++++++++ .../transact/committeeFilingUnit/index.html | 5 +- 6 files changed, 90 insertions(+), 47 deletions(-) diff --git a/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/transact/ProposalCommitteeFilingController.java b/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/transact/ProposalCommitteeFilingController.java index 16e306d..71a6d06 100644 --- a/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/transact/ProposalCommitteeFilingController.java +++ b/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/transact/ProposalCommitteeFilingController.java @@ -153,39 +153,40 @@ public class ProposalCommitteeFilingController { @SaCheckPermission("proposal.committeeFiling") @ApiOperation("并案撤回") @Aop(TransAop.READ_COMMITTED) - public Result revokeTask(@Valid String taskId) { + public Result revokeTask(@Valid Long taskId) { ProcessTask processTask = dao.fetch(ProcessTask.class, Cnd.where(ProcessTask::getId, "=", taskId)); NutMap json = Json.fromJson(NutMap.class, processTask.getVariable()); List proposalIds = json.getList("proposalIds", String.class); + if (!proposalIds.isEmpty()){ + dao.clear(ProposalMerge.class, Cnd.where(ProposalMerge::getProposalId, "in", proposalIds)); + List processTaskIds = json.getList("processTaskIds", String.class); + processTaskIds.forEach(processTaskId -> { + // 自己任务 + ProcessTask selfTask = dao.fetch(ProcessTask.class, Cnd.where(ProcessTask::getId, "=", processTaskId)); + selfTask.setTaskState(ProcessTaskStateEnum.DOING.getCode()); - dao.clear(ProposalMerge.class, Cnd.where(ProposalMerge::getProposalId, "in", proposalIds)); + // 撤销任务 + List taskList = dao.query(ProcessTask.class, Cnd.where(ProcessTask::getTaskParentId, "=", processTaskId)); + for (ProcessTask task : taskList) { + task.setTaskState(ProcessTaskStateEnum.WITHDRAW.getCode()); + dao.update(task); + } + // 激活 + dao.update(selfTask); + // 流程激活 + dao.update(ProcessInstance.class, Chain.make("state", ProcessInstanceStateEnum.DOING.getCode()), Cnd.where(ProcessInstance::getId, "=", selfTask.getProcessInstanceId())); - List processTaskIds = json.getList("processTaskIds", String.class); - processTaskIds.forEach(processTaskId -> { - // 自己任务 - ProcessTask selfTask = dao.fetch(ProcessTask.class, Cnd.where(ProcessTask::getId, "=", processTaskId)); - selfTask.setTaskState(ProcessTaskStateEnum.DOING.getCode()); - - // 撤销任务 - List taskList = dao.query(ProcessTask.class, Cnd.where(ProcessTask::getTaskParentId, "=", processTaskId)); - for (ProcessTask task : taskList) { - task.setTaskState(ProcessTaskStateEnum.WITHDRAW.getCode()); - dao.update(task); - } - // 激活 - dao.update(selfTask); - - // 流程激活 - dao.update(ProcessInstance.class, Chain.make("state", ProcessInstanceStateEnum.DOING.getCode()), Cnd.where(ProcessInstance::getId, "=", selfTask.getProcessInstanceId())); - - // 发送任务撤回事件 确保上面执行成功 - for (ProcessTask task : taskList) { - ProcessPublisher.notify(ProcessEvent.builder().eventType(ProcessEventTypeEnum.PROCESS_TASK_REVOKE).sourceId(task.getId()).build()); - } - }); + // 发送任务撤回事件 确保上面执行成功 + for (ProcessTask task : taskList) { + ProcessPublisher.notify(ProcessEvent.builder().eventType(ProcessEventTypeEnum.PROCESS_TASK_REVOKE).sourceId(task.getId()).build()); + } + }); + }else{ + flowCommonService.revokeTask(taskId); + } return Result.success(); } diff --git a/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/transact/ProposalCommitteeFilingUnitController.java b/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/transact/ProposalCommitteeFilingUnitController.java index 0e00af5..27d691e 100644 --- a/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/transact/ProposalCommitteeFilingUnitController.java +++ b/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/transact/ProposalCommitteeFilingUnitController.java @@ -231,23 +231,29 @@ public class ProposalCommitteeFilingUnitController { @At @SaCheckPermission("proposal.committeeFilingUnit") - @ApiOperation("并案撤回") + @ApiOperation("撤回") @Aop(TransAop.READ_COMMITTED) - public Result revokeTask(@Valid String taskId) { + public Result revokeTask(@Valid Long taskId, String proposalId) { ProcessTask processTask = dao.fetch(ProcessTask.class, Cnd.where(ProcessTask::getId, "=", taskId)); NutMap json = Json.fromJson(NutMap.class, processTask.getVariable()); List proposalIds = json.getList("proposalIds", String.class); + if (!proposalIds.isEmpty()) { + List list = dao.query(ProcessInstance.class, Cnd.where(ProcessInstance::getBusinessNo, "in", proposalIds)); + List list1 = list.stream().map(ProcessInstance::getId).toList(); + for (Long id : list1) { + ProcessTask task = dao.fetch(ProcessTask.class, Cnd.where(ProcessTask::getProcessInstanceId, "=", id).and(ProcessTask::getTaskState, "=", 20).limit(1).desc(ProcessTask::getId)); + flowCommonService.revokeTask(task.getId()); + } + dao.update(ProposalInfo.class, Chain.make("caseFilingResult", null), Cnd.where(ProposalInfo::getId, "in", proposalIds)); + } else { + flowCommonService.revokeTask(taskId); + dao.update(ProposalInfo.class, Chain.make("caseFilingResult", null), Cnd.where(ProposalInfo::getId, "=", proposalId)); - List list = dao.query(ProcessInstance.class, Cnd.where(ProcessInstance::getBusinessNo, "in", proposalIds)); - List list1 = list.stream().map(ProcessInstance::getId).toList(); - - for (Long id : list1) { - ProcessTask task = dao.fetch(ProcessTask.class, Cnd.where(ProcessTask::getProcessInstanceId, "=", id).and(ProcessTask::getTaskState,"=", 20).limit(1).desc(ProcessTask::getId)); - flowCommonService.revokeTask(task.getId()); } - dao.update(ProposalInfo.class, Chain.make("caseFilingResult", null), Cnd.where(ProposalInfo::getId, "in", proposalIds)); + + return Result.success(); } diff --git a/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/transact/ProposalUnderTakeReplyController.java b/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/transact/ProposalUnderTakeReplyController.java index 79d38d8..09db504 100644 --- a/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/transact/ProposalUnderTakeReplyController.java +++ b/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/transact/ProposalUnderTakeReplyController.java @@ -105,7 +105,7 @@ public class ProposalUnderTakeReplyController { t.variable taskVariable, IFNULL(GROUP_CONCAT(DISTINCT nt.displayName),'结束') curTaskName, IFNULL(GROUP_CONCAT(DISTINCT nt.taskName),'结束') curTaskKey, - IF(rt.id IS NOT NULL, 1, 0) AS canRevoke, + CASE WHEN t.taskState = 20 AND ( rt.id IS NOT NULL OR rt.taskState = 10 ) THEN 1 ELSE 0 END AS canRevoke, t.variable->>'$.underTakeName' AS underTakeName, IF(JSON_EXTRACT(t.variable, '$.underTakeIsMaster') = true, 1, 0) AS underTakeIsMaster, t.variable->>'$.tf_transferUserId' AS tf_transferUserId, @@ -243,17 +243,22 @@ public class ProposalUnderTakeReplyController { @SaCheckPermission("proposal.unitReply") @ApiOperation("并案撤回") @Aop(TransAop.READ_COMMITTED) - public Result revokeTask(@Valid String taskId, String proposalId) { + public Result revokeTask(@Valid Long taskId, String proposalId) { List proposalIds = proposalCommonService.mergeProposal(proposalId); + if (ObjectUtil.isNotEmpty(proposalIds)){ + List list = dao.query(ProcessInstance.class, Cnd.where(ProcessInstance::getBusinessNo, "in", proposalIds)); + List list1 = list.stream().map(ProcessInstance::getId).toList(); - List list = dao.query(ProcessInstance.class, Cnd.where(ProcessInstance::getBusinessNo, "in", proposalIds)); - List list1 = list.stream().map(ProcessInstance::getId).toList(); - - for (Long id : list1) { - ProcessTask task = dao.fetch(ProcessTask.class, Cnd.where(ProcessTask::getProcessInstanceId, "=", id).and(ProcessTask::getTaskState,"=", 20).limit(1).desc(ProcessTask::getId)); - flowCommonService.revokeTask(task.getId()); + for (Long id : list1) { + ProcessTask task = dao.fetch(ProcessTask.class, Cnd.where(ProcessTask::getProcessInstanceId, "=", id).and(ProcessTask::getTaskState,"=", 20).limit(1).desc(ProcessTask::getId)); + flowCommonService.revokeTask(task.getId()); + } + }else{ + flowCommonService.revokeTask(taskId); } + + return Result.success(); } diff --git a/src/main/java/com/budwk/app/zhgh/democratic/proposal/service/common/ProposalCommonServiceImpl.java b/src/main/java/com/budwk/app/zhgh/democratic/proposal/service/common/ProposalCommonServiceImpl.java index 586fab3..d0a6904 100644 --- a/src/main/java/com/budwk/app/zhgh/democratic/proposal/service/common/ProposalCommonServiceImpl.java +++ b/src/main/java/com/budwk/app/zhgh/democratic/proposal/service/common/ProposalCommonServiceImpl.java @@ -23,12 +23,10 @@ import com.budwk.app.sys.models.Sys_user; import com.budwk.app.sys.models.Sys_user_role; import com.budwk.app.sys.services.SysDictService; import com.budwk.app.sys.services.SysRoleService; +import com.budwk.app.web.commons.auth.utils.AuthUtil; import com.budwk.app.web.commons.auth.utils.SecurityUtil; import com.budwk.app.web.commons.base.Globals; -import com.budwk.app.zhgh.democratic.proposal.models.ProposalConsolidation; -import com.budwk.app.zhgh.democratic.proposal.models.ProposalInfo; -import com.budwk.app.zhgh.democratic.proposal.models.ProposalMerge; -import com.budwk.app.zhgh.democratic.proposal.models.ProposalUndertake; +import com.budwk.app.zhgh.democratic.proposal.models.*; import com.budwk.app.zhgh.democratic.teachercongress.prepare.models.Teacher_congress_session; import com.deepoove.poi.XWPFTemplate; import com.deepoove.poi.config.Configure; @@ -143,6 +141,15 @@ public class ProposalCommonServiceImpl extends BaseServiceImpl imp List commissionerOpinions = listMap(commissionerSql); info.put("commissionerOpinions", commissionerOpinions); + Cnd cnd = Cnd.NEW(); + cnd.and(ProposalUndertakeSuggestion::getProposalId, "=", id); + if (!AuthUtil.hasRole(RoleConstant.SYSADMIN.name())) { + cnd.and(ProposalUndertakeSuggestion::getUnitId, "=", getSelfManageUndertake().getId()); + } + cnd.desc(ProposalUndertakeSuggestion::getTime); + List undertakeSuggestions = dao().query(ProposalUndertakeSuggestion.class, cnd); + info.put("undertakeSuggestions", undertakeSuggestions); + return info; } diff --git a/src/main/resources/views/platform/zhgh/democratic/proposal/common/info.js b/src/main/resources/views/platform/zhgh/democratic/proposal/common/info.js index 09a3330..282754b 100644 --- a/src/main/resources/views/platform/zhgh/democratic/proposal/common/info.js +++ b/src/main/resources/views/platform/zhgh/democratic/proposal/common/info.js @@ -100,6 +100,27 @@ const PROPOSAL_INFO = { + + +
diff --git a/src/main/resources/views/platform/zhgh/democratic/proposal/transact/committeeFilingUnit/index.html b/src/main/resources/views/platform/zhgh/democratic/proposal/transact/committeeFilingUnit/index.html index a54d974..5309957 100644 --- a/src/main/resources/views/platform/zhgh/democratic/proposal/transact/committeeFilingUnit/index.html +++ b/src/main/resources/views/platform/zhgh/democratic/proposal/transact/committeeFilingUnit/index.html @@ -264,7 +264,10 @@ layout("/layouts/platform.html"){ cancelButtonText: "取消", type: "info" }).then(() => { - this.$axios.post("/platform/proposal/committeeFilingUnit/revokeTask", {taskId: row.taskId}).then((res) => { + this.$axios.post("/platform/proposal/committeeFilingUnit/revokeTask", { + taskId: row.taskId, + proposalId: row.proposalId + }).then((res) => { if (res.code === 0) { this.$message.success(res.msg) this.doSearch()