From 5d1d506c8d40df787981ce4b9a70af2a8da74138 Mon Sep 17 00:00:00 2001
From: "@jyuhsin" <729757837@qq.com>
Date: Tue, 13 Jan 2026 17:53:18 +0800
Subject: [PATCH 1/3] commit
---
.../zhgh/democratic/proposal/transact/seconded/index.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main/resources/views/platform/zhgh/democratic/proposal/transact/seconded/index.html b/src/main/resources/views/platform/zhgh/democratic/proposal/transact/seconded/index.html
index fd5d061..b3c6e7a 100644
--- a/src/main/resources/views/platform/zhgh/democratic/proposal/transact/seconded/index.html
+++ b/src/main/resources/views/platform/zhgh/democratic/proposal/transact/seconded/index.html
@@ -79,7 +79,7 @@ layout("/layouts/platform.html"){
取消
- 不同意
+ 不同意
同意
From aa4e56458fd5b079bb47893c671d33ebf2b40db5 Mon Sep 17 00:00:00 2001
From: = <=>
Date: Tue, 13 Jan 2026 18:26:52 +0800
Subject: [PATCH 2/3] =?UTF-8?q?bug=E6=95=B4=E6=94=B9?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../dayofficework/unionReimburse/certifierUserSign/index.html | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/src/main/resources/views/platform/zhghh5/dayofficework/unionReimburse/certifierUserSign/index.html b/src/main/resources/views/platform/zhghh5/dayofficework/unionReimburse/certifierUserSign/index.html
index fc0567f..6de5765 100644
--- a/src/main/resources/views/platform/zhghh5/dayofficework/unionReimburse/certifierUserSign/index.html
+++ b/src/main/resources/views/platform/zhghh5/dayofficework/unionReimburse/certifierUserSign/index.html
@@ -3,7 +3,7 @@ layout("/layouts/platform_h5.html"){
#-->
-
Date: Tue, 13 Jan 2026 18:51:19 +0800
Subject: [PATCH 3/3] commit
---
.../engine/handlers/impl/CountersignHandler.java | 9 ++++++++-
.../transact/ProposalMineController.java | 16 ++++++++++++++--
2 files changed, 22 insertions(+), 3 deletions(-)
diff --git a/src/main/java/com/budwk/app/flow/engine/handlers/impl/CountersignHandler.java b/src/main/java/com/budwk/app/flow/engine/handlers/impl/CountersignHandler.java
index 6d22201..de6c981 100644
--- a/src/main/java/com/budwk/app/flow/engine/handlers/impl/CountersignHandler.java
+++ b/src/main/java/com/budwk/app/flow/engine/handlers/impl/CountersignHandler.java
@@ -5,11 +5,15 @@ import cn.hutool.core.lang.Dict;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.expression.ExpressionUtil;
import com.budwk.app.flow.constant.FlowConst;
+import com.budwk.app.flow.engine.FlowEngine;
import com.budwk.app.flow.engine.core.Execution;
import com.budwk.app.flow.engine.handlers.IHandler;
import com.budwk.app.flow.engine.model.TaskModel;
+import com.budwk.app.flow.entity.ProcessTask;
import com.budwk.app.flow.enums.CountersignTypeEnum;
+import org.nutz.lang.Lang;
+import java.util.Comparator;
import java.util.List;
import java.util.stream.Collectors;
@@ -80,7 +84,7 @@ public class CountersignHandler implements IHandler {
}
if (!isMerged && CountersignTypeEnum.PARALLEL.toString().equalsIgnoreCase(countersignType)) {
// 是否所有会签任务已完成
- isMerged = execution.getEngine().processTaskService().getDoingTaskList(execution.getProcessInstanceId(), new String[]{taskModel.getName()}).size() == 0;
+ boolean finished = execution.getEngine().processTaskService().getDoingTaskList(execution.getProcessInstanceId(), new String[]{taskModel.getName()}).size() == 0;
if (!isMerged) {
// 未通过,更新已完成实例数量
Dict addVariable = Dict.create();
@@ -88,6 +92,9 @@ public class CountersignHandler implements IHandler {
addVariable.put(prefix + FlowConst.NR_OF_COMPLETED_AGREE_INSTANCES, execution.getArgs().get(prefix + FlowConst.NR_OF_COMPLETED_AGREE_INSTANCES));
execution.getEngine().processInstanceService().addVariable(execution.getProcessInstanceId(), addVariable);
}
+ if(finished) {
+ execution.getEngine().processTaskService().rejectTask(execution.getProcessModel(), execution.getProcessTask());
+ }
}
if (isMerged) {
// 获取所有会签参数键值
diff --git a/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/transact/ProposalMineController.java b/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/transact/ProposalMineController.java
index 0b273eb..fc56056 100644
--- a/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/transact/ProposalMineController.java
+++ b/src/main/java/com/budwk/app/zhgh/democratic/proposal/controller/transact/ProposalMineController.java
@@ -4,6 +4,7 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
import cn.hutool.core.lang.Dict;
import cn.hutool.core.util.StrUtil;
import cn.hutool.http.HtmlUtil;
+import cn.hutool.json.JSONUtil;
import com.budwk.app.base.annotation.SLog;
import com.budwk.app.base.page.Pagination;
import com.budwk.app.base.param.PageForm;
@@ -44,6 +45,7 @@ import org.nutz.mvc.annotation.Param;
import javax.validation.Valid;
import java.util.Date;
import java.util.List;
+import java.util.Objects;
@IocBean
@At("/platform/proposal/mine")
@@ -262,15 +264,25 @@ public class ProposalMineController {
.desc(ProcessTask::getCreatedAt));
// 已完成附议的代表
- List taskList = dao.query(ProcessTask.class, Cnd.where(ProcessTask::getProcessInstanceId, "=", processInstance.getId())
+ /*List taskList = dao.query(ProcessTask.class, Cnd.where(ProcessTask::getProcessInstanceId, "=", processInstance.getId())
.and(ProcessTask::getTaskName, "=", "second")
.and(ProcessTask::getTaskState, "in", List.of(ProcessTaskStateEnum.DOING.getCode(), ProcessTaskStateEnum.FINISHED.getCode()))
.and(ProcessTask::getId, ">", inviteTask.getId())
+ );*/
+
+ List taskList = dao.query(ProcessTask.class, Cnd.where(ProcessTask::getProcessInstanceId, "=", processInstance.getId())
+ .and(ProcessTask::getTaskName, "=", "second")
+ .and(ProcessTask::getTaskState, "in", List.of(ProcessTaskStateEnum.DOING.getCode(), ProcessTaskStateEnum.FINISHED.getCode()))
);
+ List tasks = taskList.stream().filter(o -> {
+ Dict args = JSONUtil.toBean(o.getVariable(), Dict.class);
+ return Objects.equals(args.getInt("submitType"), ProcessSubmitTypeEnum.AGREE.getCode());
+ }).toList();
+
ProposalConfig proposalConfig = dao.fetch(ProposalConfig.class, Cnd.NEW());
- if (taskList.size() + seconders.length < proposalConfig.getSeconderNum()) {
+ if (tasks.size() + seconders.length < proposalConfig.getSeconderNum()) {
return Result.error("至少邀请" + proposalConfig.getSeconderNum() + "个附议人");
}