REQ-3502: 过滤流程按钮

This commit is contained in:
yanglin 2025-01-14 18:54:24 +08:00
parent 24ef0f7663
commit 22b518ac64

View File

@ -4,6 +4,7 @@ import cn.axzo.msg.center.domain.entity.Todo;
import cn.axzo.msg.center.message.service.card.interceptor.CardButtonInterceptor;
import cn.axzo.msg.center.service.ButtonV3;
import cn.axzo.msg.center.service.enums.BizFinalStateEnum;
import cn.axzo.msg.center.service.enums.ButtonStyleEnum;
import cn.axzo.msg.center.service.enums.PendingMessageStateEnum;
import cn.axzo.msg.center.service.enums.RouterButtonSourceEnum;
import cn.axzo.msg.center.utils.desision.DecisionValue;
@ -70,6 +71,10 @@ class WorkflowTodoCardButtonInterceptor implements CardButtonInterceptor {
// 进行中隐藏所有按钮
if (todo.getState() == PendingMessageStateEnum.PROCESSING)
return DecisionValue.decide(false);
DecisionValue<Boolean> actionPerformed = isActionPerformed(button);
// 显示失效按钮
if (actionPerformed.isDecided() && actionPerformed.getValue())
return DecisionValue.decide(button.getStyles().contains(ButtonStyleEnum.OVER_CARD));
if (getWorkflowHideButtonKeys().contains(button.getCode()))
return DecisionValue.decide(false);
if (button.getSource() == RouterButtonSourceEnum.CUSTOM)