package org.springblade.flow.listener;
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
|
import org.flowable.engine.delegate.TaskListener;
|
import org.flowable.task.service.delegate.DelegateTask;
|
import org.springblade.common.utils.SpringUtils;
|
import org.springblade.modules.property.entity.PropertyCapitalApplyEntity;
|
import org.springblade.modules.property.service.IPropertyCapitalApplyService;
|
|
public class MyTaskListener implements TaskListener {
|
/**
|
* 监听器触发的回调方法
|
*
|
* @param delegateTask
|
*/
|
@Override
|
public void notify(DelegateTask delegateTask) {
|
System.out.println("---->自定义的监听器执行了");
|
if (EVENTNAME_CREATE.equals(delegateTask.getEventName())) {
|
// 表示是Task的创建事件被触发了
|
// 指定当前Task节点的处理人
|
System.out.println("***************************delegateTask");
|
IPropertyCapitalApplyService propertyCapitalApplyService = SpringUtils.getBean(IPropertyCapitalApplyService.class);
|
PropertyCapitalApplyEntity applyEntity = propertyCapitalApplyService.getOne(Wrappers.<PropertyCapitalApplyEntity>lambdaQuery()
|
.eq(PropertyCapitalApplyEntity::getProcessInstanceId, delegateTask.getProcessInstanceId()));
|
applyEntity.setTaskId(delegateTask.getId());
|
propertyCapitalApplyService.updateById(applyEntity);
|
// IUserService user = SpringUtils.getBean(IUserService.class);
|
// IDistrictService district = SpringUtils.getBean(IDistrictService.class);
|
// IRegionService region = SpringUtils.getBean(IRegionService.class);
|
// IDeptService dept = SpringUtils.getBean(IDeptService.class);
|
// DistrictEntity one1 = district.getOne(Wrappers.<DistrictEntity>lambdaQuery()
|
// .eq(DistrictEntity::getId, applyEntity.getDistrictId()));
|
// if (delegateTask.getName().equals("街道")) {
|
// Region one2 = region.getOne(Wrappers.<Region>lambdaQuery().eq(Region::getCode, one1.getCommunityCode().substring(0, 9)));
|
// Dept one3 = dept.getOne(Wrappers.<Dept>lambdaQuery().eq(Dept::getDeptName, one2.getName()));
|
// User one4 = user.getOne(Wrappers.<User>lambdaQuery().eq(User::getDeptId, one3.getId()).last("limit 1"));
|
// delegateTask.setAssignee(TaskUtil.getTaskUser(one4.getId().toString()));
|
// } else if (delegateTask.getName().equals("住建局")) {
|
// // 查询住建局负责人
|
// Region region2 = region.getOne(Wrappers.<Region>lambdaQuery().eq(Region::getCode, one1.getCommunityCode().substring(0, 6)));
|
// Dept dept3 = dept.getOne(Wrappers.<Dept>lambdaQuery().eq(Dept::getDeptName, region2.getName() + "住建局").last("limit 1"));
|
// User user4 = user.getOne(Wrappers.<User>lambdaQuery().eq(User::getDeptId, dept3.getId()).last("limit 1"));
|
// delegateTask.setAssignee(TaskUtil.getTaskUser(user4.getId().toString()));
|
// }
|
System.out.println("---->自定义的监听器执行了EVENTNAME_CREATE");
|
}
|
if (EVENTNAME_COMPLETE.equals(delegateTask.getEventName())) {
|
// 表示是Task的完成事件被触发了
|
// 指定当前Task节点的处理人
|
// delegateTask.setAssignee("boge666");
|
System.out.println("---->自定义的监听器执行了EVENTNAME_COMPLETE");
|
}
|
if (EVENTNAME_DELETE.equals(delegateTask.getEventName())) {
|
// 表示是Task的删除事件被触发了
|
// 指定当前Task节点的处理人
|
// delegateTask.setAssignee("boge666");}
|
System.out.println("---->自定义的监听器执行了EVENTNAME_DELETE");
|
}
|
if (EVENTNAME_ASSIGNMENT.equals(delegateTask.getEventName())) {
|
// 表示是Task的分配事件被触发了
|
System.out.println("---->自定义的监听器执行了EVENTNAME_ASSIGNMENT");
|
}
|
|
}
|
}
|