From 34981c30a78e8bbd7791131059a9210f9928b62c Mon Sep 17 00:00:00 2001
From: 刘光辉 <347230014@qq.com>
Date: 星期四, 17 九月 2026 09:24:09 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master' into master

---
 jnpf-flowable/jnpf-flowable-biz/src/main/java/jnpf/flowable/service/OperatorService.java |  230 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 230 insertions(+), 0 deletions(-)

diff --git a/jnpf-flowable/jnpf-flowable-biz/src/main/java/jnpf/flowable/service/OperatorService.java b/jnpf-flowable/jnpf-flowable-biz/src/main/java/jnpf/flowable/service/OperatorService.java
new file mode 100644
index 0000000..70a341e
--- /dev/null
+++ b/jnpf-flowable/jnpf-flowable-biz/src/main/java/jnpf/flowable/service/OperatorService.java
@@ -0,0 +1,230 @@
+package jnpf.flowable.service;
+
+import jnpf.base.Pagination;
+import jnpf.base.service.SuperService;
+import jnpf.exception.WorkFlowException;
+import jnpf.flowable.entity.OperatorEntity;
+import jnpf.flowable.model.candidates.CandidateCheckVo;
+import jnpf.flowable.model.candidates.CandidateUserVo;
+import jnpf.flowable.model.operator.FlowBatchModel;
+import jnpf.flowable.model.operator.OperatorVo;
+import jnpf.flowable.model.task.FlowModel;
+import jnpf.flowable.model.task.TaskPagination;
+import jnpf.flowable.model.templatenode.BackNodeModel;
+import jnpf.model.FlowWorkListVO;
+import jnpf.permission.model.user.WorkHandoverModel;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 绫荤殑鎻忚堪
+ *
+ * @author JNPF@YinMai Info. Co., Ltd
+ * @version 5.0.x
+ * @since 2024/4/18 15:29
+ */
+public interface OperatorService extends SuperService<OperatorEntity> {
+
+    /**
+     * 缁忓姙瀹炰綋
+     *
+     * @param id 缁忓姙涓婚敭
+     */
+    OperatorEntity getInfo(String id) throws WorkFlowException;
+
+    /**
+     * 鍒楄〃
+     *
+     * @param taskId 浠诲姟涓婚敭
+     */
+    List<OperatorEntity> getList(String taskId);
+
+    /**
+     * 鍒楄〃
+     *
+     * @param pagination 鍙傛暟
+     */
+    List<OperatorVo> getList(TaskPagination pagination);
+
+    /**
+     * 澶勭悊缁忓姙
+     *
+     * @param flowModel 鍙傛暟
+     */
+    List<OperatorEntity> handleOperator(FlowModel flowModel) throws WorkFlowException;
+
+    /**
+     * 鍚屾剰
+     *
+     * @param id        缁忓姙涓婚敭
+     * @param flowModel 鍙傛暟
+     */
+    void auditWithCheck(String id, FlowModel flowModel) throws WorkFlowException;
+
+    /**
+     * 鍚屾剰
+     *
+     * @param id        缁忓姙涓婚敭
+     * @param flowModel 鍙傛暟
+     */
+    void audit(String id, FlowModel flowModel) throws WorkFlowException;
+
+    /**
+     * 鍚屾剰锛堝彂璧锋椂鑷姩閫氳繃锛�
+     *
+     * @param operator  缁忓姙瀹炰綋
+     * @param flowModel 鍙傛暟
+     */
+    void audit(OperatorEntity operator, FlowModel flowModel) throws WorkFlowException;
+
+    /**
+     * 绛炬敹
+     *
+     * @param flowModel 鍙傛暟锛宨ds 銆乼ype 0 绛炬敹 1 閫�绛�
+     */
+    void sign(FlowModel flowModel) throws WorkFlowException;
+
+    /**
+     * 寮�濮嬪姙鐞�
+     *
+     * @param flowModel 鍙傛暟锛宨ds
+     */
+    void startHandle(FlowModel flowModel) throws WorkFlowException;
+
+    /**
+     * 鏆傚瓨
+     *
+     * @param id        缁忓姙涓婚敭
+     * @param flowModel 鍙傛暟
+     */
+    void saveAudit(String id, FlowModel flowModel) throws WorkFlowException;
+
+    /**
+     * 鍔犵
+     *
+     * @param id        缁忓姙涓婚敭
+     * @param flowModel 鍙傛暟
+     */
+    void addSign(String id, FlowModel flowModel) throws WorkFlowException;
+
+    /**
+     * 鑾峰彇鍔犵鐨勪汉
+     *
+     * @param id         缁忓姙涓婚敭
+     * @param pagination 鍙傛暟
+     */
+    List<CandidateUserVo> getReduceList(String id, Pagination pagination) throws WorkFlowException;
+
+    /**
+     * 鍑忕
+     *
+     * @param id        璁板綍涓婚敭
+     * @param flowModel 鍙傛暟
+     */
+    void reduce(String id, FlowModel flowModel) throws WorkFlowException;
+
+    /**
+     * 鑾峰彇閫�鍥炵殑鑺傜偣
+     *
+     * @param id 缁忓姙涓婚敭
+     */
+    List<BackNodeModel> getFallbacks(String id) throws WorkFlowException;
+
+    /**
+     * 閫�鍥�
+     *
+     * @param id        缁忓姙涓婚敭
+     * @param flowModel 鍙傛暟
+     */
+    void back(String id, FlowModel flowModel) throws WorkFlowException;
+
+    /**
+     * 鎾ゅ洖
+     *
+     * @param id        璁板綍涓婚敭
+     * @param flowModel 鍙傛暟
+     */
+    void recall(String id, FlowModel flowModel) throws WorkFlowException;
+
+    /**
+     * 杞
+     *
+     * @param id        缁忓姙涓婚敭
+     * @param flowModel 鍙傛暟
+     */
+    void transfer(String id, FlowModel flowModel) throws WorkFlowException;
+
+    /**
+     * 鍗忓姙
+     *
+     * @param id        缁忓姙涓婚敭
+     * @param flowModel 鍙傛暟
+     */
+    void assist(String id, FlowModel flowModel) throws WorkFlowException;
+
+    /**
+     * 鍗忓姙淇濆瓨
+     *
+     * @param id        缁忓姙涓婚敭
+     * @param flowModel 鍙傛暟
+     */
+    void assistSave(String id, FlowModel flowModel) throws WorkFlowException;
+
+    /**
+     * 鎵归噺瀹℃壒娴佺▼鍒嗙被鍒楄〃
+     */
+    List<FlowBatchModel> batchFlowSelector();
+
+    /**
+     * 鎵归噺瀹℃壒娴佺▼鐗堟湰鍒楄〃
+     *
+     * @param templateId 娴佺▼瀹氫箟涓婚敭
+     */
+    List<FlowBatchModel> batchVersionSelector(String templateId);
+
+    /**
+     * 鎵归噺瀹℃壒鑺傜偣鍒楄〃
+     *
+     * @param flowId 娴佺▼瀹氫箟鐗堟湰涓婚敭
+     */
+    List<FlowBatchModel> batchNodeSelector(String flowId);
+
+    /**
+     * 鎵归噺瀹℃壒鑺傜偣灞炴��
+     *
+     * @param flowModel 鍙傛暟
+     */
+    Map<String, Object> batchNode(FlowModel flowModel) throws WorkFlowException;
+
+    /**
+     * 鎵归噺瀹℃壒鑾峰彇鍊欓�変汉
+     *
+     * @param flowId     鐗堟湰涓婚敭
+     * @param operatorId 缁忓姙涓婚敭
+     * @param batchType  绫诲瀷锛�0.鍚屾剰  1.鎷掔粷
+     */
+    CandidateCheckVo batchCandidates(String flowId, String operatorId, Integer batchType) throws WorkFlowException;
+
+    /**
+     * 鎵归噺瀹℃壒
+     *
+     * @param flowModel 鍙傛暟
+     */
+    void batch(FlowModel flowModel) throws WorkFlowException;
+
+    /**
+     * 娴佺▼浜ゆ帴
+     *
+     * @param fromId 绉讳氦浜�
+     */
+    FlowWorkListVO flowWork(String fromId);
+
+    /**
+     * 娴佺▼浜ゆ帴
+     *
+     * @param workHandoverModel 鍙傛暟
+     */
+    boolean flowWork(WorkHandoverModel workHandoverModel);
+
+}

--
Gitblit v1.8.0