From df63a0751de4a37a46e26bbf25feed0dd0f37e00 Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期一, 16 六月 2025 22:39:43 +0800
Subject: [PATCH] 增加超时查询接口
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/MyFlowController.java | 2
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowMgrController.java | 45 ++++++++++++++++++++++
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java | 49 ++++++++++++++++++++++++
3 files changed, 95 insertions(+), 1 deletions(-)
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowMgrController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowMgrController.java
new file mode 100644
index 0000000..9e39240
--- /dev/null
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowMgrController.java
@@ -0,0 +1,45 @@
+package org.springblade.mdm.flow.controller;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
+import io.swagger.v3.oas.annotations.Operation;
+import io.swagger.v3.oas.annotations.Parameter;
+import io.swagger.v3.oas.annotations.tags.Tag;
+import lombok.extern.slf4j.Slf4j;
+import org.flowable.engine.TaskService;
+import org.springblade.core.mp.support.Condition;
+import org.springblade.core.mp.support.Query;
+import org.springblade.core.tool.api.R;
+import org.springblade.core.tool.support.Kv;
+import org.springblade.core.tool.utils.Func;
+import org.springblade.core.tool.utils.StringUtil;
+import org.springblade.flow.core.pojo.entity.BladeFlow;
+import org.springblade.mdm.flow.service.FlowBusinessService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+@Slf4j
+@RestController
+@RequestMapping("/flow/mgr")
+@Tag(name = "娴佺▼绠$悊", description = "娴佺▼绠$悊")
+public class FlowMgrController {
+ @Autowired
+ private TaskService taskService;
+ @Autowired
+ private FlowBusinessService businessService;
+
+ /**
+ * 寰呭姙浠诲姟鍒楄〃椤�
+ */
+ @GetMapping("overtime-list")
+ @ApiOperationSupport(order = 3)
+ @Operation(summary = "瓒呮椂鏌ヨ", description = "鏌ヨ鎵�鏈夎秴鏃朵换鍔�")
+ public R<IPage<BladeFlow>> todoList(@Parameter(description = "鎵ц浜哄憳") String assigneeName, @Parameter(description = "鍏抽敭瀛�") String keyword, Query query) {
+ IPage<BladeFlow> pages = businessService.selectOvertimePage(Condition.getPage(query), assigneeName,keyword);
+ return R.data(pages);
+ }
+
+
+}
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/MyFlowController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/MyFlowController.java
index 2166277..3532570 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/MyFlowController.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/MyFlowController.java
@@ -25,7 +25,7 @@
@Slf4j
@RestController
@RequestMapping("/flow/")
-@Tag(name = "娲惧伐娴佺▼", description = "娲惧伐娴佺▼")
+@Tag(name = "鐢ㄦ埛涓汉娴佺▼", description = "鐢ㄦ埛涓汉娴佺▼")
public class MyFlowController {
@Autowired
private TaskService taskService;
diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java
index 0ab7275..d4113b7 100644
--- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java
+++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java
@@ -48,6 +48,7 @@
import org.springblade.mdm.flow.util.MdmFlowCache;
import org.springframework.stereotype.Service;
+import java.util.Date;
import java.util.LinkedList;
import java.util.List;
import java.util.Map;
@@ -382,4 +383,52 @@
page.setRecords(flowList);
return page;
}
+
+ /**
+ * 瓒呮椂浠诲姟鏌ヨ
+ * @param page
+ * @param keyword
+ * @return
+ */
+ public IPage<BladeFlow> selectOvertimePage(IPage<BladeFlow> page, String assigneeName,String keyword) {
+
+ List<BladeFlow> flowList = new LinkedList<>();
+ Date now = new Date();
+ TaskQuery todoQuery = taskService.createTaskQuery().taskDueBefore(now).active().includeProcessVariables();
+
+ if(Func.isNotEmpty(keyword)) {
+ todoQuery.taskVariableValueLike("assigneeName", "%"+assigneeName+"%");
+ }
+ if(Func.isNotEmpty(keyword)){
+ todoQuery.or();
+ keyword = "%"+keyword+"%";
+ todoQuery.processVariableValueLike("processNo",keyword);
+ todoQuery.processVariableValueLike("machineCode",keyword);
+ todoQuery.processVariableValueLike("machineMode",keyword);
+
+ todoQuery.processVariableValueLike("processName",keyword);
+ todoQuery.processVariableValueLike("processEdition",keyword);
+
+ todoQuery.processVariableValueLike("craftEdition",keyword);
+ //TODO 澶氫釜瀛楁閮借鍖归厤
+
+ todoQuery.endOr();
+ }
+
+ todoQuery.orderByTaskCreateTime().desc();
+
+ // 鏋勫缓鍒楄〃鏁版嵁
+ BladeFlow bladeFlow = new BladeFlow();
+ buildFlowTaskList(bladeFlow, flowList, todoQuery, "todo");//FlowEngineConstant.STATUS_TODO
+
+ // 璁$畻鎬绘暟
+ long count = todoQuery.count();
+ // 璁剧疆椤垫暟
+ page.setSize(count);
+ // 璁剧疆鎬绘暟
+ page.setTotal(count);
+ // 璁剧疆鏁版嵁
+ page.setRecords(flowList);
+ return page;
+ }
}
--
Gitblit v1.9.3