From 0ecd5acd3b9f320a487c68df2ea6234b4dacb12c Mon Sep 17 00:00:00 2001 From: yangys <y_ys79@sina.com> Date: 星期日, 20 七月 2025 13:24:54 +0800 Subject: [PATCH] 增加流程查询接口 --- blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/controller/FlowMgrController.java | 24 +++++++++++ blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/filewatch/ProgramBackMonitor.java | 19 +++++++++ blade-service/blade-mdm/src/main/java/org/springblade/mdm/flow/service/FlowBusinessService.java | 40 ++++++++++++++++++++ blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramExportDNCController.java | 18 +++++++++ 4 files changed, 100 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 index 39e093a..1dee81f 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 @@ -8,6 +8,7 @@ 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; @@ -43,7 +44,8 @@ @Autowired private HistoryService historyService; - + @Autowired + private RuntimeService runtimeService; @GetMapping("overtime-list") @ApiOperationSupport(order = 3) @@ -94,5 +96,25 @@ return R.data(result); } + @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); + return R.data(pages); + } + + @PostMapping("delete-instance") + @Operation(summary = "娴佺▼鍒犻櫎", description = "鍒犻櫎id鎸囧畾鐨勬祦绋嬪疄渚�") + public R<Void> deleteInstance(@Parameter(description = "浠诲姟鍒拌揪鏃堕棿寮�濮�") String processInstancesId) { + try { + runtimeService.deleteProcessInstance(processInstancesId, "娴佺▼鏌ヨ-鍒犻櫎"); + } catch (Exception e) { + log.error("鍒犻櫎娴佺▼澶辫触",e); + return R.fail(e.getMessage()); + } + return R.success(); + } + } 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 93fec5a..ba5d354 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 @@ -419,4 +419,44 @@ page.setRecords(flowList); return page; } + + /** + * 娴佺▼鏌ヨ 鍔熻兘 鐨勫垎椤� + * @param page + * @param createTimeBegin + * @param createTimeEnd + * @param assigneeName + * @param keyword + * @return + */ + public IPage<FlowVO> selectSearchPage(IPage<FlowVO> page, LocalDate createTimeBegin, LocalDate createTimeEnd, String keyword) { + + List<FlowVO> flowList = new LinkedList<>(); + Date now = new Date(); + TaskQuery taskQuery = taskService.createTaskQuery().active().includeProcessVariables(); + if(Func.isNotEmpty(createTimeBegin)) { + taskQuery.taskCreatedAfter(DateUtil.toDate(createTimeBegin)); + } + if(Func.isNotEmpty(createTimeEnd)) { + taskQuery.taskCreatedBefore(DateUtil.toDate(createTimeEnd.plusDays(1))); + } + + addKeywordCondition(taskQuery, keyword); + + taskQuery.orderByTaskCreateTime().desc(); + + // 鏋勫缓鍒楄〃鏁版嵁 + FlowVO bladeFlow = new FlowVO(); + buildFlowTaskList(bladeFlow, flowList, taskQuery);//FlowEngineConstant.STATUS_TODO + + // 璁$畻鎬绘暟 + long count = taskQuery.count(); + // 璁剧疆椤垫暟 + page.setSize(count); + // 璁剧疆鎬绘暟 + page.setTotal(count); + // 璁剧疆鏁版嵁 + page.setRecords(flowList); + return page; + } } diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramExportDNCController.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramExportDNCController.java index bd2f615..7c899dc 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramExportDNCController.java +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/controller/NcProgramExportDNCController.java @@ -64,4 +64,22 @@ } + @PostMapping("/export-approve-table") + @Operation(summary = "瀵煎嚭瀹℃壒琛�", description = "瀵煎嚭瀹℃壒琛╡xcel") + public void exportApproveTaable(@RequestBody @Parameter(description = "瀹℃壒琛╥d鏁扮粍") IdsVO vo, HttpServletResponse response) { + if(vo.getIds() == null || vo.getIds().length == 0) { + throw new ServiceException("鏈�夋嫨鏂囦欢瀵煎嚭"); + } + try { + String filename = "todncexp-"+ DateUtil.format(DateUtil.now(), "yyyyMMddHHmm")+".zip"; + response.setHeader("Content-Disposition", "attachment; filename="+filename); + response.setContentType("application/octet-stream"); + ncProgramExportDNCService.exportDnc(vo.getIds(),response.getOutputStream()); + } catch (IOException e) { + log.error("瀵煎嚭DNC寮傚父", e); + throw new RuntimeException(e); + } + + } + } diff --git a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/filewatch/ProgramBackMonitor.java b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/filewatch/ProgramBackMonitor.java index c3fc2d4..db0fd64 100644 --- a/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/filewatch/ProgramBackMonitor.java +++ b/blade-service/blade-mdm/src/main/java/org/springblade/mdm/program/filewatch/ProgramBackMonitor.java @@ -103,6 +103,23 @@ log.warn("鏂囦欢鍚嶆棤娉曞尮閰嶅埌鏁版帶绋嬪簭,{}",filePath); return; } + //淇濆瓨鏂囦欢鍒癱ss锛岄伩鍏嶅悗缁笉鍚岄儴缃茶妭鐐规嬁涓嶅埌鏂囦欢 + String ossName; + String url; + try(FileInputStream fins = new FileInputStream(filePath.toFile());){ + BladeFile bfile = ossTemplate.putFile(programName, fins); + ossName = bfile.getName(); + url = bfile.getLink(); + + } + + prog.setOssName(ossName); + prog.setUrl(url); + //TODO锛屾槸鍚﹀垹闄ゅ師鏉ョ殑鏂囦欢锛� + ncProgramService.updateById(prog); + + cureFlowService.startOne(prog);//鍚姩涓�涓▼搴忕殑鍥哄寲娴佺▼ + /* DncBackFile backFile = new DncBackFile(); backFile.setNcProgramId(prog.getId()); //淇濆瓨鏂囦欢鍒癱ss锛岄伩鍏嶅悗缁笉鍚岄儴缃茶妭鐐规嬁涓嶅埌鏂囦欢 @@ -112,6 +129,8 @@ backFile.setUrl(bfile.getLink()); } dncBackFileService.save(backFile); + + */ }else{ log.warn("鏂囦欢浼犺緭涓紝鍚庣画鍐嶆搷浣�:{}",filePath); } -- Gitblit v1.9.3