mirror of
https://gitee.com/dromara/RuoYi-Vue-Plus.git
synced 2026-03-23 22:04:33 +08:00
Merge remote-tracking branch 'origin/futuer/boot4' into futuer/boot4
This commit is contained in:
@@ -9,9 +9,9 @@ import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.excel.utils.ExcelUtil;
|
||||
import org.dromara.common.redis.annotation.RepeatSubmit;
|
||||
import org.dromara.common.log.annotation.Log;
|
||||
import org.dromara.common.log.enums.BusinessType;
|
||||
import org.dromara.common.redis.annotation.RepeatSubmit;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.workflow.common.ConditionalOnEnable;
|
||||
import org.dromara.workflow.common.constant.FlowConstant;
|
||||
|
||||
@@ -1,13 +1,14 @@
|
||||
package org.dromara.workflow.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.core.domain.PageResult;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.redis.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.core.domain.PageResult;
|
||||
import org.dromara.common.redis.annotation.RepeatSubmit;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.warm.flow.core.entity.Definition;
|
||||
import org.dromara.warm.flow.core.service.DefService;
|
||||
@@ -46,6 +47,7 @@ public class FlwDefinitionController extends BaseController {
|
||||
* @return 流程定义分页数据
|
||||
*/
|
||||
@GetMapping("/list")
|
||||
@SaCheckPermission("workflow:definition:list")
|
||||
public R<PageResult<FlowDefinitionVo>> list(FlowDefinition flowDefinition, PageQuery pageQuery) {
|
||||
return R.ok(flwDefinitionService.queryList(flowDefinition, pageQuery));
|
||||
}
|
||||
@@ -58,6 +60,7 @@ public class FlwDefinitionController extends BaseController {
|
||||
* @return 未发布流程定义分页数据
|
||||
*/
|
||||
@GetMapping("/unPublishList")
|
||||
@SaCheckPermission("workflow:definition:list")
|
||||
public R<PageResult<FlowDefinitionVo>> unPublishList(FlowDefinition flowDefinition, PageQuery pageQuery) {
|
||||
return R.ok(flwDefinitionService.unPublishList(flowDefinition, pageQuery));
|
||||
}
|
||||
@@ -69,6 +72,7 @@ public class FlwDefinitionController extends BaseController {
|
||||
* @return 流程定义详情
|
||||
*/
|
||||
@GetMapping(value = "/{id}")
|
||||
@SaCheckPermission("workflow:definition:query")
|
||||
public R<Definition> getInfo(@PathVariable Long id) {
|
||||
return R.ok(defService.getById(id));
|
||||
}
|
||||
@@ -83,6 +87,7 @@ public class FlwDefinitionController extends BaseController {
|
||||
@PostMapping
|
||||
@RepeatSubmit()
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@SaCheckPermission("workflow:definition:add")
|
||||
public R<Boolean> add(@RequestBody FlowDefinition flowDefinition) {
|
||||
return R.ok(defService.checkAndSave(flowDefinition));
|
||||
}
|
||||
@@ -97,6 +102,7 @@ public class FlwDefinitionController extends BaseController {
|
||||
@PutMapping
|
||||
@RepeatSubmit()
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@SaCheckPermission("workflow:definition:edit")
|
||||
public R<Boolean> edit(@RequestBody FlowDefinition flowDefinition) {
|
||||
return R.ok(defService.updateById(flowDefinition));
|
||||
}
|
||||
@@ -110,6 +116,7 @@ public class FlwDefinitionController extends BaseController {
|
||||
@Log(title = "流程定义", businessType = BusinessType.INSERT)
|
||||
@PutMapping("/publish/{id}")
|
||||
@RepeatSubmit()
|
||||
@SaCheckPermission("workflow:definition:publish")
|
||||
public R<Boolean> publish(@PathVariable Long id) {
|
||||
return R.ok(flwDefinitionService.publish(id));
|
||||
}
|
||||
@@ -124,6 +131,7 @@ public class FlwDefinitionController extends BaseController {
|
||||
@PutMapping("/unPublish/{id}")
|
||||
@RepeatSubmit()
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@SaCheckPermission("workflow:definition:publish")
|
||||
public R<Boolean> unPublish(@PathVariable Long id) {
|
||||
return R.ok(defService.unPublish(id));
|
||||
}
|
||||
@@ -136,6 +144,7 @@ public class FlwDefinitionController extends BaseController {
|
||||
*/
|
||||
@Log(title = "流程定义", businessType = BusinessType.DELETE)
|
||||
@DeleteMapping("/{ids}")
|
||||
@SaCheckPermission("workflow:definition:remove")
|
||||
public R<Void> remove(@PathVariable List<Long> ids) {
|
||||
return toAjax(flwDefinitionService.removeDef(ids));
|
||||
}
|
||||
@@ -150,6 +159,7 @@ public class FlwDefinitionController extends BaseController {
|
||||
@PostMapping("/copy/{id}")
|
||||
@RepeatSubmit()
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@SaCheckPermission("workflow:definition:copy")
|
||||
public R<Boolean> copy(@PathVariable Long id) {
|
||||
return R.ok(defService.copyDef(id));
|
||||
}
|
||||
@@ -163,6 +173,7 @@ public class FlwDefinitionController extends BaseController {
|
||||
*/
|
||||
@Log(title = "流程定义", businessType = BusinessType.IMPORT)
|
||||
@PostMapping("/importDef")
|
||||
@SaCheckPermission("workflow:definition:import")
|
||||
public R<Boolean> importDef(MultipartFile file, String category) {
|
||||
return R.ok(flwDefinitionService.importJson(file, category));
|
||||
}
|
||||
@@ -176,6 +187,7 @@ public class FlwDefinitionController extends BaseController {
|
||||
*/
|
||||
@Log(title = "流程定义", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/exportDef/{id}")
|
||||
@SaCheckPermission("workflow:definition:export")
|
||||
public void exportDef(@PathVariable Long id, HttpServletResponse response) throws IOException {
|
||||
flwDefinitionService.exportDef(id, response);
|
||||
}
|
||||
@@ -187,6 +199,7 @@ public class FlwDefinitionController extends BaseController {
|
||||
* @return 流程定义 JSON
|
||||
*/
|
||||
@GetMapping("/xmlString/{id}")
|
||||
@SaCheckPermission("workflow:definition:query")
|
||||
public R<String> xmlString(@PathVariable Long id) {
|
||||
return R.ok("操作成功", defService.exportJson(id));
|
||||
}
|
||||
@@ -203,6 +216,7 @@ public class FlwDefinitionController extends BaseController {
|
||||
@PutMapping("/active/{id}")
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
@Log(title = "流程定义", businessType = BusinessType.UPDATE)
|
||||
@SaCheckPermission("workflow:definition:active")
|
||||
public R<Boolean> active(@PathVariable Long id, @RequestParam boolean active) {
|
||||
return R.ok(active ? defService.active(id) : defService.unActive(id));
|
||||
}
|
||||
|
||||
@@ -1,14 +1,15 @@
|
||||
package org.dromara.workflow.controller;
|
||||
|
||||
import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import cn.hutool.core.convert.Convert;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.core.domain.PageResult;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.utils.StreamUtils;
|
||||
import org.dromara.common.redis.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.core.domain.PageResult;
|
||||
import org.dromara.common.redis.annotation.RepeatSubmit;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.warm.flow.core.service.InsService;
|
||||
import org.dromara.workflow.common.ConditionalOnEnable;
|
||||
@@ -47,6 +48,7 @@ public class FlwInstanceController extends BaseController {
|
||||
* @return 正在运行的流程实例分页数据
|
||||
*/
|
||||
@GetMapping("/pageByRunning")
|
||||
@SaCheckPermission("workflow:instance:list")
|
||||
public R<PageResult<FlowInstanceVo>> selectRunningInstanceList(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) {
|
||||
return R.ok(flwInstanceService.selectRunningInstanceList(flowInstanceBo, pageQuery));
|
||||
}
|
||||
@@ -59,6 +61,7 @@ public class FlwInstanceController extends BaseController {
|
||||
* @return 已结束的流程实例分页数据
|
||||
*/
|
||||
@GetMapping("/pageByFinish")
|
||||
@SaCheckPermission("workflow:instance:list")
|
||||
public R<PageResult<FlowInstanceVo>> selectFinishInstanceList(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) {
|
||||
return R.ok(flwInstanceService.selectFinishInstanceList(flowInstanceBo, pageQuery));
|
||||
}
|
||||
@@ -70,6 +73,7 @@ public class FlwInstanceController extends BaseController {
|
||||
* @return 流程实例详情
|
||||
*/
|
||||
@GetMapping("/getInfo/{businessId}")
|
||||
@SaCheckPermission("workflow:instance:query")
|
||||
public R<FlowInstanceVo> getInfo(@PathVariable Long businessId) {
|
||||
return R.ok(flwInstanceService.queryByBusinessId(businessId));
|
||||
}
|
||||
@@ -82,6 +86,7 @@ public class FlwInstanceController extends BaseController {
|
||||
*/
|
||||
@DeleteMapping("/deleteByBusinessIds/{businessIds}")
|
||||
@Log(title = "流程实例管理", businessType = BusinessType.DELETE)
|
||||
@SaCheckPermission("workflow:instance:remove")
|
||||
public R<Void> deleteByBusinessIds(@PathVariable List<Long> businessIds) {
|
||||
return toAjax(flwInstanceService.deleteByBusinessIds(StreamUtils.toList(businessIds, Convert::toStr)));
|
||||
}
|
||||
@@ -94,6 +99,7 @@ public class FlwInstanceController extends BaseController {
|
||||
*/
|
||||
@DeleteMapping("/deleteByInstanceIds/{instanceIds}")
|
||||
@Log(title = "流程实例管理", businessType = BusinessType.DELETE)
|
||||
@SaCheckPermission("workflow:instance:remove")
|
||||
public R<Void> deleteByInstanceIds(@PathVariable List<Long> instanceIds) {
|
||||
return toAjax(flwInstanceService.deleteByInstanceIds(instanceIds));
|
||||
}
|
||||
@@ -106,6 +112,7 @@ public class FlwInstanceController extends BaseController {
|
||||
*/
|
||||
@DeleteMapping("/deleteHisByInstanceIds/{instanceIds}")
|
||||
@Log(title = "流程实例管理", businessType = BusinessType.DELETE)
|
||||
@SaCheckPermission("workflow:instance:remove")
|
||||
public R<Void> deleteHisByInstanceIds(@PathVariable List<Long> instanceIds) {
|
||||
return toAjax(flwInstanceService.deleteHisByInstanceIds(instanceIds));
|
||||
}
|
||||
@@ -119,6 +126,7 @@ public class FlwInstanceController extends BaseController {
|
||||
@RepeatSubmit()
|
||||
@PutMapping("/cancelProcessApply")
|
||||
@Log(title = "流程实例管理", businessType = BusinessType.UPDATE)
|
||||
@SaCheckPermission("workflow:instance:cancel")
|
||||
public R<Void> cancelProcessApply(@RequestBody FlowCancelBo bo) {
|
||||
return toAjax(flwInstanceService.cancelProcessApply(bo));
|
||||
}
|
||||
@@ -133,6 +141,7 @@ public class FlwInstanceController extends BaseController {
|
||||
@RepeatSubmit()
|
||||
@PutMapping("/active/{id}")
|
||||
@Log(title = "流程实例管理", businessType = BusinessType.UPDATE)
|
||||
@SaCheckPermission("workflow:instance:active")
|
||||
public R<Boolean> active(@PathVariable Long id, @RequestParam boolean active) {
|
||||
return R.ok(active ? insService.active(id) : insService.unActive(id));
|
||||
}
|
||||
@@ -145,6 +154,7 @@ public class FlwInstanceController extends BaseController {
|
||||
* @return 当前用户发起的流程实例分页数据
|
||||
*/
|
||||
@GetMapping("/pageByCurrent")
|
||||
@SaCheckPermission("workflow:instance:currentList")
|
||||
public R<PageResult<FlowInstanceVo>> selectCurrentInstanceList(FlowInstanceBo flowInstanceBo, PageQuery pageQuery) {
|
||||
return R.ok(flwInstanceService.selectCurrentInstanceList(flowInstanceBo, pageQuery));
|
||||
}
|
||||
@@ -156,6 +166,7 @@ public class FlwInstanceController extends BaseController {
|
||||
* @return 流程图与历史节点信息
|
||||
*/
|
||||
@GetMapping("/flowHisTaskList/{businessId}")
|
||||
@SaCheckPermission("workflow:instance:query")
|
||||
public R<Map<String, Object>> flowHisTaskList(@PathVariable String businessId) {
|
||||
return R.ok(flwInstanceService.flowHisTaskList(businessId));
|
||||
}
|
||||
@@ -167,6 +178,7 @@ public class FlwInstanceController extends BaseController {
|
||||
* @return 流程变量
|
||||
*/
|
||||
@GetMapping("/instanceVariable/{instanceId}")
|
||||
@SaCheckPermission("workflow:instance:variableQuery")
|
||||
public R<Map<String, Object>> instanceVariable(@PathVariable Long instanceId) {
|
||||
return R.ok(flwInstanceService.instanceVariable(instanceId));
|
||||
}
|
||||
@@ -180,6 +192,7 @@ public class FlwInstanceController extends BaseController {
|
||||
@RepeatSubmit()
|
||||
@PutMapping("/updateVariable")
|
||||
@Log(title = "流程实例管理", businessType = BusinessType.UPDATE)
|
||||
@SaCheckPermission("workflow:instance:variable")
|
||||
public R<Void> updateVariable(@Validated @RequestBody FlowVariableBo bo) {
|
||||
return toAjax(flwInstanceService.updateVariable(bo));
|
||||
}
|
||||
@@ -193,6 +206,7 @@ public class FlwInstanceController extends BaseController {
|
||||
@Log(title = "流程实例管理", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping("/invalid")
|
||||
@SaCheckPermission("workflow:instance:invalid")
|
||||
public R<Boolean> invalid(@Validated @RequestBody FlowInvalidBo bo) {
|
||||
return R.ok(flwInstanceService.processInvalid(bo));
|
||||
}
|
||||
|
||||
@@ -4,14 +4,14 @@ import cn.dev33.satoken.annotation.SaCheckPermission;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.core.domain.PageResult;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.redis.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.core.domain.PageResult;
|
||||
import org.dromara.common.redis.annotation.RepeatSubmit;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.workflow.common.ConditionalOnEnable;
|
||||
import org.dromara.workflow.domain.bo.FlowSpelBo;
|
||||
|
||||
@@ -1,15 +1,15 @@
|
||||
package org.dromara.workflow.controller;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.core.domain.PageResult;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.domain.dto.StartProcessReturnDTO;
|
||||
import org.dromara.common.core.domain.dto.UserDTO;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.redis.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.core.domain.PageResult;
|
||||
import org.dromara.common.redis.annotation.RepeatSubmit;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.warm.flow.core.entity.Node;
|
||||
import org.dromara.warm.flow.orm.entity.FlowNode;
|
||||
|
||||
@@ -5,15 +5,15 @@ import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.core.domain.PageResult;
|
||||
import org.dromara.common.core.domain.R;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.excel.utils.ExcelUtil;
|
||||
import org.dromara.common.redis.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.core.domain.PageResult;
|
||||
import org.dromara.common.redis.annotation.RepeatSubmit;
|
||||
import org.dromara.common.web.core.BaseController;
|
||||
import org.dromara.workflow.common.ConditionalOnEnable;
|
||||
import org.dromara.workflow.domain.bo.TestLeaveBo;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package org.dromara.workflow.domain.vo;
|
||||
|
||||
import org.apache.fesod.sheet.annotation.ExcelIgnoreUnannotated;
|
||||
import org.apache.fesod.sheet.annotation.ExcelProperty;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import org.apache.fesod.sheet.annotation.ExcelIgnoreUnannotated;
|
||||
import org.apache.fesod.sheet.annotation.ExcelProperty;
|
||||
import org.dromara.common.translation.annotation.Translation;
|
||||
import org.dromara.workflow.common.constant.FlowConstant;
|
||||
import org.dromara.workflow.domain.FlowCategory;
|
||||
|
||||
@@ -1,11 +1,11 @@
|
||||
package org.dromara.workflow.domain.vo;
|
||||
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import org.apache.fesod.sheet.annotation.ExcelIgnoreUnannotated;
|
||||
import org.apache.fesod.sheet.annotation.ExcelProperty;
|
||||
import org.dromara.common.excel.annotation.ExcelDictFormat;
|
||||
import org.dromara.common.excel.convert.ExcelDictConvert;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import org.dromara.workflow.domain.FlowSpel;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
@@ -1,10 +1,9 @@
|
||||
package org.dromara.workflow.domain.vo;
|
||||
|
||||
import org.apache.fesod.sheet.annotation.ExcelIgnoreUnannotated;
|
||||
import org.apache.fesod.sheet.annotation.ExcelProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import org.apache.fesod.sheet.annotation.ExcelIgnoreUnannotated;
|
||||
import org.apache.fesod.sheet.annotation.ExcelProperty;
|
||||
import org.dromara.workflow.domain.TestLeave;
|
||||
|
||||
import java.io.Serial;
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
package org.dromara.workflow.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import org.dromara.common.mybatis.annotation.DataColumn;
|
||||
import org.dromara.common.mybatis.annotation.DataPermission;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
import org.dromara.common.mybatis.helper.DataBaseHelper;
|
||||
import org.dromara.workflow.domain.FlowCategory;
|
||||
|
||||
@@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
import org.dromara.workflow.domain.FlowInstanceBizExt;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 流程实例业务扩展Mapper接口
|
||||
@@ -53,7 +53,7 @@ public interface FlwInstanceBizExtMapper extends BaseMapperPlus<FlowInstanceBizE
|
||||
* @param instanceIds 流程实例ID列表
|
||||
* @return 删除的行数
|
||||
*/
|
||||
default int deleteByInstIds(List<Long> instanceIds) {
|
||||
default int deleteByInstIds(Collection<Long> instanceIds) {
|
||||
return this.delete(new LambdaQueryWrapper<FlowInstanceBizExt>()
|
||||
.in(FlowInstanceBizExt::getInstanceId, instanceIds));
|
||||
}
|
||||
|
||||
@@ -4,7 +4,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.github.yulichang.base.MPJBaseMapper;
|
||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
import org.dromara.warm.flow.orm.entity.FlowInstance;
|
||||
import org.dromara.workflow.domain.bo.FlowInstanceBo;
|
||||
import org.dromara.workflow.domain.vo.FlowInstanceVo;
|
||||
|
||||
/**
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
package org.dromara.workflow.mapper;
|
||||
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
import org.dromara.workflow.domain.FlowSpel;
|
||||
import org.dromara.workflow.domain.vo.FlowSpelVo;
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
|
||||
/**
|
||||
* 流程spel表达式定义Mapper接口
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
package org.dromara.workflow.service;
|
||||
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.core.domain.PageResult;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.warm.flow.orm.entity.FlowDefinition;
|
||||
import org.dromara.workflow.domain.vo.FlowDefinitionVo;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
import java.util.Collection;
|
||||
|
||||
/**
|
||||
* 流程定义 服务层
|
||||
@@ -67,6 +67,6 @@ public interface IFlwDefinitionService {
|
||||
* @param ids 流程定义id
|
||||
* @return 是否删除成功
|
||||
*/
|
||||
boolean removeDef(List<Long> ids);
|
||||
boolean removeDef(Collection<Long> ids);
|
||||
|
||||
}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
package org.dromara.workflow.service;
|
||||
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.core.domain.PageResult;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.warm.flow.orm.entity.FlowInstance;
|
||||
import org.dromara.workflow.domain.bo.FlowCancelBo;
|
||||
import org.dromara.workflow.domain.bo.FlowInstanceBo;
|
||||
@@ -9,6 +9,7 @@ import org.dromara.workflow.domain.bo.FlowInvalidBo;
|
||||
import org.dromara.workflow.domain.bo.FlowVariableBo;
|
||||
import org.dromara.workflow.domain.vo.FlowInstanceVo;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -67,7 +68,7 @@ public interface IFlwInstanceService {
|
||||
* @param instanceIds 实例id
|
||||
* @return 结果
|
||||
*/
|
||||
List<FlowInstance> selectInstListByIdList(List<Long> instanceIds);
|
||||
List<FlowInstance> selectInstListByIdList(Collection<Long> instanceIds);
|
||||
|
||||
/**
|
||||
* 按照业务id删除流程实例
|
||||
@@ -83,7 +84,7 @@ public interface IFlwInstanceService {
|
||||
* @param instanceIds 实例id
|
||||
* @return 结果
|
||||
*/
|
||||
boolean deleteByInstanceIds(List<Long> instanceIds);
|
||||
boolean deleteByInstanceIds(Collection<Long> instanceIds);
|
||||
|
||||
/**
|
||||
* 按照实例id删除已完成得流程实例
|
||||
@@ -91,7 +92,7 @@ public interface IFlwInstanceService {
|
||||
* @param instanceIds 删除的实例id
|
||||
* @return 删除结果
|
||||
*/
|
||||
boolean deleteHisByInstanceIds(List<Long> instanceIds);
|
||||
boolean deleteHisByInstanceIds(Collection<Long> instanceIds);
|
||||
|
||||
/**
|
||||
* 撤销流程
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package org.dromara.workflow.service;
|
||||
|
||||
import org.dromara.common.core.domain.PageResult;
|
||||
import org.dromara.common.core.domain.dto.TaskAssigneeDTO;
|
||||
import org.dromara.common.core.domain.model.TaskAssigneeBody;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.core.domain.PageResult;
|
||||
import org.dromara.workflow.domain.bo.FlowSpelBo;
|
||||
import org.dromara.workflow.domain.vo.FlowSpelVo;
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package org.dromara.workflow.service;
|
||||
|
||||
import org.dromara.common.core.domain.PageResult;
|
||||
import org.dromara.common.core.domain.dto.StartProcessReturnDTO;
|
||||
import org.dromara.common.core.domain.dto.UserDTO;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.core.domain.PageResult;
|
||||
import org.dromara.warm.flow.core.entity.Node;
|
||||
import org.dromara.warm.flow.core.entity.Task;
|
||||
import org.dromara.warm.flow.orm.entity.FlowHisTask;
|
||||
@@ -13,6 +13,7 @@ import org.dromara.workflow.domain.bo.*;
|
||||
import org.dromara.workflow.domain.vo.FlowHisTaskVo;
|
||||
import org.dromara.workflow.domain.vo.FlowTaskVo;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -98,7 +99,7 @@ public interface IFlwTaskService {
|
||||
* @param userId 用户id
|
||||
* @return 结果
|
||||
*/
|
||||
boolean updateAssignee(List<Long> taskIdList, String userId);
|
||||
boolean updateAssignee(Collection<Long> taskIdList, String userId);
|
||||
|
||||
/**
|
||||
* 驳回审批
|
||||
@@ -111,8 +112,8 @@ public interface IFlwTaskService {
|
||||
/**
|
||||
* 获取可驳回的前置节点
|
||||
*
|
||||
* @param taskId 任务id
|
||||
* @param nowNodeCode 当前节点
|
||||
* @param taskId 任务id
|
||||
* @param nowNodeCode 当前节点
|
||||
* @return 结果
|
||||
*/
|
||||
List<Node> getBackTaskNode(Long taskId, String nowNodeCode);
|
||||
@@ -131,7 +132,7 @@ public interface IFlwTaskService {
|
||||
* @param taskIdList 任务id
|
||||
* @return 任务列表
|
||||
*/
|
||||
List<FlowTask> selectByIdList(List<Long> taskIdList);
|
||||
List<FlowTask> selectByIdList(Collection<Long> taskIdList);
|
||||
|
||||
/**
|
||||
* 按照任务id查询任务
|
||||
@@ -171,7 +172,7 @@ public interface IFlwTaskService {
|
||||
* @param instanceIds 列表
|
||||
* @return 任务列表
|
||||
*/
|
||||
List<FlowTask> selectByInstIds(List<Long> instanceIds);
|
||||
List<FlowTask> selectByInstIds(Collection<Long> instanceIds);
|
||||
|
||||
/**
|
||||
* 判断流程是否已结束(即该流程实例下是否还有未完成的任务)
|
||||
|
||||
@@ -1,10 +1,11 @@
|
||||
package org.dromara.workflow.service;
|
||||
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.core.domain.PageResult;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.workflow.domain.bo.TestLeaveBo;
|
||||
import org.dromara.workflow.domain.vo.TestLeaveVo;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -70,5 +71,5 @@ public interface ITestLeaveService {
|
||||
* @param ids 主键集合
|
||||
* @return 删除结果
|
||||
*/
|
||||
Boolean deleteWithValidByIds(List<Long> ids);
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids);
|
||||
}
|
||||
|
||||
@@ -10,12 +10,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.common.core.domain.PageResult;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
import org.dromara.common.core.utils.StreamUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.json.utils.JsonUtils;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.core.domain.PageResult;
|
||||
import org.dromara.warm.flow.core.dto.DefJson;
|
||||
import org.dromara.warm.flow.core.enums.NodeType;
|
||||
import org.dromara.warm.flow.core.enums.PublishStatus;
|
||||
@@ -40,6 +40,7 @@ import java.io.IOException;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
@@ -184,7 +185,7 @@ public class FlwDefinitionServiceImpl implements IFlwDefinitionService {
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean removeDef(List<Long> ids) {
|
||||
public boolean removeDef(Collection<Long> ids) {
|
||||
LambdaQueryWrapper<FlowHisTask> wrapper = Wrappers.lambdaQuery();
|
||||
wrapper.in(FlowHisTask::getDefinitionId, ids);
|
||||
List<FlowHisTask> flowHisTasks = flowHisTaskMapper.selectList(wrapper);
|
||||
@@ -197,7 +198,7 @@ public class FlwDefinitionServiceImpl implements IFlwDefinitionService {
|
||||
}
|
||||
}
|
||||
try {
|
||||
defService.removeDef(ids);
|
||||
defService.removeDef((List<Long>) ids);
|
||||
} catch (Exception e) {
|
||||
log.error("Error removing flow definitions: {}", e.getMessage(), e);
|
||||
throw new RuntimeException("Failed to remove flow definitions", e);
|
||||
|
||||
@@ -11,12 +11,12 @@ import com.github.yulichang.toolkit.JoinWrappers;
|
||||
import com.github.yulichang.wrapper.MPJLambdaWrapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.common.core.domain.PageResult;
|
||||
import org.dromara.common.core.enums.BusinessStatusEnum;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
import org.dromara.common.core.utils.StreamUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.core.domain.PageResult;
|
||||
import org.dromara.common.satoken.utils.LoginHelper;
|
||||
import org.dromara.warm.flow.core.FlowEngine;
|
||||
import org.dromara.warm.flow.core.constant.ExceptionCons;
|
||||
@@ -206,7 +206,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
|
||||
* @return 实例列表
|
||||
*/
|
||||
@Override
|
||||
public List<FlowInstance> selectInstListByIdList(List<Long> instanceIds) {
|
||||
public List<FlowInstance> selectInstListByIdList(Collection<Long> instanceIds) {
|
||||
return flowInstanceMapper.selectByIds(instanceIds);
|
||||
}
|
||||
|
||||
@@ -237,7 +237,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean deleteByInstanceIds(List<Long> instanceIds) {
|
||||
public boolean deleteByInstanceIds(Collection<Long> instanceIds) {
|
||||
// 获取实例信息
|
||||
List<FlowInstance> flowInstances = flowInstanceMapper.selectByIds(instanceIds);
|
||||
if (CollUtil.isEmpty(flowInstances)) {
|
||||
@@ -247,7 +247,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
|
||||
// 发送事件
|
||||
processDeleteHandler(flowInstances);
|
||||
// 删除实例
|
||||
return insService.remove(instanceIds);
|
||||
return insService.remove((List<Long>) instanceIds);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -258,7 +258,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean deleteHisByInstanceIds(List<Long> instanceIds) {
|
||||
public boolean deleteHisByInstanceIds(Collection<Long> instanceIds) {
|
||||
// 获取实例信息
|
||||
List<FlowInstance> flowInstances = flowInstanceMapper.selectByIds(instanceIds);
|
||||
if (CollUtil.isEmpty(flowInstances)) {
|
||||
@@ -271,8 +271,8 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
|
||||
if (CollUtil.isNotEmpty(flowTaskList)) {
|
||||
FlowEngine.userService().deleteByTaskIds(StreamUtils.toList(flowTaskList, FlowTask::getId));
|
||||
}
|
||||
FlowEngine.taskService().deleteByInsIds(instanceIds);
|
||||
FlowEngine.hisTaskService().deleteByInsIds(instanceIds);
|
||||
FlowEngine.taskService().deleteByInsIds((List<Long>) instanceIds);
|
||||
FlowEngine.hisTaskService().deleteByInsIds((List<Long>) instanceIds);
|
||||
FlowEngine.insService().removeByIds(instanceIds);
|
||||
return true;
|
||||
}
|
||||
@@ -323,8 +323,11 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
|
||||
if (definition == null) {
|
||||
throw new ServiceException(ExceptionCons.NOT_FOUNT_DEF);
|
||||
}
|
||||
String message = bo.message();
|
||||
String userIdStr = LoginHelper.getUserIdStr();
|
||||
if (!LoginHelper.isSuperAdmin() && !instance.getCreateBy().equals(userIdStr)) {
|
||||
throw new ServiceException("权限不足,无法撤销流程!");
|
||||
}
|
||||
String message = bo.message();
|
||||
BusinessStatusEnum.checkCancelStatus(instance.getFlowStatus());
|
||||
FlowParams flowParams = FlowParams.build()
|
||||
.message(message)
|
||||
|
||||
@@ -8,6 +8,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.common.core.constant.SystemConstants;
|
||||
import org.dromara.common.core.domain.PageResult;
|
||||
import org.dromara.common.core.domain.dto.TaskAssigneeDTO;
|
||||
import org.dromara.common.core.domain.model.TaskAssigneeBody;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
@@ -15,7 +16,6 @@ import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StreamUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.core.domain.PageResult;
|
||||
import org.dromara.workflow.common.ConditionalOnEnable;
|
||||
import org.dromara.workflow.domain.FlowSpel;
|
||||
import org.dromara.workflow.domain.bo.FlowSpelBo;
|
||||
|
||||
@@ -11,6 +11,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.common.core.domain.PageResult;
|
||||
import org.dromara.common.core.domain.dto.StartProcessReturnDTO;
|
||||
import org.dromara.common.core.domain.dto.UserDTO;
|
||||
import org.dromara.common.core.enums.BusinessStatusEnum;
|
||||
@@ -23,7 +24,6 @@ import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.json.utils.JsonUtils;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.core.domain.PageResult;
|
||||
import org.dromara.common.mybatis.utils.IdGeneratorUtil;
|
||||
import org.dromara.common.satoken.utils.LoginHelper;
|
||||
import org.dromara.warm.flow.core.FlowEngine;
|
||||
@@ -589,7 +589,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
* @return 任务列表
|
||||
*/
|
||||
@Override
|
||||
public List<FlowTask> selectByIdList(List<Long> taskIdList) {
|
||||
public List<FlowTask> selectByIdList(Collection<Long> taskIdList) {
|
||||
return flowTaskMapper.selectList(new LambdaQueryWrapper<>(FlowTask.class).in(FlowTask::getId, taskIdList));
|
||||
}
|
||||
|
||||
@@ -725,7 +725,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
* @return 运行中的任务列表
|
||||
*/
|
||||
@Override
|
||||
public List<FlowTask> selectByInstIds(List<Long> instanceIds) {
|
||||
public List<FlowTask> selectByInstIds(Collection<Long> instanceIds) {
|
||||
return flowTaskMapper.selectList(new LambdaQueryWrapper<>(FlowTask.class).in(FlowTask::getInstanceId, instanceIds));
|
||||
}
|
||||
|
||||
@@ -843,7 +843,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public boolean updateAssignee(List<Long> taskIdList, String userId) {
|
||||
public boolean updateAssignee(Collection<Long> taskIdList, String userId) {
|
||||
if (CollUtil.isEmpty(taskIdList)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.dromara.common.core.domain.PageResult;
|
||||
import org.dromara.common.core.domain.dto.StartProcessDTO;
|
||||
import org.dromara.common.core.domain.event.ProcessDeleteEvent;
|
||||
import org.dromara.common.core.domain.event.ProcessEvent;
|
||||
@@ -22,7 +23,6 @@ import org.dromara.common.core.utils.StreamUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.common.mybatis.core.page.PageQuery;
|
||||
import org.dromara.common.core.domain.PageResult;
|
||||
import org.dromara.workflow.common.ConditionalOnEnable;
|
||||
import org.dromara.workflow.common.constant.FlowConstant;
|
||||
import org.dromara.workflow.domain.TestLeave;
|
||||
@@ -34,6 +34,7 @@ import org.springframework.context.event.EventListener;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
@@ -198,7 +199,7 @@ public class TestLeaveServiceImpl implements ITestLeaveService {
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean deleteWithValidByIds(List<Long> ids) {
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids) {
|
||||
workflowService.deleteInstance(StreamUtils.toList(ids, Convert::toStr));
|
||||
return baseMapper.deleteByIds(ids) > 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user