请假申请流程-表名称替换

This commit is contained in:
1073413548 2024-07-05 15:24:31 +08:00
parent 6d46dc9fe9
commit 8443917d42
10 changed files with 118 additions and 80 deletions

View File

@ -15,9 +15,9 @@ import org.dromara.common.log.enums.BusinessType;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.common.web.core.BaseController; import org.dromara.common.web.core.BaseController;
import org.dromara.workflow.domain.bo.TestLeaveBo; import org.dromara.workflow.domain.bo.SysUserLeaveBo;
import org.dromara.workflow.domain.vo.TestLeaveVo; import org.dromara.workflow.domain.vo.SysUserLeaveVo;
import org.dromara.workflow.service.ITestLeaveService; import org.dromara.workflow.service.ISysUserLeaveService;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
@ -33,17 +33,17 @@ import java.util.List;
@RequiredArgsConstructor @RequiredArgsConstructor
@RestController @RestController
@RequestMapping("/workflow/leave") @RequestMapping("/workflow/leave")
public class TestLeaveController extends BaseController { public class SysUserLeaveController extends BaseController {
private final ITestLeaveService testLeaveService; private final ISysUserLeaveService sysUserLeaveService;
/** /**
* 查询请假列表 * 查询请假列表
*/ */
@SaCheckPermission("workflow:leave:list") @SaCheckPermission("workflow:leave:list")
@GetMapping("/list") @GetMapping("/list")
public TableDataInfo<TestLeaveVo> list(TestLeaveBo bo, PageQuery pageQuery) { public TableDataInfo<SysUserLeaveVo> list(SysUserLeaveBo bo, PageQuery pageQuery) {
return testLeaveService.queryPageList(bo, pageQuery); return sysUserLeaveService.queryPageList(bo, pageQuery);
} }
/** /**
@ -52,9 +52,9 @@ public class TestLeaveController extends BaseController {
@SaCheckPermission("workflow:leave:export") @SaCheckPermission("workflow:leave:export")
@Log(title = "请假", businessType = BusinessType.EXPORT) @Log(title = "请假", businessType = BusinessType.EXPORT)
@PostMapping("/export") @PostMapping("/export")
public void export(TestLeaveBo bo, HttpServletResponse response) { public void export(SysUserLeaveBo bo, HttpServletResponse response) {
List<TestLeaveVo> list = testLeaveService.queryList(bo); List<SysUserLeaveVo> list = sysUserLeaveService.queryList(bo);
ExcelUtil.exportExcel(list, "请假", TestLeaveVo.class, response); ExcelUtil.exportExcel(list, "请假", SysUserLeaveVo.class, response);
} }
/** /**
@ -64,9 +64,9 @@ public class TestLeaveController extends BaseController {
*/ */
@SaCheckPermission("workflow:leave:query") @SaCheckPermission("workflow:leave:query")
@GetMapping("/{id}") @GetMapping("/{id}")
public R<TestLeaveVo> getInfo(@NotNull(message = "主键不能为空") public R<SysUserLeaveVo> getInfo(@NotNull(message = "主键不能为空")
@PathVariable Long id) { @PathVariable Long id) {
return R.ok(testLeaveService.queryById(id)); return R.ok(sysUserLeaveService.queryById(id));
} }
/** /**
@ -76,8 +76,8 @@ public class TestLeaveController extends BaseController {
@Log(title = "请假", businessType = BusinessType.INSERT) @Log(title = "请假", businessType = BusinessType.INSERT)
@RepeatSubmit() @RepeatSubmit()
@PostMapping() @PostMapping()
public R<TestLeaveVo> add(@Validated(AddGroup.class) @RequestBody TestLeaveBo bo) { public R<SysUserLeaveVo> add(@Validated(AddGroup.class) @RequestBody SysUserLeaveBo bo) {
return R.ok(testLeaveService.insertByBo(bo)); return R.ok(sysUserLeaveService.insertByBo(bo));
} }
/** /**
@ -87,8 +87,8 @@ public class TestLeaveController extends BaseController {
@Log(title = "请假", businessType = BusinessType.UPDATE) @Log(title = "请假", businessType = BusinessType.UPDATE)
@RepeatSubmit() @RepeatSubmit()
@PutMapping() @PutMapping()
public R<TestLeaveVo> edit(@Validated(EditGroup.class) @RequestBody TestLeaveBo bo) { public R<SysUserLeaveVo> edit(@Validated(EditGroup.class) @RequestBody SysUserLeaveBo bo) {
return R.ok(testLeaveService.updateByBo(bo)); return R.ok(sysUserLeaveService.updateByBo(bo));
} }
/** /**
@ -101,6 +101,6 @@ public class TestLeaveController extends BaseController {
@DeleteMapping("/{ids}") @DeleteMapping("/{ids}")
public R<Void> remove(@NotEmpty(message = "主键不能为空") public R<Void> remove(@NotEmpty(message = "主键不能为空")
@PathVariable Long[] ids) { @PathVariable Long[] ids) {
return toAjax(testLeaveService.deleteWithValidByIds(List.of(ids))); return toAjax(sysUserLeaveService.deleteWithValidByIds(List.of(ids)));
} }
} }

View File

@ -10,15 +10,15 @@ import java.io.Serial;
import java.util.Date; import java.util.Date;
/** /**
* 请假对象 test_leave * 请假对象 sys_user_leave
* *
* @author may * @author may
* @date 2023-07-21 * @date 2023-07-21
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@TableName("test_leave") @TableName("sys_user_leave")
public class TestLeave extends BaseEntity { public class SysUserLeave extends BaseEntity {
@Serial @Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;

View File

@ -9,20 +9,20 @@ import lombok.EqualsAndHashCode;
import org.dromara.common.core.validate.AddGroup; import org.dromara.common.core.validate.AddGroup;
import org.dromara.common.core.validate.EditGroup; import org.dromara.common.core.validate.EditGroup;
import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.workflow.domain.TestLeave; import org.dromara.workflow.domain.SysUserLeave;
import java.util.Date; import java.util.Date;
/** /**
* 请假业务对象 test_leave * 请假业务对象 sys_user_leave
* *
* @author may * @author may
* @date 2023-07-21 * @date 2023-07-21
*/ */
@Data @Data
@EqualsAndHashCode(callSuper = true) @EqualsAndHashCode(callSuper = true)
@AutoMapper(target = TestLeave.class, reverseConvertGenerate = false) @AutoMapper(target = SysUserLeave.class, reverseConvertGenerate = false)
public class TestLeaveBo extends BaseEntity { public class SysUserLeaveBo extends BaseEntity {
/** /**
* 主键 * 主键
@ -54,7 +54,7 @@ public class TestLeaveBo extends BaseEntity {
* 请假天数 * 请假天数
*/ */
@NotNull(message = "请假天数不能为空", groups = {AddGroup.class, EditGroup.class}) @NotNull(message = "请假天数不能为空", groups = {AddGroup.class, EditGroup.class})
private Integer leaveDays; private String leaveDays;
/** /**
* 开始时间 * 开始时间

View File

@ -4,7 +4,7 @@ import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.excel.annotation.ExcelProperty;
import io.github.linpeilie.annotations.AutoMapper; import io.github.linpeilie.annotations.AutoMapper;
import lombok.Data; import lombok.Data;
import org.dromara.workflow.domain.TestLeave; import org.dromara.workflow.domain.SysUserLeave;
import java.io.Serial; import java.io.Serial;
import java.io.Serializable; import java.io.Serializable;
@ -12,15 +12,15 @@ import java.util.Date;
/** /**
* 请假视图对象 test_leave * 请假视图对象 sys_user_leave
* *
* @author may * @author may
* @date 2023-07-21 * @date 2023-07-21
*/ */
@Data @Data
@ExcelIgnoreUnannotated @ExcelIgnoreUnannotated
@AutoMapper(target = TestLeave.class) @AutoMapper(target = SysUserLeave.class)
public class TestLeaveVo implements Serializable { public class SysUserLeaveVo implements Serializable {
@Serial @Serial
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@ -53,7 +53,7 @@ public class TestLeaveVo implements Serializable {
* 请假天数 * 请假天数
*/ */
@ExcelProperty(value = "请假天数") @ExcelProperty(value = "请假天数")
private Integer leaveDays; private String leaveDays;
/** /**
* 备注 * 备注

View File

@ -0,0 +1,38 @@
package org.dromara.workflow.listening;
import org.flowable.engine.ProcessEngine;
import org.flowable.engine.ProcessEngines;
import org.flowable.engine.TaskService;
import org.flowable.engine.repository.Deployment;
import org.flowable.engine.runtime.ProcessInstance;
import org.flowable.task.api.Task;
import java.util.HashMap;
import java.util.Map;
public class leaveWorkFlowOutcome {
private void leaveWorkFlowOutcome(){
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
Deployment deploy = processEngine.getRepositoryService()
.createDeployment()
.addClasspathResource("bpmn/leaveInclusiveGateway.bpmn")
.name("请假流程")
.deploy();
Map<String, Object> assignees = new HashMap<>();
assignees.put("type", 5);
String businessKey = "1";
ProcessInstance processInstance = processEngine.getRuntimeService()
.startProcessInstanceByKey("leaveInclusiveGateway", businessKey, assignees);
TaskService taskService = processEngine.getTaskService();
Task task = taskService
.createTaskQuery()
.processDefinitionKey("leaveInclusiveGateway")
.taskAssignee("张三")
.singleResult();
if (task != null) {
taskService.complete(task.getId());
}
}
}

View File

@ -0,0 +1,15 @@
package org.dromara.workflow.mapper;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.workflow.domain.SysUserLeave;
import org.dromara.workflow.domain.vo.SysUserLeaveVo;
/**
* 请假Mapper接口
*
* @author may
* @date 2023-07-21
*/
public interface SysUserLeaveMapper extends BaseMapperPlus<SysUserLeave, SysUserLeaveVo> {
}

View File

@ -1,15 +0,0 @@
package org.dromara.workflow.mapper;
import org.dromara.common.mybatis.core.mapper.BaseMapperPlus;
import org.dromara.workflow.domain.TestLeave;
import org.dromara.workflow.domain.vo.TestLeaveVo;
/**
* 请假Mapper接口
*
* @author may
* @date 2023-07-21
*/
public interface TestLeaveMapper extends BaseMapperPlus<TestLeave, TestLeaveVo> {
}

View File

@ -2,8 +2,8 @@ package org.dromara.workflow.service;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.workflow.domain.bo.TestLeaveBo; import org.dromara.workflow.domain.bo.SysUserLeaveBo;
import org.dromara.workflow.domain.vo.TestLeaveVo; import org.dromara.workflow.domain.vo.SysUserLeaveVo;
import java.util.Collection; import java.util.Collection;
import java.util.List; import java.util.List;
@ -14,32 +14,32 @@ import java.util.List;
* @author may * @author may
* @date 2023-07-21 * @date 2023-07-21
*/ */
public interface ITestLeaveService { public interface ISysUserLeaveService {
/** /**
* 查询请假 * 查询请假
*/ */
TestLeaveVo queryById(Long id); SysUserLeaveVo queryById(Long id);
/** /**
* 查询请假列表 * 查询请假列表
*/ */
TableDataInfo<TestLeaveVo> queryPageList(TestLeaveBo bo, PageQuery pageQuery); TableDataInfo<SysUserLeaveVo> queryPageList(SysUserLeaveBo bo, PageQuery pageQuery);
/** /**
* 查询请假列表 * 查询请假列表
*/ */
List<TestLeaveVo> queryList(TestLeaveBo bo); List<SysUserLeaveVo> queryList(SysUserLeaveBo bo);
/** /**
* 新增请假 * 新增请假
*/ */
TestLeaveVo insertByBo(TestLeaveBo bo); SysUserLeaveVo insertByBo(SysUserLeaveBo bo);
/** /**
* 修改请假 * 修改请假
*/ */
TestLeaveVo updateByBo(TestLeaveBo bo); SysUserLeaveVo updateByBo(SysUserLeaveBo bo);
/** /**
* 校验并批量删除请假信息 * 校验并批量删除请假信息

View File

@ -388,7 +388,7 @@ public class ActProcessDefinitionServiceImpl implements IActProcessDefinitionSer
WfDefinitionConfigBo wfDefinitionConfigBo = new WfDefinitionConfigBo(); WfDefinitionConfigBo wfDefinitionConfigBo = new WfDefinitionConfigBo();
wfDefinitionConfigBo.setDefinitionId(processDefinition.getId()); wfDefinitionConfigBo.setDefinitionId(processDefinition.getId());
wfDefinitionConfigBo.setProcessKey(processDefinition.getKey()); wfDefinitionConfigBo.setProcessKey(processDefinition.getKey());
wfDefinitionConfigBo.setTableName("test_leave"); wfDefinitionConfigBo.setTableName("sys_user_leave");
wfDefinitionConfigBo.setVersion(processDefinition.getVersion()); wfDefinitionConfigBo.setVersion(processDefinition.getVersion());
wfDefinitionConfigService.saveOrUpdate(wfDefinitionConfigBo); wfDefinitionConfigService.saveOrUpdate(wfDefinitionConfigBo);
} }

View File

@ -15,11 +15,11 @@ import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.mybatis.core.domain.BaseEntity; import org.dromara.common.mybatis.core.domain.BaseEntity;
import org.dromara.common.mybatis.core.page.PageQuery; import org.dromara.common.mybatis.core.page.PageQuery;
import org.dromara.common.mybatis.core.page.TableDataInfo; import org.dromara.common.mybatis.core.page.TableDataInfo;
import org.dromara.workflow.domain.TestLeave; import org.dromara.workflow.domain.SysUserLeave;
import org.dromara.workflow.domain.bo.TestLeaveBo; import org.dromara.workflow.domain.bo.SysUserLeaveBo;
import org.dromara.workflow.domain.vo.TestLeaveVo; import org.dromara.workflow.domain.vo.SysUserLeaveVo;
import org.dromara.workflow.mapper.TestLeaveMapper; import org.dromara.workflow.mapper.SysUserLeaveMapper;
import org.dromara.workflow.service.ITestLeaveService; import org.dromara.workflow.service.ISysUserLeaveService;
import org.springframework.context.event.EventListener; import org.springframework.context.event.EventListener;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
@ -36,16 +36,16 @@ import java.util.List;
@RequiredArgsConstructor @RequiredArgsConstructor
@Service @Service
@Slf4j @Slf4j
public class TestLeaveServiceImpl implements ITestLeaveService { public class SysUserLeaveServiceImpl implements ISysUserLeaveService {
private final TestLeaveMapper baseMapper; private final SysUserLeaveMapper baseMapper;
private final WorkflowService workflowService; private final WorkflowService workflowService;
/** /**
* 查询请假 * 查询请假
*/ */
@Override @Override
public TestLeaveVo queryById(Long id) { public SysUserLeaveVo queryById(Long id) {
return baseMapper.selectVoById(id); return baseMapper.selectVoById(id);
} }
@ -53,9 +53,9 @@ public class TestLeaveServiceImpl implements ITestLeaveService {
* 查询请假列表 * 查询请假列表
*/ */
@Override @Override
public TableDataInfo<TestLeaveVo> queryPageList(TestLeaveBo bo, PageQuery pageQuery) { public TableDataInfo<SysUserLeaveVo> queryPageList(SysUserLeaveBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<TestLeave> lqw = buildQueryWrapper(bo); LambdaQueryWrapper<SysUserLeave> lqw = buildQueryWrapper(bo);
Page<TestLeaveVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw); Page<SysUserLeaveVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result); return TableDataInfo.build(result);
} }
@ -63,16 +63,16 @@ public class TestLeaveServiceImpl implements ITestLeaveService {
* 查询请假列表 * 查询请假列表
*/ */
@Override @Override
public List<TestLeaveVo> queryList(TestLeaveBo bo) { public List<SysUserLeaveVo> queryList(SysUserLeaveBo bo) {
LambdaQueryWrapper<TestLeave> lqw = buildQueryWrapper(bo); LambdaQueryWrapper<SysUserLeave> lqw = buildQueryWrapper(bo);
return baseMapper.selectVoList(lqw); return baseMapper.selectVoList(lqw);
} }
private LambdaQueryWrapper<TestLeave> buildQueryWrapper(TestLeaveBo bo) { private LambdaQueryWrapper<SysUserLeave> buildQueryWrapper(SysUserLeaveBo bo) {
LambdaQueryWrapper<TestLeave> lqw = Wrappers.lambdaQuery(); LambdaQueryWrapper<SysUserLeave> lqw = Wrappers.lambdaQuery();
lqw.eq(StringUtils.isNotBlank(bo.getLeaveType()), TestLeave::getLeaveType, bo.getLeaveType()); lqw.eq(StringUtils.isNotBlank(bo.getLeaveType()), SysUserLeave::getLeaveType, bo.getLeaveType());
lqw.ge(bo.getStartLeaveDays() != null, TestLeave::getLeaveDays, bo.getStartLeaveDays()); lqw.ge(bo.getStartLeaveDays() != null, SysUserLeave::getLeaveDays, bo.getStartLeaveDays());
lqw.le(bo.getEndLeaveDays() != null, TestLeave::getLeaveDays, bo.getEndLeaveDays()); lqw.le(bo.getEndLeaveDays() != null, SysUserLeave::getLeaveDays, bo.getEndLeaveDays());
lqw.orderByDesc(BaseEntity::getCreateTime); lqw.orderByDesc(BaseEntity::getCreateTime);
return lqw; return lqw;
} }
@ -81,8 +81,8 @@ public class TestLeaveServiceImpl implements ITestLeaveService {
* 新增请假 * 新增请假
*/ */
@Override @Override
public TestLeaveVo insertByBo(TestLeaveBo bo) { public SysUserLeaveVo insertByBo(SysUserLeaveBo bo) {
TestLeave add = MapstructUtils.convert(bo, TestLeave.class); SysUserLeave add = MapstructUtils.convert(bo, SysUserLeave.class);
if (StringUtils.isBlank(add.getStatus())) { if (StringUtils.isBlank(add.getStatus())) {
add.setStatus(BusinessStatusEnum.DRAFT.getStatus()); add.setStatus(BusinessStatusEnum.DRAFT.getStatus());
} }
@ -90,17 +90,17 @@ public class TestLeaveServiceImpl implements ITestLeaveService {
if (flag) { if (flag) {
bo.setId(add.getId()); bo.setId(add.getId());
} }
return MapstructUtils.convert(add, TestLeaveVo.class); return MapstructUtils.convert(add, SysUserLeaveVo.class);
} }
/** /**
* 修改请假 * 修改请假
*/ */
@Override @Override
public TestLeaveVo updateByBo(TestLeaveBo bo) { public SysUserLeaveVo updateByBo(SysUserLeaveBo bo) {
TestLeave update = MapstructUtils.convert(bo, TestLeave.class); SysUserLeave update = MapstructUtils.convert(bo, SysUserLeave.class);
baseMapper.updateById(update); baseMapper.updateById(update);
return MapstructUtils.convert(update, TestLeaveVo.class); return MapstructUtils.convert(update, SysUserLeaveVo.class);
} }
/** /**
@ -124,7 +124,7 @@ public class TestLeaveServiceImpl implements ITestLeaveService {
@EventListener(condition = "#processEvent.key.startsWith('leave')") @EventListener(condition = "#processEvent.key.startsWith('leave')")
public void processHandler(ProcessEvent processEvent) { public void processHandler(ProcessEvent processEvent) {
log.info("当前任务执行了{}", processEvent.toString()); log.info("当前任务执行了{}", processEvent.toString());
TestLeave testLeave = baseMapper.selectById(Long.valueOf(processEvent.getBusinessKey())); SysUserLeave testLeave = baseMapper.selectById(Long.valueOf(processEvent.getBusinessKey()));
testLeave.setStatus(processEvent.getStatus()); testLeave.setStatus(processEvent.getStatus());
if (processEvent.isSubmit()) { if (processEvent.isSubmit()) {
testLeave.setStatus(BusinessStatusEnum.WAITING.getStatus()); testLeave.setStatus(BusinessStatusEnum.WAITING.getStatus());
@ -145,7 +145,7 @@ public class TestLeaveServiceImpl implements ITestLeaveService {
@EventListener(condition = "#processTaskEvent.key=='leave1' && #processTaskEvent.taskDefinitionKey=='Activity_14633hx'") @EventListener(condition = "#processTaskEvent.key=='leave1' && #processTaskEvent.taskDefinitionKey=='Activity_14633hx'")
public void processTaskHandler(ProcessTaskEvent processTaskEvent) { public void processTaskHandler(ProcessTaskEvent processTaskEvent) {
log.info("当前任务执行了{}", processTaskEvent.toString()); log.info("当前任务执行了{}", processTaskEvent.toString());
TestLeave testLeave = baseMapper.selectById(Long.valueOf(processTaskEvent.getBusinessKey())); SysUserLeave testLeave = baseMapper.selectById(Long.valueOf(processTaskEvent.getBusinessKey()));
testLeave.setStatus(BusinessStatusEnum.WAITING.getStatus()); testLeave.setStatus(BusinessStatusEnum.WAITING.getStatus());
baseMapper.updateById(testLeave); baseMapper.updateById(testLeave);
} }