mirror of
https://github.com/dromara/RuoYi-Vue-Plus.git
synced 2025-09-29 22:56:40 +08:00
update 升级flowable7.0,添加业务单据删除流程信息
This commit is contained in:
parent
139b5c20b8
commit
6347f11b52
2
pom.xml
2
pom.xml
@ -59,7 +59,7 @@
|
||||
<flatten-maven-plugin.version>1.3.0</flatten-maven-plugin.version>
|
||||
|
||||
<!--工作流配置-->
|
||||
<flowable.version>7.0.0.M2</flowable.version>
|
||||
<flowable.version>7.0.0</flowable.version>
|
||||
</properties>
|
||||
|
||||
<profiles>
|
||||
|
@ -101,6 +101,6 @@ public class WfBusinessFormController extends BaseController {
|
||||
@DeleteMapping("/{ids}")
|
||||
public R<Void> remove(@NotEmpty(message = "主键不能为空")
|
||||
@PathVariable Long[] ids) {
|
||||
return toAjax(wfBusinessFormService.deleteWithValidByIds(List.of(ids), true));
|
||||
return toAjax(wfBusinessFormService.deleteWithValidByIds(List.of(ids)));
|
||||
}
|
||||
}
|
||||
|
@ -45,5 +45,5 @@ public interface IWfBusinessFormService {
|
||||
/**
|
||||
* 校验并批量删除发起流程信息
|
||||
*/
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid);
|
||||
Boolean deleteWithValidByIds(Collection<Long> ids);
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package org.dromara.workflow.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import com.fasterxml.jackson.core.type.TypeReference;
|
||||
import org.dromara.common.core.utils.DateUtils;
|
||||
import org.dromara.common.core.utils.MapstructUtils;
|
||||
@ -12,9 +13,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.dromara.workflow.domain.ActHiProcinst;
|
||||
import org.dromara.workflow.domain.WfFormDefinition;
|
||||
import org.dromara.workflow.domain.vo.WfFormDefinitionVo;
|
||||
import org.dromara.workflow.mapper.WfFormDefinitionMapper;
|
||||
import org.dromara.workflow.service.IActHiProcinstService;
|
||||
import org.dromara.workflow.service.IActProcessInstanceService;
|
||||
import org.dromara.workflow.utils.WorkflowUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.dromara.workflow.domain.bo.WfBusinessFormBo;
|
||||
@ -22,10 +26,12 @@ import org.dromara.workflow.domain.vo.WfBusinessFormVo;
|
||||
import org.dromara.workflow.domain.WfBusinessForm;
|
||||
import org.dromara.workflow.mapper.WfBusinessFormMapper;
|
||||
import org.dromara.workflow.service.IWfBusinessFormService;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Collection;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 发起流程Service业务层处理
|
||||
@ -38,8 +44,9 @@ import java.util.Collection;
|
||||
public class WfBusinessFormServiceImpl implements IWfBusinessFormService {
|
||||
|
||||
private final WfBusinessFormMapper baseMapper;
|
||||
|
||||
private final WfFormDefinitionMapper wfFormDefinitionMapper;
|
||||
private final IActProcessInstanceService iActProcessInstanceService;
|
||||
private final IActHiProcinstService iActHiProcinstService;
|
||||
|
||||
/**
|
||||
* 查询发起流程
|
||||
@ -64,7 +71,7 @@ public class WfBusinessFormServiceImpl implements IWfBusinessFormService {
|
||||
LambdaQueryWrapper<WfBusinessForm> lqw = buildQueryWrapper(bo);
|
||||
Page<WfBusinessFormVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
|
||||
List<WfBusinessFormVo> records = result.getRecords();
|
||||
WorkflowUtils.setProcessInstanceListVo(records,StreamUtils.toList(records, e -> String.valueOf(e.getId())),"id");
|
||||
WorkflowUtils.setProcessInstanceListVo(records, StreamUtils.toList(records, e -> String.valueOf(e.getId())), "id");
|
||||
return TableDataInfo.build(result);
|
||||
}
|
||||
|
||||
@ -90,7 +97,7 @@ public class WfBusinessFormServiceImpl implements IWfBusinessFormService {
|
||||
@Override
|
||||
public WfBusinessForm insertByBo(WfBusinessFormBo bo) {
|
||||
WfBusinessForm add = MapstructUtils.convert(bo, WfBusinessForm.class);
|
||||
validEntityBeforeSave(add);
|
||||
//规则自行修改
|
||||
add.setApplyCode(DateUtils.dateTimeNow());
|
||||
boolean flag = baseMapper.insert(add) > 0;
|
||||
if (flag) {
|
||||
@ -110,7 +117,6 @@ public class WfBusinessFormServiceImpl implements IWfBusinessFormService {
|
||||
@Override
|
||||
public WfBusinessForm updateByBo(WfBusinessFormBo bo) {
|
||||
WfBusinessForm update = MapstructUtils.convert(bo, WfBusinessForm.class);
|
||||
validEntityBeforeSave(update);
|
||||
baseMapper.updateById(update);
|
||||
if (StringUtils.isNotBlank(update.getContentValue())) {
|
||||
Map<String, Object> variable = JsonUtils.parseObject(update.getContentValue(), new TypeReference<>() {
|
||||
@ -120,20 +126,15 @@ public class WfBusinessFormServiceImpl implements IWfBusinessFormService {
|
||||
return update;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存前的数据校验
|
||||
*/
|
||||
private void validEntityBeforeSave(WfBusinessForm entity) {
|
||||
//TODO 做一些数据校验,如唯一约束
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除发起流程
|
||||
*/
|
||||
@Override
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids, Boolean isValid) {
|
||||
if (isValid) {
|
||||
//TODO 做一些业务上的校验,判断是否需要校验
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean deleteWithValidByIds(Collection<Long> ids) {
|
||||
List<ActHiProcinst> actHiProcinsts = iActHiProcinstService.selectByBusinessKeyIn(StreamUtils.toList(ids, String::valueOf));
|
||||
if (CollUtil.isNotEmpty(actHiProcinsts)) {
|
||||
iActProcessInstanceService.deleteRuntimeProcessAndHisInst(actHiProcinsts.stream().map(ActHiProcinst::getId).collect(Collectors.toList()));
|
||||
}
|
||||
return baseMapper.deleteBatchIds(ids) > 0;
|
||||
}
|
||||
|
@ -1,5 +1,6 @@
|
||||
package org.dromara.workflow.service.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
||||
@ -182,6 +183,9 @@ public class WorkflowUserServiceImpl implements IWorkflowUserService {
|
||||
*/
|
||||
@Override
|
||||
public List<SysUserVo> getUserListByIds(List<Long> userIds) {
|
||||
if (CollUtil.isEmpty(userIds)) {
|
||||
return Collections.emptyList();
|
||||
}
|
||||
LambdaQueryWrapper<SysUser> queryWrapper = Wrappers.lambdaQuery();
|
||||
//检索条件
|
||||
queryWrapper.eq(SysUser::getStatus, UserStatus.OK.getCode());
|
||||
|
Loading…
Reference in New Issue
Block a user