From f1208474f771a1c233d7425c8ed13fbaa0d521ac Mon Sep 17 00:00:00 2001 From: baoshiwei <baoshiwei@shlanbao.cn> Date: 星期三, 12 三月 2025 09:35:13 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/5.X' into 5.X --- ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/FlwInstanceController.java | 157 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 157 insertions(+), 0 deletions(-) diff --git a/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/FlwInstanceController.java b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/FlwInstanceController.java new file mode 100644 index 0000000..ae99c16 --- /dev/null +++ b/ruoyi-modules/ruoyi-workflow/src/main/java/org/dromara/workflow/controller/FlwInstanceController.java @@ -0,0 +1,157 @@ +package org.dromara.workflow.controller; + +import lombok.RequiredArgsConstructor; +import org.dromara.common.core.domain.R; +import org.dromara.common.idempotent.annotation.RepeatSubmit; +import org.dromara.common.log.annotation.Log; +import org.dromara.common.log.enums.BusinessType; +import org.dromara.common.mybatis.core.page.PageQuery; +import org.dromara.common.mybatis.core.page.TableDataInfo; +import org.dromara.common.web.core.BaseController; +import org.dromara.warm.flow.core.service.InsService; +import org.dromara.workflow.common.ConditionalOnEnable; +import org.dromara.workflow.domain.bo.FlowCancelBo; +import org.dromara.workflow.domain.bo.FlowInstanceBo; +import org.dromara.workflow.domain.bo.FlowInvalidBo; +import org.dromara.workflow.domain.vo.FlowInstanceVo; +import org.dromara.workflow.service.IFlwInstanceService; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import java.util.List; +import java.util.Map; + +/** + * 娴佺▼瀹炰緥绠$悊 鎺у埗灞� + * + * @author may + */ +@ConditionalOnEnable +@Validated +@RequiredArgsConstructor +@RestController +@RequestMapping("/workflow/instance") +public class FlwInstanceController extends BaseController { + + private final InsService insService; + private final IFlwInstanceService flwInstanceService; + + /** + * 鏌ヨ姝e湪杩愯鐨勬祦绋嬪疄渚嬪垪琛� + * + * @param flowInstanceBo 娴佺▼瀹炰緥 + * @param pageQuery 鍒嗛〉 + */ + @GetMapping("/pageByRunning") + public TableDataInfo<FlowInstanceVo> selectRunningInstanceList(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) { + return flwInstanceService.selectRunningInstanceList(flowInstanceBo, pageQuery); + } + + /** + * 鏌ヨ宸茬粨鏉熺殑娴佺▼瀹炰緥鍒楄〃 + * + * @param flowInstanceBo 娴佺▼瀹炰緥 + * @param pageQuery 鍒嗛〉 + */ + @GetMapping("/pageByFinish") + public TableDataInfo<FlowInstanceVo> selectFinishInstanceList(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) { + return flwInstanceService.selectFinishInstanceList(flowInstanceBo, pageQuery); + } + + /** + * 鏍规嵁涓氬姟id鏌ヨ娴佺▼瀹炰緥璇︾粏淇℃伅 + * + * @param businessId 涓氬姟id + */ + @GetMapping("/getInfo/{businessId}") + public R<FlowInstanceVo> getInfo(@PathVariable Long businessId) { + return R.ok(flwInstanceService.queryByBusinessId(businessId)); + } + + /** + * 鎸夌収涓氬姟id鍒犻櫎娴佺▼瀹炰緥 + * + * @param businessIds 涓氬姟id + */ + @DeleteMapping("/deleteByBusinessIds/{businessIds}") + public R<Void> deleteByBusinessIds(@PathVariable List<Long> businessIds) { + return toAjax(flwInstanceService.deleteByBusinessIds(businessIds)); + } + + /** + * 鎸夌収瀹炰緥id鍒犻櫎娴佺▼瀹炰緥 + * + * @param instanceIds 瀹炰緥id + */ + @DeleteMapping("/deleteByInstanceIds/{instanceIds}") + public R<Void> deleteByInstanceIds(@PathVariable List<Long> instanceIds) { + return toAjax(flwInstanceService.deleteByInstanceIds(instanceIds)); + } + + /** + * 鎾ら攢娴佺▼ + * + * @param bo 鍙傛暟 + */ + @RepeatSubmit() + @PutMapping("/cancelProcessApply") + public R<Void> cancelProcessApply(@RequestBody FlowCancelBo bo) { + return toAjax(flwInstanceService.cancelProcessApply(bo)); + } + + /** + * 婵�娲�/鎸傝捣娴佺▼瀹炰緥 + * + * @param id 娴佺▼瀹炰緥id + * @param active 婵�娲�/鎸傝捣 + */ + @RepeatSubmit() + @PutMapping("/active/{id}") + public R<Boolean> active(@PathVariable Long id, @RequestParam boolean active) { + return R.ok(active ? insService.active(id) : insService.unActive(id)); + } + + /** + * 鑾峰彇褰撳墠鐧婚檰浜哄彂璧风殑娴佺▼瀹炰緥 + * + * @param flowInstanceBo 鍙傛暟 + * @param pageQuery 鍒嗛〉 + */ + @GetMapping("/pageByCurrent") + public TableDataInfo<FlowInstanceVo> selectCurrentInstanceList(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) { + return flwInstanceService.selectCurrentInstanceList(flowInstanceBo, pageQuery); + } + + /** + * 鑾峰彇娴佺▼鍥撅紝娴佺▼璁板綍 + * + * @param businessId 涓氬姟id + */ + @GetMapping("/flowImage/{businessId}") + public R<Map<String, Object>> flowImage(@PathVariable String businessId) { + return R.ok(flwInstanceService.flowImage(businessId)); + } + + /** + * 鑾峰彇娴佺▼鍙橀噺 + * + * @param instanceId 娴佺▼瀹炰緥id + */ + @GetMapping("/instanceVariable/{instanceId}") + public R<Map<String, Object>> instanceVariable(@PathVariable Long instanceId) { + return R.ok(flwInstanceService.instanceVariable(instanceId)); + } + + /** + * 浣滃簾娴佺▼ + * + * @param bo 鍙傛暟 + */ + @Log(title = "娴佺▼瀹炰緥绠$悊", businessType = BusinessType.INSERT) + @RepeatSubmit() + @PostMapping("/invalid") + public R<Boolean> invalid(@Validated @RequestBody FlowInvalidBo bo) { + return R.ok(flwInstanceService.processInvalid(bo)); + } + +} -- Gitblit v1.9.3