From c9433fab340a766a99b2c01ca018609cac407cee Mon Sep 17 00:00:00 2001
From: yangys <y_ys79@sina.com>
Date: 星期日, 24 八月 2025 15:17:29 +0800
Subject: [PATCH] 偏离单文件名+P1
---
blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowMgrController.java | 81 +++++++++++++++++++++++++++++++++-------
1 files changed, 67 insertions(+), 14 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
index bfd6ab9..69c095d 100644
--- 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
@@ -5,37 +5,38 @@
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
+import jakarta.mail.MessagingException;
import jakarta.servlet.http.HttpServletResponse;
import lombok.extern.slf4j.Slf4j;
import org.flowable.engine.HistoryService;
-import org.flowable.engine.RuntimeService;
import org.flowable.engine.TaskService;
import org.flowable.engine.task.Comment;
import org.flowable.task.api.history.HistoricTaskInstance;
import org.springblade.core.excel.util.ExcelUtil;
-import org.springblade.core.log.exception.ServiceException;
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.utils.DateUtil;
-import org.springblade.mdm.basesetting.machine.vo.MachineExcelVO;
-import org.springblade.mdm.commons.vo.IdsVO;
-import org.springblade.mdm.flow.service.ApproveRecordService;
+import org.springblade.core.tool.utils.Func;
import org.springblade.mdm.flow.service.ApproveTableService;
import org.springblade.mdm.flow.service.FlowBusinessService;
+import org.springblade.mdm.flow.service.WIthdrawService;
import org.springblade.mdm.flow.vo.FlowVO;
import org.springblade.mdm.flow.vo.OvertimeTaskExcelVO;
import org.springblade.mdm.flow.vo.TaskTraceVO;
+import org.springblade.system.feign.IUserClient;
+import org.springblade.system.pojo.entity.User;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.format.annotation.DateTimeFormat;
import org.springframework.web.bind.annotation.*;
import java.io.IOException;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.time.LocalDate;
+import java.time.LocalDateTime;
import java.util.ArrayList;
-import java.util.Collections;
import java.util.List;
@Slf4j
@@ -51,9 +52,12 @@
@Autowired
private HistoryService historyService;
@Autowired
- private RuntimeService runtimeService;
- @Autowired
private ApproveTableService approveTableService;
+ @Autowired
+ private IUserClient userClient;
+ @Autowired
+ private WIthdrawService withdrawService;
+
@GetMapping("overtime-list")
@ApiOperationSupport(order = 3)
@@ -83,9 +87,22 @@
}
- @Operation(summary = "娴佺▼鎵ц杞ㄨ抗", description = "娴佺▼鎵ц杞ㄨ抗")
+ @Operation(summary = "娴佺▼鎵ц杞ㄨ抗", description = "娴佺▼鎵ц杞ㄨ抗/瀹℃壒璁板綍")
@GetMapping("process-trace")
public R<List<TaskTraceVO>> processTrace(String processInstanceId){
+ /*
+ List<ApproveRecord> records = approveRecordService.lambdaQuery().eq(ApproveRecord::getProcessInstanceId,processInstanceId).orderByAsc(ApproveRecord::getCreateTime).list();
+ List<TaskTraceVO> result = new ArrayList<>();
+
+ for (ApproveRecord record : records) {
+ TaskTraceVO vo = new TaskTraceVO();
+ vo.setComment(record.getComment());
+ vo.setCreateTime(record.getCreateTime());
+ vo.setAssigneeName(record.getUserNickname());
+
+ //vo.setEndTime();
+ }*/
+
List<TaskTraceVO> result = new ArrayList<>();
List<HistoricTaskInstance> hisTasks = historyService.createHistoricTaskInstanceQuery()
.processInstanceId(processInstanceId).orderByTaskCreateTime().desc().list();
@@ -98,6 +115,14 @@
if(!comments.isEmpty()) {
vo.setComment(comments.get(0).getFullMessage());
}
+
+ vo.setTaskName(hisTask.getName());
+
+ R<User> assigneeObj = userClient.userInfoById(Func.toLong(hisTask.getAssignee()));
+ if(assigneeObj.isSuccess()) {
+ vo.setAssigneeName(assigneeObj.getData().getName());
+ }
+
result.add(vo);
}
@@ -107,16 +132,32 @@
@GetMapping("search-list")
@ApiOperationSupport(order = 3)
@Operation(summary = "娴佺▼鏌ヨ", description = "鏌ヨ杩涜涓殑鎵�鏈夋祦绋�")
- public R<IPage<FlowVO>> overtimeList(@Parameter(description = "浠诲姟鍒拌揪鏃堕棿寮�濮�") LocalDate createTimeBegin, @Parameter(description = "浠诲姟鍒拌揪鏃堕棿鎴")LocalDate createTimeEnd, @Parameter(description = "鍏抽敭瀛�") String keyword, Query query) {
- IPage<FlowVO> pages = businessService.selectSearchPage(Condition.getPage(query), createTimeBegin,createTimeEnd,keyword);
+ public R<IPage<FlowVO>> searchList(@Parameter(description = "娴佺▼鍚嶇О")String myProcessName, @Parameter(description = "娴佺▼鏃堕棿寮�濮�") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")LocalDate createTimeBegin, @Parameter(description = "娴佺▼鍒涘缓鏃堕棿鎴")@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")LocalDate createTimeEnd, @Parameter(description = "鍏抽敭瀛�") String keyword, Query query) {
+ IPage<FlowVO> pages = businessService.selectSearchPage(Condition.getPage(query),myProcessName,keyword, createTimeBegin,createTimeEnd);
+ return R.data(pages);
+ }
+
+ @GetMapping("finished-list")
+ @ApiOperationSupport(order = 3)
+ @Operation(summary = "鍘嗗彶娴佺▼鏌ヨ", description = "鏌ヨ宸插畬缁撶殑鎵�鏈夋祦绋�")
+ public R<IPage<FlowVO>> finishedList(@Parameter(description = "娴佺▼鍚嶇О")String myProcessName, @Parameter(description = "娴佺▼鍒涘缓鏃堕棿寮�濮�") LocalDateTime createTimeBegin, @Parameter(description = "娴佺▼鍒涘缓鏃堕棿鎴") LocalDateTime createTimeEnd, @Parameter(description = "鍏抽敭瀛�") String keyword, Query query) {
+ IPage<FlowVO> pages = businessService.selectFinishedPage(Condition.getPage(query), myProcessName,keyword,createTimeBegin,createTimeEnd);
+ return R.data(pages);
+ }
+
+ @GetMapping("exception-list")
+ @ApiOperationSupport(order = 3)
+ @Operation(summary = "寮傚父娴佺▼鏌ヨ", description = "鏌ヨ宸插畬缁撶殑锛屽紓甯告祦绋�")
+ public R<IPage<FlowVO>> exceptionList(@Parameter(description = "娴佺▼鍚嶇О")String myProcessName, @Parameter(description = "娴佺▼鍒涘缓鏃堕棿寮�濮�") LocalDateTime createTimeBegin, @Parameter(description = "娴佺▼鍒涘缓鏃堕棿鎴") LocalDateTime createTimeEnd, @Parameter(description = "鍏抽敭瀛�") String keyword, Query query) {
+ IPage<FlowVO> pages = businessService.selectExceptionPage(Condition.getPage(query), myProcessName,keyword,createTimeBegin,createTimeEnd);
return R.data(pages);
}
@PostMapping("delete-instance")
@Operation(summary = "娴佺▼鍒犻櫎", description = "鍒犻櫎id鎸囧畾鐨勬祦绋嬪疄渚�")
- public R<Void> deleteInstance(@Parameter(description = "浠诲姟鍒拌揪鏃堕棿寮�濮�") String processInstancesId) {
+ public R<Void> deleteInstance(@Parameter(description = "浠诲姟鍒拌揪鏃堕棿寮�濮�") String processInstanceId) {
try {
- businessService.deleteProcessInstance(processInstancesId);
+ businessService.deleteProcessInstance(processInstanceId);
} catch (Exception e) {
log.error("鍒犻櫎娴佺▼澶辫触",e);
@@ -137,9 +178,21 @@
response.setContentType("application/octet-stream");
approveTableService.exportApproveTable(processInstanceId,response.getOutputStream());
} catch (Exception e) {
- log.error("瀵煎嚭DNC寮傚父", e);
+ log.error("瀵煎嚭瀹℃壒琛ㄥ紓甯�", e);
throw new RuntimeException(e);
}
}
+
+ @GetMapping("/withdraw")
+ @Operation(summary = "鎾ゅ洖浠诲姟", description = "浠庡叾浠栦换鍔¤妭鐐圭洿鎺ユ挙鍥炵紪绋嬪憳鑺傜偣")
+ public R<Void> withdraw(String processInstanceId) {
+ try {
+ withdrawService.withdraw(processInstanceId);
+ return R.success();
+ }catch(Exception e) {
+ log.error("<UNK>", e);
+ return R.fail(e.getMessage());
+ }
+ }
}
--
Gitblit v1.9.3