Merge branch 'warm-flow-future' of https://gitee.com/dromara/RuoYi-Vue-Plus into warm-flow-future
This commit is contained in:
commit
a0bf365f32
@ -63,7 +63,7 @@ public class GenTableServiceImpl implements IGenTableService {
|
||||
private final GenTableColumnMapper genTableColumnMapper;
|
||||
private final IdentifierGenerator identifierGenerator;
|
||||
|
||||
private static final String[] TABLE_IGNORE = new String[]{"sj_", "act_", "flw_", "gen_"};
|
||||
private static final String[] TABLE_IGNORE = new String[]{"sj_", "flow_", "gen_"};
|
||||
|
||||
/**
|
||||
* 查询业务字段列表
|
||||
|
@ -13,9 +13,9 @@ 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.web.core.BaseController;
|
||||
import org.dromara.workflow.domain.bo.WfCategoryBo;
|
||||
import org.dromara.workflow.domain.vo.WfCategoryVo;
|
||||
import org.dromara.workflow.service.IWfCategoryService;
|
||||
import org.dromara.workflow.domain.bo.FlowCategoryBo;
|
||||
import org.dromara.workflow.domain.vo.FlowCategoryVo;
|
||||
import org.dromara.workflow.service.IFlwCategoryService;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
@ -31,17 +31,17 @@ import java.util.List;
|
||||
@RequiredArgsConstructor
|
||||
@RestController
|
||||
@RequestMapping("/workflow/category")
|
||||
public class WfCategoryController extends BaseController {
|
||||
public class FlwCategoryController extends BaseController {
|
||||
|
||||
private final IWfCategoryService wfCategoryService;
|
||||
private final IFlwCategoryService FlowCategoryService;
|
||||
|
||||
/**
|
||||
* 查询流程分类列表
|
||||
*/
|
||||
@SaCheckPermission("workflow:category:list")
|
||||
@GetMapping("/list")
|
||||
public R<List<WfCategoryVo>> list(WfCategoryBo bo) {
|
||||
List<WfCategoryVo> list = wfCategoryService.queryList(bo);
|
||||
public R<List<FlowCategoryVo>> list(FlowCategoryBo bo) {
|
||||
List<FlowCategoryVo> list = FlowCategoryService.queryList(bo);
|
||||
return R.ok(list);
|
||||
|
||||
}
|
||||
@ -52,9 +52,9 @@ public class WfCategoryController extends BaseController {
|
||||
@SaCheckPermission("workflow:category:export")
|
||||
@Log(title = "流程分类", businessType = BusinessType.EXPORT)
|
||||
@PostMapping("/export")
|
||||
public void export(WfCategoryBo bo, HttpServletResponse response) {
|
||||
List<WfCategoryVo> list = wfCategoryService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "流程分类", WfCategoryVo.class, response);
|
||||
public void export(FlowCategoryBo bo, HttpServletResponse response) {
|
||||
List<FlowCategoryVo> list = FlowCategoryService.queryList(bo);
|
||||
ExcelUtil.exportExcel(list, "流程分类", FlowCategoryVo.class, response);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -64,9 +64,9 @@ public class WfCategoryController extends BaseController {
|
||||
*/
|
||||
@SaCheckPermission("workflow:category:query")
|
||||
@GetMapping("/{id}")
|
||||
public R<WfCategoryVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
public R<FlowCategoryVo> getInfo(@NotNull(message = "主键不能为空")
|
||||
@PathVariable Long id) {
|
||||
return R.ok(wfCategoryService.queryById(id));
|
||||
return R.ok(FlowCategoryService.queryById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -76,8 +76,8 @@ public class WfCategoryController extends BaseController {
|
||||
@Log(title = "流程分类", businessType = BusinessType.INSERT)
|
||||
@RepeatSubmit()
|
||||
@PostMapping()
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody WfCategoryBo bo) {
|
||||
return toAjax(wfCategoryService.insertByBo(bo));
|
||||
public R<Void> add(@Validated(AddGroup.class) @RequestBody FlowCategoryBo bo) {
|
||||
return toAjax(FlowCategoryService.insertByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -87,8 +87,8 @@ public class WfCategoryController extends BaseController {
|
||||
@Log(title = "流程分类", businessType = BusinessType.UPDATE)
|
||||
@RepeatSubmit()
|
||||
@PutMapping()
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody WfCategoryBo bo) {
|
||||
return toAjax(wfCategoryService.updateByBo(bo));
|
||||
public R<Void> edit(@Validated(EditGroup.class) @RequestBody FlowCategoryBo bo) {
|
||||
return toAjax(FlowCategoryService.updateByBo(bo));
|
||||
}
|
||||
|
||||
/**
|
||||
@ -101,6 +101,6 @@ public class WfCategoryController extends BaseController {
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(wfCategoryService.deleteWithValidByIds(List.of(ids), true));
|
||||
return toAjax(FlowCategoryService.deleteWithValidByIds(List.of(ids), true));
|
||||
}
|
||||
}
|
@ -16,8 +16,8 @@ import java.io.Serial;
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@TableName("wf_category")
|
||||
public class WfCategory extends TenantEntity {
|
||||
@TableName("flow_category")
|
||||
public class FlowCategory extends TenantEntity {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
@ -3,7 +3,7 @@ package org.dromara.workflow.domain.bo;
|
||||
import jakarta.validation.constraints.NotNull;
|
||||
import lombok.Data;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.workflow.domain.vo.WfCopy;
|
||||
import org.dromara.workflow.domain.vo.FlowCopy;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
@ -37,7 +37,7 @@ public class CompleteTaskBo implements Serializable {
|
||||
/**
|
||||
* 抄送人员
|
||||
*/
|
||||
private List<WfCopy> wfCopyList;
|
||||
private List<FlowCopy> FlowCopyList;
|
||||
|
||||
/**
|
||||
* 消息类型
|
||||
|
@ -8,7 +8,7 @@ import lombok.EqualsAndHashCode;
|
||||
import org.dromara.common.core.validate.AddGroup;
|
||||
import org.dromara.common.core.validate.EditGroup;
|
||||
import org.dromara.common.mybatis.core.domain.BaseEntity;
|
||||
import org.dromara.workflow.domain.WfCategory;
|
||||
import org.dromara.workflow.domain.FlowCategory;
|
||||
|
||||
/**
|
||||
* 流程分类业务对象 wf_category
|
||||
@ -18,8 +18,8 @@ import org.dromara.workflow.domain.WfCategory;
|
||||
*/
|
||||
@Data
|
||||
@EqualsAndHashCode(callSuper = true)
|
||||
@AutoMapper(target = WfCategory.class, reverseConvertGenerate = false)
|
||||
public class WfCategoryBo extends BaseEntity {
|
||||
@AutoMapper(target = FlowCategory.class, reverseConvertGenerate = false)
|
||||
public class FlowCategoryBo extends BaseEntity {
|
||||
|
||||
/**
|
||||
* 主键
|
@ -4,7 +4,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import io.github.linpeilie.annotations.AutoMapper;
|
||||
import lombok.Data;
|
||||
import org.dromara.workflow.domain.WfCategory;
|
||||
import org.dromara.workflow.domain.FlowCategory;
|
||||
|
||||
import java.io.Serial;
|
||||
import java.io.Serializable;
|
||||
@ -18,8 +18,8 @@ import java.io.Serializable;
|
||||
*/
|
||||
@Data
|
||||
@ExcelIgnoreUnannotated
|
||||
@AutoMapper(target = WfCategory.class)
|
||||
public class WfCategoryVo implements Serializable {
|
||||
@AutoMapper(target = FlowCategory.class)
|
||||
public class FlowCategoryVo implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
@ -12,7 +12,7 @@ import java.io.Serializable;
|
||||
* @author may
|
||||
*/
|
||||
@Data
|
||||
public class WfCopy implements Serializable {
|
||||
public class FlowCopy implements Serializable {
|
||||
|
||||
@Serial
|
||||
private static final long serialVersionUID = 1L;
|
@ -0,0 +1,15 @@
|
||||
package org.dromara.workflow.mapper;
|
||||
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
import org.dromara.workflow.domain.FlowCategory;
|
||||
import org.dromara.workflow.domain.vo.FlowCategoryVo;
|
||||
|
||||
/**
|
||||
* 流程分类Mapper接口
|
||||
*
|
||||
* @author may
|
||||
* @date 2023-06-27
|
||||
*/
|
||||
public interface FlwCategoryMapper extends BaseMapperPlus<FlowCategory, FlowCategoryVo> {
|
||||
|
||||
}
|
@ -1,15 +0,0 @@
|
||||
package org.dromara.workflow.mapper;
|
||||
|
||||
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
|
||||
import org.dromara.workflow.domain.WfCategory;
|
||||
import org.dromara.workflow.domain.vo.WfCategoryVo;
|
||||
|
||||
/**
|
||||
* 流程分类Mapper接口
|
||||
*
|
||||
* @author may
|
||||
* @date 2023-06-27
|
||||
*/
|
||||
public interface WfCategoryMapper extends BaseMapperPlus<WfCategory, WfCategoryVo> {
|
||||
|
||||
}
|
@ -1,7 +1,7 @@
|
||||
package org.dromara.workflow.service;
|
||||
|
||||
import org.dromara.workflow.domain.bo.WfCategoryBo;
|
||||
import org.dromara.workflow.domain.vo.WfCategoryVo;
|
||||
import org.dromara.workflow.domain.bo.FlowCategoryBo;
|
||||
import org.dromara.workflow.domain.vo.FlowCategoryVo;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
@ -12,28 +12,28 @@ import java.util.List;
|
||||
* @author may
|
||||
* @date 2023-06-28
|
||||
*/
|
||||
public interface IWfCategoryService {
|
||||
public interface IFlwCategoryService {
|
||||
|
||||
/**
|
||||
* 查询流程分类
|
||||
*/
|
||||
WfCategoryVo queryById(Long id);
|
||||
FlowCategoryVo queryById(Long id);
|
||||
|
||||
|
||||
/**
|
||||
* 查询流程分类列表
|
||||
*/
|
||||
List<WfCategoryVo> queryList(WfCategoryBo bo);
|
||||
List<FlowCategoryVo> queryList(FlowCategoryBo bo);
|
||||
|
||||
/**
|
||||
* 新增流程分类
|
||||
*/
|
||||
Boolean insertByBo(WfCategoryBo bo);
|
||||
Boolean insertByBo(FlowCategoryBo bo);
|
||||
|
||||
/**
|
||||
* 修改流程分类
|
||||
*/
|
||||
Boolean updateByBo(WfCategoryBo bo);
|
||||
Boolean updateByBo(FlowCategoryBo bo);
|
||||
|
||||
/**
|
||||
* 校验并批量删除流程分类信息
|
@ -9,7 +9,7 @@ import java.util.List;
|
||||
*
|
||||
* @author AprilWind
|
||||
*/
|
||||
public interface IWfTaskAssigneeService {
|
||||
public interface IFlwTaskAssigneeService {
|
||||
|
||||
/**
|
||||
* 根据存储标识符(storageId)解析分配类型和ID,并获取对应的用户列表
|
@ -5,11 +5,11 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.workflow.domain.WfCategory;
|
||||
import org.dromara.workflow.domain.bo.WfCategoryBo;
|
||||
import org.dromara.workflow.domain.vo.WfCategoryVo;
|
||||
import org.dromara.workflow.mapper.WfCategoryMapper;
|
||||
import org.dromara.workflow.service.IWfCategoryService;
|
||||
import org.dromara.workflow.domain.FlowCategory;
|
||||
import org.dromara.workflow.domain.bo.FlowCategoryBo;
|
||||
import org.dromara.workflow.domain.vo.FlowCategoryVo;
|
||||
import org.dromara.workflow.mapper.FlwCategoryMapper;
|
||||
import org.dromara.workflow.service.IFlwCategoryService;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
@ -24,15 +24,15 @@ import java.util.List;
|
||||
*/
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class WfCategoryServiceImpl implements IWfCategoryService {
|
||||
public class FlwCategoryServiceImpl implements IFlwCategoryService {
|
||||
|
||||
private final WfCategoryMapper baseMapper;
|
||||
private final FlwCategoryMapper baseMapper;
|
||||
|
||||
/**
|
||||
* 查询流程分类
|
||||
*/
|
||||
@Override
|
||||
public WfCategoryVo queryById(Long id) {
|
||||
public FlowCategoryVo queryById(Long id) {
|
||||
return baseMapper.selectVoById(id);
|
||||
}
|
||||
|
||||
@ -41,14 +41,14 @@ public class WfCategoryServiceImpl implements IWfCategoryService {
|
||||
* 查询流程分类列表
|
||||
*/
|
||||
@Override
|
||||
public List<WfCategoryVo> queryList(WfCategoryBo bo) {
|
||||
LambdaQueryWrapper<WfCategory> lqw = buildQueryWrapper(bo);
|
||||
public List<FlowCategoryVo> queryList(FlowCategoryBo bo) {
|
||||
LambdaQueryWrapper<FlowCategory> lqw = buildQueryWrapper(bo);
|
||||
return baseMapper.selectVoList(lqw);
|
||||
}
|
||||
|
||||
private LambdaQueryWrapper<WfCategory> buildQueryWrapper(WfCategoryBo bo) {
|
||||
LambdaQueryWrapper<WfCategory> lqw = Wrappers.lambdaQuery();
|
||||
lqw.like(StringUtils.isNotBlank(bo.getCategoryName()), WfCategory::getCategoryName, bo.getCategoryName());
|
||||
private LambdaQueryWrapper<FlowCategory> buildQueryWrapper(FlowCategoryBo bo) {
|
||||
LambdaQueryWrapper<FlowCategory> lqw = Wrappers.lambdaQuery();
|
||||
lqw.like(StringUtils.isNotBlank(bo.getCategoryName()), FlowCategory::getCategoryName, bo.getCategoryName());
|
||||
return lqw;
|
||||
}
|
||||
|
||||
@ -56,8 +56,8 @@ public class WfCategoryServiceImpl implements IWfCategoryService {
|
||||
* 新增流程分类
|
||||
*/
|
||||
@Override
|
||||
public Boolean insertByBo(WfCategoryBo bo) {
|
||||
WfCategory add = MapstructUtils.convert(bo, WfCategory.class);
|
||||
public Boolean insertByBo(FlowCategoryBo bo) {
|
||||
FlowCategory add = MapstructUtils.convert(bo, FlowCategory.class);
|
||||
validEntityBeforeSave(add);
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
@ -71,8 +71,8 @@ public class WfCategoryServiceImpl implements IWfCategoryService {
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean updateByBo(WfCategoryBo bo) {
|
||||
WfCategory update = MapstructUtils.convert(bo, WfCategory.class);
|
||||
public Boolean updateByBo(FlowCategoryBo bo) {
|
||||
FlowCategory update = MapstructUtils.convert(bo, FlowCategory.class);
|
||||
validEntityBeforeSave(update);
|
||||
return baseMapper.updateById(update) > 0;
|
||||
}
|
||||
@ -80,7 +80,7 @@ public class WfCategoryServiceImpl implements IWfCategoryService {
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(WfCategory entity) {
|
||||
private void validEntityBeforeSave(FlowCategory entity) {
|
||||
// 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
@ -213,7 +213,7 @@ public class FlwInstanceServiceImpl implements IFlwInstanceService {
|
||||
if (currentTaskList.size() > 1) {
|
||||
currentTaskList.remove(0);
|
||||
List<Long> taskIds = StreamUtils.toList(currentTaskList, Task::getId);
|
||||
WorkflowUtils.userService.deleteByTaskIds(taskIds);
|
||||
WorkflowUtils.getFlowUserService().deleteByTaskIds(taskIds);
|
||||
flowTaskMapper.deleteByIds(taskIds);
|
||||
}
|
||||
}
|
||||
|
@ -9,9 +9,10 @@ import org.dromara.common.core.domain.dto.TaskAssigneeDTO;
|
||||
import org.dromara.common.core.domain.dto.UserDTO;
|
||||
import org.dromara.common.core.domain.model.TaskAssigneeBody;
|
||||
import org.dromara.common.core.enums.FormatsType;
|
||||
import org.dromara.common.core.service.*;
|
||||
import org.dromara.workflow.common.enums.TaskAssigneeEnum;
|
||||
import org.dromara.common.core.exception.ServiceException;
|
||||
import org.dromara.common.core.service.DeptService;
|
||||
import org.dromara.common.core.service.TaskAssigneeService;
|
||||
import org.dromara.common.core.service.UserService;
|
||||
import org.dromara.common.core.utils.DateUtils;
|
||||
import org.dromara.common.core.utils.StringUtils;
|
||||
import org.dromara.warm.flow.ui.dto.HandlerFunDto;
|
||||
@ -19,11 +20,11 @@ import org.dromara.warm.flow.ui.dto.HandlerQuery;
|
||||
import org.dromara.warm.flow.ui.dto.TreeFunDto;
|
||||
import org.dromara.warm.flow.ui.service.HandlerSelectService;
|
||||
import org.dromara.warm.flow.ui.vo.HandlerSelectVo;
|
||||
import org.dromara.workflow.service.IWfTaskAssigneeService;
|
||||
import org.dromara.workflow.common.enums.TaskAssigneeEnum;
|
||||
import org.dromara.workflow.service.IFlwTaskAssigneeService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
|
||||
@ -35,7 +36,7 @@ import java.util.Optional;
|
||||
@Slf4j
|
||||
@RequiredArgsConstructor
|
||||
@Service
|
||||
public class WfTaskAssigneeServiceImpl implements IWfTaskAssigneeService, HandlerSelectService {
|
||||
public class FlwTaskAssigneeServiceImpl implements IFlwTaskAssigneeService, HandlerSelectService {
|
||||
|
||||
private static final String DEFAULT_GROUP_NAME = "默认分组";
|
||||
private final TaskAssigneeService taskAssigneeService;
|
@ -39,7 +39,7 @@ import org.dromara.workflow.common.enums.TaskStatusEnum;
|
||||
import org.dromara.workflow.domain.bo.*;
|
||||
import org.dromara.workflow.domain.vo.FlowHisTaskVo;
|
||||
import org.dromara.workflow.domain.vo.FlowTaskVo;
|
||||
import org.dromara.workflow.domain.vo.WfCopy;
|
||||
import org.dromara.workflow.domain.vo.FlowCopy;
|
||||
import org.dromara.workflow.handler.FlowProcessEventHandler;
|
||||
import org.dromara.workflow.handler.WorkflowPermissionHandler;
|
||||
import org.dromara.workflow.mapper.FlwTaskMapper;
|
||||
@ -135,7 +135,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
List<String> messageType = completeTaskBo.getMessageType();
|
||||
String notice = completeTaskBo.getNotice();
|
||||
// 获取抄送人
|
||||
List<WfCopy> wfCopyList = completeTaskBo.getWfCopyList();
|
||||
List<FlowCopy> FlowCopyList = completeTaskBo.getFlowCopyList();
|
||||
FlowTask flowTask = flowTaskMapper.selectById(taskId);
|
||||
Instance ins = insService.getById(flowTask.getInstanceId());
|
||||
// 获取流程定义信息
|
||||
@ -153,7 +153,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
|
||||
flowParams.hisTaskExt(completeTaskBo.getFileId());
|
||||
// 执行任务跳转,并根据返回的处理人设置下一步处理人
|
||||
setHandler(taskService.skip(taskId, flowParams), flowTask, wfCopyList);
|
||||
setHandler(taskService.skip(taskId, flowParams), flowTask, FlowCopyList);
|
||||
// 消息通知
|
||||
WorkflowUtils.sendMessage(definition.getFlowName(), ins.getId(), messageType, notice);
|
||||
return true;
|
||||
@ -168,32 +168,32 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
*
|
||||
* @param instance 实例
|
||||
* @param task (当前任务)未办理的任务
|
||||
* @param wfCopyList 抄送人
|
||||
* @param FlowCopyList 抄送人
|
||||
*/
|
||||
private void setHandler(Instance instance, FlowTask task, List<WfCopy> wfCopyList) {
|
||||
private void setHandler(Instance instance, FlowTask task, List<FlowCopy> FlowCopyList) {
|
||||
if (instance == null) {
|
||||
return;
|
||||
}
|
||||
//添加抄送人
|
||||
setCopy(task, wfCopyList);
|
||||
setCopy(task, FlowCopyList);
|
||||
// 根据流程实例ID查询所有关联的任务
|
||||
List<FlowTask> flowTasks = selectByInstId(instance.getId());
|
||||
List<User> userList = new ArrayList<>();
|
||||
// 遍历任务列表,处理每个任务的办理人
|
||||
for (FlowTask flowTask : flowTasks) {
|
||||
// 获取与当前任务关联的用户列表
|
||||
List<User> associatedUsers = WorkflowUtils.userService.getByAssociateds(Collections.singletonList(flowTask.getId()));
|
||||
List<User> associatedUsers = WorkflowUtils.getFlowUserService().getByAssociateds(Collections.singletonList(flowTask.getId()));
|
||||
if (CollUtil.isNotEmpty(associatedUsers)) {
|
||||
userList.addAll(WorkflowUtils.buildUser(associatedUsers, flowTask.getId()));
|
||||
}
|
||||
}
|
||||
// 批量删除现有任务的办理人记录
|
||||
if (CollUtil.isNotEmpty(flowTasks)) {
|
||||
WorkflowUtils.userService.deleteByTaskIds(StreamUtils.toList(flowTasks, FlowTask::getId));
|
||||
WorkflowUtils.getFlowUserService().deleteByTaskIds(StreamUtils.toList(flowTasks, FlowTask::getId));
|
||||
}
|
||||
// 确保要保存的 userList 不为空
|
||||
if (CollUtil.isNotEmpty(userList)) {
|
||||
WorkflowUtils.userService.saveBatch(userList);
|
||||
WorkflowUtils.getFlowUserService().saveBatch(userList);
|
||||
}
|
||||
}
|
||||
|
||||
@ -201,10 +201,10 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
* 添加抄送人
|
||||
*
|
||||
* @param task 任务信息
|
||||
* @param wfCopyList 抄送人
|
||||
* @param FlowCopyList 抄送人
|
||||
*/
|
||||
private void setCopy(FlowTask task, List<WfCopy> wfCopyList) {
|
||||
if (CollUtil.isEmpty(wfCopyList)) {
|
||||
private void setCopy(FlowTask task, List<FlowCopy> FlowCopyList) {
|
||||
if (CollUtil.isEmpty(FlowCopyList)) {
|
||||
return;
|
||||
}
|
||||
// 添加抄送人记录
|
||||
@ -220,21 +220,21 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
FlowParams flowParams = FlowParams.build();
|
||||
flowParams.skipType(SkipType.NONE.getKey());
|
||||
flowParams.hisStatus(TaskStatusEnum.COPY.getStatus());
|
||||
flowParams.message("【抄送给】" + StreamUtils.join(wfCopyList, WfCopy::getUserName));
|
||||
flowParams.message("【抄送给】" + StreamUtils.join(FlowCopyList, FlowCopy::getUserName));
|
||||
HisTask hisTask = hisTaskService.setSkipHisTask(task, flowNode, flowParams);
|
||||
hisTask.setCreateTime(updateTime);
|
||||
hisTask.setUpdateTime(updateTime);
|
||||
hisTaskService.save(hisTask);
|
||||
List<User> userList = wfCopyList.stream()
|
||||
.map(wfCopy -> {
|
||||
List<User> userList = FlowCopyList.stream()
|
||||
.map(FlowCopy -> {
|
||||
FlowUser flowUser = new FlowUser();
|
||||
flowUser.setType(TaskAssigneeType.COPY.getCode());
|
||||
flowUser.setProcessedBy(String.valueOf(wfCopy.getUserId()));
|
||||
flowUser.setProcessedBy(String.valueOf(FlowCopy.getUserId()));
|
||||
flowUser.setAssociated(taskId);
|
||||
return flowUser;
|
||||
}).collect(Collectors.toList());
|
||||
// 批量保存抄送人员
|
||||
WorkflowUtils.userService.saveBatch(userList);
|
||||
WorkflowUtils.getFlowUserService().saveBatch(userList);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -639,7 +639,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
List<FlowTask> flowTasks = selectByIdList(taskIdList);
|
||||
// 批量删除现有任务的办理人记录
|
||||
if (CollUtil.isNotEmpty(flowTasks)) {
|
||||
WorkflowUtils.userService.deleteByTaskIds(StreamUtils.toList(flowTasks, FlowTask::getId));
|
||||
WorkflowUtils.getFlowUserService().deleteByTaskIds(StreamUtils.toList(flowTasks, FlowTask::getId));
|
||||
List<User> userList = flowTasks.stream()
|
||||
.map(flowTask -> {
|
||||
FlowUser flowUser = new FlowUser();
|
||||
@ -650,7 +650,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
})
|
||||
.collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(userList)) {
|
||||
WorkflowUtils.userService.saveBatch(userList);
|
||||
WorkflowUtils.getFlowUserService().saveBatch(userList);
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
@ -669,7 +669,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
public Map<Long, List<UserDTO>> currentTaskAllUser(List<Long> taskIdList) {
|
||||
Map<Long, List<UserDTO>> map = new HashMap<>();
|
||||
// 获取与当前任务关联的用户列表
|
||||
List<User> associatedUsers = WorkflowUtils.userService.getByAssociateds(taskIdList);
|
||||
List<User> associatedUsers = WorkflowUtils.getFlowUserService().getByAssociateds(taskIdList);
|
||||
Map<Long, List<User>> listMap = StreamUtils.groupByKey(associatedUsers, User::getAssociated);
|
||||
for (Map.Entry<Long, List<User>> entry : listMap.entrySet()) {
|
||||
List<User> value = entry.getValue();
|
||||
@ -689,7 +689,7 @@ public class FlwTaskServiceImpl implements IFlwTaskService {
|
||||
@Override
|
||||
public List<UserDTO> currentTaskAllUser(Long taskId) {
|
||||
// 获取与当前任务关联的用户列表
|
||||
List<User> userList = WorkflowUtils.userService.getByAssociateds(Collections.singletonList(taskId));
|
||||
List<User> userList = WorkflowUtils.getFlowUserService().getByAssociateds(Collections.singletonList(taskId));
|
||||
if (CollUtil.isEmpty(userList)) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
|
@ -17,10 +17,13 @@ import org.dromara.warm.flow.core.service.UserService;
|
||||
import org.dromara.warm.flow.orm.entity.FlowTask;
|
||||
import org.dromara.warm.flow.orm.entity.FlowUser;
|
||||
import org.dromara.workflow.common.enums.MessageTypeEnum;
|
||||
import org.dromara.workflow.service.IFlwTaskAssigneeService;
|
||||
import org.dromara.workflow.service.IFlwTaskService;
|
||||
import org.dromara.workflow.service.IWfTaskAssigneeService;
|
||||
|
||||
import java.util.*;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
|
||||
/**
|
||||
@ -30,9 +33,17 @@ import java.util.*;
|
||||
*/
|
||||
@NoArgsConstructor(access = AccessLevel.PRIVATE)
|
||||
public class WorkflowUtils {
|
||||
public static final IWfTaskAssigneeService taskAssigneeService = SpringUtils.getBean(IWfTaskAssigneeService.class);
|
||||
public static final IFlwTaskService iFlwTaskService = SpringUtils.getBean(IFlwTaskService.class);
|
||||
public static final UserService userService = SpringUtils.getBean(UserService.class);
|
||||
|
||||
private static final IFlwTaskAssigneeService taskAssigneeService = SpringUtils.getBean(IFlwTaskAssigneeService.class);
|
||||
private static final IFlwTaskService flwTaskService = SpringUtils.getBean(IFlwTaskService.class);
|
||||
private static final UserService userService = SpringUtils.getBean(UserService.class);
|
||||
|
||||
/**
|
||||
* 获取工作流用户service
|
||||
*/
|
||||
public static UserService getFlowUserService() {
|
||||
return userService;
|
||||
}
|
||||
|
||||
/**
|
||||
* 构建工作流用户
|
||||
@ -77,12 +88,12 @@ public class WorkflowUtils {
|
||||
*/
|
||||
public static void sendMessage(String flowName, Long instId, List<String> messageType, String message) {
|
||||
List<UserDTO> userList = new ArrayList<>();
|
||||
List<FlowTask> list = iFlwTaskService.selectByInstId(instId);
|
||||
List<FlowTask> list = flwTaskService.selectByInstId(instId);
|
||||
if (StringUtils.isBlank(message)) {
|
||||
message = "有新的【" + flowName + "】单据已经提交至您,请您及时处理。";
|
||||
}
|
||||
for (Task task : list) {
|
||||
List<UserDTO> users = iFlwTaskService.currentTaskAllUser(task.getId());
|
||||
List<UserDTO> users = flwTaskService.currentTaskAllUser(task.getId());
|
||||
if (CollUtil.isNotEmpty(users)) {
|
||||
userList.addAll(users);
|
||||
}
|
||||
|
@ -2,6 +2,6 @@
|
||||
<!DOCTYPE mapper
|
||||
PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="org.dromara.workflow.mapper.WfCategoryMapper">
|
||||
<mapper namespace="org.dromara.workflow.mapper.FlwCategoryMapper">
|
||||
|
||||
</mapper>
|
@ -147,9 +147,9 @@ CREATE TABLE `flow_user`
|
||||
) ENGINE=InnoDB COMMENT='流程用户表';
|
||||
|
||||
-- ----------------------------
|
||||
-- 1、流程分类表
|
||||
-- 流程分类表
|
||||
-- ----------------------------
|
||||
create table wf_category
|
||||
create table flow_category
|
||||
(
|
||||
id bigint(20) not null comment '流程分类ID',
|
||||
tenant_id varchar(20) default '000000' comment '租户编号',
|
||||
@ -165,94 +165,11 @@ create table wf_category
|
||||
constraint uni_category_code unique (category_code),
|
||||
primary key (id)
|
||||
) engine = innodb comment = '流程分类';
|
||||
INSERT INTO wf_category values (1, 'OA', 'OA', 0, 0, '000000', 103, 1, sysdate(), 1, sysdate());
|
||||
|
||||
INSERT INTO flow_category values (1, '000000', 'OA', 'OA', 0, 0, 103, 1, sysdate(), null, null);
|
||||
|
||||
-- ----------------------------
|
||||
-- 2、流程定义配置表
|
||||
-- ----------------------------
|
||||
create table wf_definition_config
|
||||
(
|
||||
id bigint(20) not null comment '流程定义ID',
|
||||
tenant_id varchar(20) default '000000' comment '租户编号',
|
||||
table_name varchar(255) not null comment '表名',
|
||||
definition_id varchar(255) not null comment '流程定义ID',
|
||||
process_key varchar(255) not null comment '流程KEY',
|
||||
version varchar(255) not null comment '流程版本',
|
||||
create_dept bigint(20) null comment '创建部门',
|
||||
create_by bigint(20) null comment '创建者',
|
||||
create_time datetime null comment '创建时间',
|
||||
update_by bigint(20) null comment '更新者',
|
||||
update_time datetime null comment '更新时间',
|
||||
remark varchar(500) default '' null comment '备注',
|
||||
primary key (id),
|
||||
constraint uni_definition_id unique (definition_id)
|
||||
) engine = innodb comment '流程定义配置';
|
||||
|
||||
insert into sys_menu values ('11616', '工作流', '0', '6', 'workflow', '', '', '1', '0', 'M', '0', '0', '', 'workflow', 103, 1, sysdate(),NULL, NULL, '');
|
||||
insert into sys_menu values ('11618', '我的任务', '0', '7', 'task', '', '', '1', '0', 'M', '0', '0', '', 'my-task', 103, 1, sysdate(), NULL,
|
||||
NULL, '');
|
||||
insert into sys_menu
|
||||
values ('11619', '我的待办', '11618', '2', 'taskWaiting', 'workflow/task/taskWaiting', '', '1', '1', 'C', '0', '0', '',
|
||||
'waiting', 103, 1, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu
|
||||
values ('11632', '我的已办', '11618', '3', 'taskFinish', 'workflow/task/taskFinish', '', '1', '1', 'C', '0', '0', '',
|
||||
'finish', 103, 1, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu
|
||||
values ('11633', '我的抄送', '11618', '4', 'taskCopyList', 'workflow/task/taskCopyList', '', '1', '1', 'C', '0', '0',
|
||||
'', 'my-copy', 103, 1, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu
|
||||
values ('11620', '流程定义', '11616', '3', 'processDefinition', 'workflow/processDefinition/index', '', '1', '1', 'C',
|
||||
'0', '0', '', 'process-definition', 103, 1, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu
|
||||
values ('11621', '流程实例', '11630', '1', 'processInstance', 'workflow/processInstance/index', '', '1', '1', 'C', '0',
|
||||
'0', '', 'tree-table', 103, 1, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu
|
||||
values ('11622', '流程分类', '11616', '1', 'category', 'workflow/category/index', '', '1', '0', 'C', '0', '0',
|
||||
'workflow:category:list', 'category', 103, 1, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu
|
||||
values ('11629', '我发起的', '11618', '1', 'myDocument', 'workflow/task/myDocument', '', '1', '1', 'C', '0', '0', '',
|
||||
'guide', 103, 1, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu
|
||||
values ('11630', '流程监控', '11616', '4', 'monitor', '', '', '1', '0', 'M', '0', '0', '', 'monitor', 103, 1, sysdate(),
|
||||
NULL, NULL, '');
|
||||
insert into sys_menu
|
||||
values ('11631', '待办任务', '11630', '2', 'allTaskWaiting', 'workflow/task/allTaskWaiting', '', '1', '1', 'C', '0',
|
||||
'0', '', 'waiting', 103, 1, sysdate(), NULL, NULL, '');
|
||||
|
||||
-- 流程分类管理相关按钮
|
||||
insert into sys_menu values ('11623', '流程分类查询', '11622', '1', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:query', '#', 103, 1,sysdate(), null, null, '');
|
||||
insert into sys_menu values ('11624', '流程分类新增', '11622', '2', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:add', '#', 103, 1,sysdate(), null, null, '');
|
||||
insert into sys_menu values ('11625', '流程分类修改', '11622', '3', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:edit', '#', 103, 1,sysdate(), null, null, '');
|
||||
insert into sys_menu values ('11626', '流程分类删除', '11622', '4', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:remove', '#', 103,1, sysdate(), null, null, '');
|
||||
insert into sys_menu values ('11627', '流程分类导出', '11622', '5', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:export', '#', 103,1, sysdate(), null, null, '');
|
||||
|
||||
INSERT INTO sys_dict_type(dict_id, tenant_id, dict_name, dict_type, create_dept, create_by, create_time, update_by,update_time, remark) VALUES (13, '000000', '业务状态', 'wf_business_status', 103, 1, sysdate(), NULL, NULL, '业务状态列表');
|
||||
INSERT INTO sys_dict_type(dict_id, tenant_id, dict_name, dict_type, create_dept, create_by, create_time, update_by,update_time, remark) VALUES (14, '000000', '表单类型', 'wf_form_type', 103, 1, sysdate(), NULL, NULL, '表单类型列表');
|
||||
INSERT INTO sys_dict_type(dict_id, tenant_id, dict_name, dict_type, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (15, '000000', '任务状态', 'wf_task_status', 103, 1, '2024-12-01 14:32:07', 1, '2024-12-13 17:53:59', '任务状态');
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class,is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (39, '000000', 1, '已撤销', 'cancel', 'wf_business_status', '', 'danger', 'N', 103, 1, sysdate(), NULL, NULL,'已撤销');
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class,is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (40, '000000', 2, '草稿', 'draft', 'wf_business_status', '', 'info', 'N', 103, 1, sysdate(), NULL, NULL, '草稿');
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class,is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (41, '000000', 3, '待审核', 'waiting', 'wf_business_status', '', 'primary', 'N', 103, 1, sysdate(), NULL, NULL,'待审核');
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class,is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (42, '000000', 4, '已完成', 'finish', 'wf_business_status', '', 'success', 'N', 103, 1, sysdate(), NULL, NULL,'已完成');
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class,is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (43, '000000', 5, '已作废', 'invalid', 'wf_business_status', '', 'danger', 'N', 103, 1, sysdate(), NULL, NULL,'已作废');
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class,is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (44, '000000', 6, '已退回', 'back', 'wf_business_status', '', 'danger', 'N', 103, 1, sysdate(), NULL, NULL,'已退回');
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class,is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (45, '000000', 7, '已终止', 'termination', 'wf_business_status', '', 'danger', 'N', 103, 1, sysdate(), NULL,NULL, '已终止');
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class,is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (46, '000000', 1, '自定义表单', 'static', 'wf_form_type', '', 'success', 'N', 103, 1, sysdate(), NULL, NULL,'自定义表单');
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class,is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (47, '000000', 2, '动态表单', 'dynamic', 'wf_form_type', '', 'primary', 'N', 103, 1, sysdate(), NULL, NULL,'动态表单');
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (48, '000000', 1, '撤销', 'cancel', 'wf_task_status', '', 'danger', 'N', 103, 1, '2024-12-01 14:32:47', 1, '2024-12-01 14:32:55', '');
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (49, '000000', 2, '通过', 'pass', 'wf_task_status', '', 'success', 'N', 103, 1, '2024-12-01 14:33:07', 1, '2024-12-01 14:35:12', '');
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (50, '000000', 3, '待审核', 'waiting', 'wf_task_status', '', 'primary', 'N', 103, 1, '2024-12-01 14:37:13', 1, '2024-12-01 14:37:13', '');
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (51, '000000', 4, '作废', 'invalid', 'wf_task_status', '', 'danger', 'N', 103, 1, '2024-12-01 14:37:52', 1, '2024-12-01 14:37:52', '');
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (52, '000000', 5, '退回', 'back', 'wf_task_status', '', 'danger', 'N', 103, 1, '2024-12-01 14:38:08', 1, '2024-12-01 14:38:08', '');
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (53, '000000', 6, '终止', 'termination', 'wf_task_status', '', 'danger', 'N', 103, 1, '2024-12-01 14:38:24', 1, '2024-12-01 14:38:24', '');
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (54, '000000', 7, '转办', 'transfer', 'wf_task_status', '', 'primary', 'N', 103, 1, '2024-12-01 14:38:42', 1, '2024-12-01 14:38:42', '');
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (55, '000000', 8, '委托', 'depute', 'wf_task_status', '', 'primary', 'N', 103, 1, '2024-12-01 14:39:13', 1, '2024-12-01 14:39:13', '');
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (56, '000000', 9, '抄送', 'copy', 'wf_task_status', '', 'primary', 'N', 103, 1, '2024-12-01 14:39:32', 1, '2024-12-01 14:39:37', '');
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (57, '000000', 10, '加签', 'sign', 'wf_task_status', '', 'primary', 'N', 103, 1, '2024-12-01 14:39:55', 1, '2024-12-01 14:39:55', '');
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (58, '000000', 11, '减签', 'sign_off', 'wf_task_status', '', 'danger', 'N', 103, 1, '2024-12-01 14:40:23', 1, '2024-12-01 14:40:23', '');
|
||||
INSERT INTO sys_dict_data(dict_code, tenant_id, dict_sort, dict_label, dict_value, dict_type, css_class, list_class, is_default, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (59, '000000', 11, '超时', 'timeout', 'wf_task_status', '', 'danger', 'N', 103, 1, '2024-12-01 14:40:46', 1, '2024-12-01 14:40:46', '');
|
||||
|
||||
-- ----------------------------
|
||||
-- 6、请假单信息
|
||||
-- 请假单信息
|
||||
-- ----------------------------
|
||||
create table test_leave
|
||||
(
|
||||
@ -272,9 +189,53 @@ create table test_leave
|
||||
PRIMARY KEY (id) USING BTREE
|
||||
) ENGINE = InnoDB COMMENT = '请假申请表';
|
||||
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (11638, '请假申请', 5, 1, 'leave', 'workflow/leave/index', 1, 0, 'C', '0', '0', 'workflow:leave:list', '#', 103,1, sysdate(), NULL, NULL, '请假申请菜单');
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (11639, '请假申请查询', 11638, 1, '#', '', 1, 0, 'F', '0', '0', 'workflow:leave:query', '#', 103, 1, sysdate(),NULL, NULL, '');
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (11640, '请假申请新增', 11638, 2, '#', '', 1, 0, 'F', '0', '0', 'workflow:leave:add', '#', 103, 1, sysdate(),NULL, NULL, '');
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (11641, '请假申请修改', 11638, 3, '#', '', 1, 0, 'F', '0', '0', 'workflow:leave:edit', '#', 103, 1, sysdate(),NULL, NULL, '');
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (11642, '请假申请删除', 11638, 4, '#', '', 1, 0, 'F', '0', '0', 'workflow:leave:remove', '#', 103, 1, sysdate(),NULL, NULL, '');
|
||||
INSERT INTO sys_menu(menu_id, menu_name, parent_id, order_num, path, component, is_frame, is_cache, menu_type, visible,status, perms, icon, create_dept, create_by, create_time, update_by, update_time, remark) VALUES (11643, '请假申请导出', 11638, 5, '#', '', 1, 0, 'F', '0', '0', 'workflow:leave:export', '#', 103, 1, sysdate(),NULL, NULL, '');
|
||||
insert into sys_menu values ('11616', '工作流', '0', '6', 'workflow', '', '', '1', '0', 'M', '0', '0', '', 'workflow', 103, 1, sysdate(),NULL, NULL, '');
|
||||
insert into sys_menu values ('11618', '我的任务', '0', '7', 'task', '', '', '1', '0', 'M', '0', '0', '', 'my-task', 103, 1, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu values ('11619', '我的待办', '11618', '2', 'taskWaiting', 'workflow/task/taskWaiting', '', '1', '1', 'C', '0', '0', '', 'waiting', 103, 1, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu values ('11632', '我的已办', '11618', '3', 'taskFinish', 'workflow/task/taskFinish', '', '1', '1', 'C', '0', '0', '', 'finish', 103, 1, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu values ('11633', '我的抄送', '11618', '4', 'taskCopyList', 'workflow/task/taskCopyList', '', '1', '1', 'C', '0', '0', '', 'my-copy', 103, 1, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu values ('11620', '流程定义', '11616', '3', 'processDefinition', 'workflow/processDefinition/index', '', '1', '1', 'C', '0', '0', '', 'process-definition', 103, 1, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu values ('11621', '流程实例', '11630', '1', 'processInstance', 'workflow/processInstance/index', '', '1', '1', 'C', '0', '0', '', 'tree-table', 103, 1, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu values ('11622', '流程分类', '11616', '1', 'category', 'workflow/category/index', '', '1', '0', 'C', '0', '0', 'workflow:category:list', 'category', 103, 1, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu values ('11629', '我发起的', '11618', '1', 'myDocument', 'workflow/task/myDocument', '', '1', '1', 'C', '0', '0', '', 'guide', 103, 1, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu values ('11630', '流程监控', '11616', '4', 'monitor', '', '', '1', '0', 'M', '0', '0', '', 'monitor', 103, 1, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu values ('11631', '待办任务', '11630', '2', 'allTaskWaiting', 'workflow/task/allTaskWaiting', '', '1', '1', 'C', '0', '0', '', 'waiting', 103, 1, sysdate(), NULL, NULL, '');
|
||||
-- 流程分类管理相关按钮
|
||||
insert into sys_menu values ('11623', '流程分类查询', '11622', '1', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:query', '#', 103, 1,sysdate(), null, null, '');
|
||||
insert into sys_menu values ('11624', '流程分类新增', '11622', '2', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:add', '#', 103, 1,sysdate(), null, null, '');
|
||||
insert into sys_menu values ('11625', '流程分类修改', '11622', '3', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:edit', '#', 103, 1,sysdate(), null, null, '');
|
||||
insert into sys_menu values ('11626', '流程分类删除', '11622', '4', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:remove', '#', 103,1, sysdate(), null, null, '');
|
||||
insert into sys_menu values ('11627', '流程分类导出', '11622', '5', '#', '', '', 1, 0, 'F', '0', '0', 'workflow:category:export', '#', 103,1, sysdate(), null, null, '');
|
||||
-- 请假测试相关按钮
|
||||
insert into sys_menu VALUES (11638, '请假申请', 5, 1, 'leave', 'workflow/leave/index', '', 1, 0, 'C', '0', '0', 'workflow:leave:list', '#', 103, 1, sysdate(), NULL, NULL, '请假申请菜单');
|
||||
insert into sys_menu VALUES (11639, '请假申请查询', 11638, 1, '#', '', '', 1, 0, 'F', '0', '0', 'workflow:leave:query', '#', 103, 1, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu VALUES (11640, '请假申请新增', 11638, 2, '#', '', '', 1, 0, 'F', '0', '0', 'workflow:leave:add', '#', 103, 1, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu VALUES (11641, '请假申请修改', 11638, 3, '#', '', '', 1, 0, 'F', '0', '0', 'workflow:leave:edit', '#', 103, 1, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu VALUES (11642, '请假申请删除', 11638, 4, '#', '', '', 1, 0, 'F', '0', '0', 'workflow:leave:remove', '#', 103, 1, sysdate(), NULL, NULL, '');
|
||||
insert into sys_menu VALUES (11643, '请假申请导出', 11638, 5, '#', '', '', 1, 0, 'F', '0', '0', 'workflow:leave:export', '#', 103, 1, sysdate(), NULL, NULL, '');
|
||||
|
||||
INSERT INTO sys_dict_type VALUES (13, '000000', '业务状态', 'wf_business_status', 103, 1, sysdate(), NULL, NULL, '业务状态列表');
|
||||
INSERT INTO sys_dict_type VALUES (14, '000000', '表单类型', 'wf_form_type', 103, 1, sysdate(), NULL, NULL, '表单类型列表');
|
||||
INSERT INTO sys_dict_type VALUES (15, '000000', '任务状态', 'wf_task_status', 103, 1, sysdate(), NULL, NULL, '任务状态');
|
||||
INSERT INTO sys_dict_data VALUES (39, '000000', 1, '已撤销', 'cancel', 'wf_business_status', '', 'danger', 'N', 103, 1, sysdate(), NULL, NULL,'已撤销');
|
||||
INSERT INTO sys_dict_data VALUES (40, '000000', 2, '草稿', 'draft', 'wf_business_status', '', 'info', 'N', 103, 1, sysdate(), NULL, NULL, '草稿');
|
||||
INSERT INTO sys_dict_data VALUES (41, '000000', 3, '待审核', 'waiting', 'wf_business_status', '', 'primary', 'N', 103, 1, sysdate(), NULL, NULL,'待审核');
|
||||
INSERT INTO sys_dict_data VALUES (42, '000000', 4, '已完成', 'finish', 'wf_business_status', '', 'success', 'N', 103, 1, sysdate(), NULL, NULL,'已完成');
|
||||
INSERT INTO sys_dict_data VALUES (43, '000000', 5, '已作废', 'invalid', 'wf_business_status', '', 'danger', 'N', 103, 1, sysdate(), NULL, NULL,'已作废');
|
||||
INSERT INTO sys_dict_data VALUES (44, '000000', 6, '已退回', 'back', 'wf_business_status', '', 'danger', 'N', 103, 1, sysdate(), NULL, NULL,'已退回');
|
||||
INSERT INTO sys_dict_data VALUES (45, '000000', 7, '已终止', 'termination', 'wf_business_status', '', 'danger', 'N', 103, 1, sysdate(), NULL,NULL, '已终止');
|
||||
INSERT INTO sys_dict_data VALUES (46, '000000', 1, '自定义表单', 'static', 'wf_form_type', '', 'success', 'N', 103, 1, sysdate(), NULL, NULL,'自定义表单');
|
||||
INSERT INTO sys_dict_data VALUES (47, '000000', 2, '动态表单', 'dynamic', 'wf_form_type', '', 'primary', 'N', 103, 1, sysdate(), NULL, NULL,'动态表单');
|
||||
INSERT INTO sys_dict_data VALUES (48, '000000', 1, '撤销', 'cancel', 'wf_task_status', '', 'danger', 'N', 103, 1, sysdate(), NULL, NULL, '撤销');
|
||||
INSERT INTO sys_dict_data VALUES (49, '000000', 2, '通过', 'pass', 'wf_task_status', '', 'success', 'N', 103, 1, sysdate(), NULL, NULL, '通过');
|
||||
INSERT INTO sys_dict_data VALUES (50, '000000', 3, '待审核', 'waiting', 'wf_task_status', '', 'primary', 'N', 103, 1, sysdate(), NULL, NULL, '待审核');
|
||||
INSERT INTO sys_dict_data VALUES (51, '000000', 4, '作废', 'invalid', 'wf_task_status', '', 'danger', 'N', 103, 1, sysdate(), NULL, NULL, '作废');
|
||||
INSERT INTO sys_dict_data VALUES (52, '000000', 5, '退回', 'back', 'wf_task_status', '', 'danger', 'N', 103, 1, sysdate(), NULL, NULL, '退回');
|
||||
INSERT INTO sys_dict_data VALUES (53, '000000', 6, '终止', 'termination', 'wf_task_status', '', 'danger', 'N', 103, 1, sysdate(), NULL, NULL, '终止');
|
||||
INSERT INTO sys_dict_data VALUES (54, '000000', 7, '转办', 'transfer', 'wf_task_status', '', 'primary', 'N', 103, 1, sysdate(), NULL, NULL, '转办');
|
||||
INSERT INTO sys_dict_data VALUES (55, '000000', 8, '委托', 'depute', 'wf_task_status', '', 'primary', 'N', 103, 1, sysdate(), NULL, NULL, '委托');
|
||||
INSERT INTO sys_dict_data VALUES (56, '000000', 9, '抄送', 'copy', 'wf_task_status', '', 'primary', 'N', 103, 1, sysdate(), NULL, NULL, '抄送');
|
||||
INSERT INTO sys_dict_data VALUES (57, '000000', 10, '加签', 'sign', 'wf_task_status', '', 'primary', 'N', 103, 1, sysdate(), NULL, NULL, '加签');
|
||||
INSERT INTO sys_dict_data VALUES (58, '000000', 11, '减签', 'sign_off', 'wf_task_status', '', 'danger', 'N', 103, 1, sysdate(), NULL, NULL, '减签');
|
||||
INSERT INTO sys_dict_data VALUES (59, '000000', 11, '超时', 'timeout', 'wf_task_status', '', 'danger', 'N', 103, 1, sysdate(), NULL, NULL, '超时');
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user