|
|
|
@ -141,7 +141,7 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
|
|
|
|
|
// 删除定时任务
|
|
|
|
|
jobService.removeJob(PrefixKeyConstant.JOB_KEY + taskId);
|
|
|
|
|
}
|
|
|
|
|
if (timeStatus == 1 && startTime != null && !startTime.isEqual(time)) {
|
|
|
|
|
if (timeStatus == 1 && startTime != null && time != null && !startTime.isEqual(time)) {
|
|
|
|
|
// 修改定时任务
|
|
|
|
|
this.addJob(taskId, time, false);
|
|
|
|
|
}
|
|
|
|
@ -166,6 +166,16 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
|
|
|
|
|
@Override
|
|
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
|
|
public boolean del(Long taskId) {
|
|
|
|
|
// 删除时任务未执行 文件记录状态回退
|
|
|
|
|
DistributeTaskEntity entity = baseMapper.selectById(taskId);
|
|
|
|
|
if (entity.getExecuteStatus() == 0) {
|
|
|
|
|
String fileRecordId = entity.getFileRecordId();
|
|
|
|
|
List<Long> recordIdList = Arrays.stream(fileRecordId.split(","))
|
|
|
|
|
.map(Long::parseLong)
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
clueRecordMapper.updateDistributeStatus(recordIdList, 0);
|
|
|
|
|
}
|
|
|
|
|
// 删除
|
|
|
|
|
int taskBool = baseMapper.deleteById(taskId);
|
|
|
|
|
int userBool = distributeTaskUserMapper.delete(new LambdaQueryWrapper<DistributeTaskUserEntity>()
|
|
|
|
|
.eq(DistributeTaskUserEntity::getDistributeTaskId, taskId));
|
|
|
|
@ -264,8 +274,17 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
|
|
|
|
|
if (taskEntity != null) {
|
|
|
|
|
String fileRecordId = taskEntity.getFileRecordId();
|
|
|
|
|
Long createBy = taskEntity.getCreateBy();
|
|
|
|
|
List<Long> recordIdList = new ArrayList<>();
|
|
|
|
|
// 任务中指定的分配人
|
|
|
|
|
List<DistributeTaskUserEntity> userEntities = distributeTaskUserMapper
|
|
|
|
|
.selectList(new LambdaQueryWrapper<DistributeTaskUserEntity>()
|
|
|
|
|
.eq(DistributeTaskUserEntity::getDistributeTaskId, taskEntity.getDistributeTaskId()));
|
|
|
|
|
if (CollUtil.isEmpty(userEntities))
|
|
|
|
|
throw new BadRequestException("任务无分配人");
|
|
|
|
|
List<Long> userIdList = userEntities.stream()
|
|
|
|
|
.map(DistributeTaskUserEntity::getUserId)
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
// 查看任务类型 获取文件记录ID
|
|
|
|
|
List<Long> recordIdList = new ArrayList<>();
|
|
|
|
|
if (StringUtils.isNotBlank(fileRecordId)
|
|
|
|
|
&& (taskEntity.getDistributeTaskType() == 0 || taskEntity.getDefaultType() == 0)) {
|
|
|
|
|
recordIdList = Arrays.stream(fileRecordId.split(",")).map(Long::parseLong).collect(Collectors.toList());
|
|
|
|
@ -283,13 +302,6 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
// 任务中指定的分配人
|
|
|
|
|
List<DistributeTaskUserEntity> userEntities = distributeTaskUserMapper
|
|
|
|
|
.selectList(new LambdaQueryWrapper<DistributeTaskUserEntity>()
|
|
|
|
|
.eq(DistributeTaskUserEntity::getDistributeTaskId, taskEntity.getDistributeTaskId()));
|
|
|
|
|
List<Long> userIdList = userEntities.stream()
|
|
|
|
|
.map(DistributeTaskUserEntity::getUserId)
|
|
|
|
|
.collect(Collectors.toList());
|
|
|
|
|
// 查询分配人用户信息
|
|
|
|
|
List<SysUser> updateSysUserList = new ArrayList<>();
|
|
|
|
|
List<SysUser> sysUsers = sysUserService.listByUserIds(userIdList);
|
|
|
|
@ -387,7 +399,8 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@Override
|
|
|
|
|
public void addDefaultTask(String taskName, String prefixName, String recordId, Long userId) {
|
|
|
|
|
public void addDefaultTask(String taskName, String prefixName, String recordId, Long createUserId,
|
|
|
|
|
Long allocationBy) {
|
|
|
|
|
// 创建默认任务
|
|
|
|
|
DistributeTaskEntity taskEntity = new DistributeTaskEntity();
|
|
|
|
|
taskEntity.setDistributeTaskType(1);
|
|
|
|
@ -398,23 +411,36 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
|
|
|
|
|
taskEntity.setExecuteStatus(0);
|
|
|
|
|
taskEntity.setFileRecordId(recordId);
|
|
|
|
|
taskEntity.setDefaultType(0);
|
|
|
|
|
taskEntity.setCreateBy(userId);
|
|
|
|
|
taskEntity.setCreateBy(createUserId);
|
|
|
|
|
// admin管理员创建是默认开启,业务管理员创建时由于不确定是否创建了子用户,所以无法自动开启
|
|
|
|
|
if (createUserId == 1) {
|
|
|
|
|
taskEntity.setExecuteStatus(1);
|
|
|
|
|
}
|
|
|
|
|
baseMapper.insert(taskEntity);
|
|
|
|
|
// 任务默认下级用户平均分配
|
|
|
|
|
BaseMapper<SysUser> sysUserBaseMapper = sysUserService.getBaseMapper();
|
|
|
|
|
List<SysUser> sysUserList = sysUserBaseMapper
|
|
|
|
|
.selectList(new LambdaQueryWrapper<SysUser>().eq(SysUser::getWhichUserId, userId));
|
|
|
|
|
if (CollUtil.isNotEmpty(sysUserList)) {
|
|
|
|
|
List<DistributeTaskUserEntity> list = new ArrayList<>();
|
|
|
|
|
for (SysUser sysUser : sysUserList) {
|
|
|
|
|
DistributeTaskUserEntity taskUserEntity = new DistributeTaskUserEntity();
|
|
|
|
|
taskUserEntity.setUserId(sysUser.getUserId());
|
|
|
|
|
taskUserEntity.setDistributeTaskId(taskEntity.getDistributeTaskId());
|
|
|
|
|
list.add(taskUserEntity);
|
|
|
|
|
}
|
|
|
|
|
if (CollUtil.isNotEmpty(list))
|
|
|
|
|
distributeTaskUserMapper.insertBatchSomeColumn(list);
|
|
|
|
|
|
|
|
|
|
// 任务默认当前选中用户平均分配
|
|
|
|
|
if (createUserId == 1) {
|
|
|
|
|
DistributeTaskUserEntity taskUserEntity = new DistributeTaskUserEntity();
|
|
|
|
|
taskUserEntity.setUserId(allocationBy);
|
|
|
|
|
taskUserEntity.setDistributeTaskId(taskEntity.getDistributeTaskId());
|
|
|
|
|
distributeTaskUserMapper.insert(taskUserEntity);
|
|
|
|
|
}
|
|
|
|
|
// 任务默认下级用户平均分配
|
|
|
|
|
// BaseMapper<SysUser> sysUserBaseMapper = sysUserService.getBaseMapper();
|
|
|
|
|
// List<SysUser> sysUserList = sysUserBaseMapper
|
|
|
|
|
// .selectList(new LambdaQueryWrapper<SysUser>().eq(SysUser::getWhichUserId,
|
|
|
|
|
// userId));
|
|
|
|
|
// if (CollUtil.isNotEmpty(sysUserList)) {
|
|
|
|
|
// List<DistributeTaskUserEntity> list = new ArrayList<>();
|
|
|
|
|
// for (SysUser sysUser : sysUserList) {
|
|
|
|
|
// DistributeTaskUserEntity taskUserEntity = new DistributeTaskUserEntity();
|
|
|
|
|
// taskUserEntity.setUserId(sysUser.getUserId());
|
|
|
|
|
// taskUserEntity.setDistributeTaskId(taskEntity.getDistributeTaskId());
|
|
|
|
|
// list.add(taskUserEntity);
|
|
|
|
|
// }
|
|
|
|
|
// if (CollUtil.isNotEmpty(list))
|
|
|
|
|
// distributeTaskUserMapper.insertBatchSomeColumn(list);
|
|
|
|
|
// }
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
@ -491,7 +517,8 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
|
|
|
|
|
if (SecurityUtils.getCurrentUserId() == 1 && CollUtil.isNotEmpty(userIdList)) {
|
|
|
|
|
List<DistributeTaskEntity> taskEntities = baseMapper.selectList(
|
|
|
|
|
new LambdaQueryWrapper<DistributeTaskEntity>().in(DistributeTaskEntity::getCreateBy, userIdList)
|
|
|
|
|
.eq(DistributeTaskEntity::getDefaultType, 0));
|
|
|
|
|
.eq(DistributeTaskEntity::getDefaultType, 0)
|
|
|
|
|
.ne(DistributeTaskEntity::getExecuteStatus, 0));
|
|
|
|
|
if (CollUtil.isNotEmpty(taskEntities)) {
|
|
|
|
|
List<Long> taskIds = taskEntities.stream()
|
|
|
|
|
.map(DistributeTaskEntity::getDistributeTaskId)
|
|
|
|
@ -505,13 +532,16 @@ public class DistributeTaskServiceImpl extends ExtendServiceImpl<DistributeTaskM
|
|
|
|
|
if (CollUtil.isNotEmpty(taskUserEntities)) {
|
|
|
|
|
Map<Long, List<DistributeTaskUserEntity>> map = taskUserEntities.stream()
|
|
|
|
|
.collect(Collectors.groupingBy(DistributeTaskUserEntity::getDistributeTaskId));
|
|
|
|
|
for (Long taskId : map.keySet()) {
|
|
|
|
|
if (!taskIds.contains(taskId)) {
|
|
|
|
|
DistributeTaskUserEntity distributeTaskUserEntity = map.get(taskId).get(0);
|
|
|
|
|
SysUser sysUser = sysUserService.getById(distributeTaskUserEntity.getUserId());
|
|
|
|
|
for (Long taskId : taskIds) {
|
|
|
|
|
if (!map.containsKey(taskId)) {
|
|
|
|
|
Map<Long, List<DistributeTaskEntity>> listMap = taskEntities.stream()
|
|
|
|
|
.collect(Collectors.groupingBy(DistributeTaskEntity::getDistributeTaskId));
|
|
|
|
|
Long createBy = listMap.get(taskId).get(0).getCreateBy();
|
|
|
|
|
SysUser sysUser = sysUserService.getById(createBy);
|
|
|
|
|
throw new BadRequestException("用户:" + sysUser.getUsername() + " 默认分发任务中无分配人,请通知整改后操作该用户");
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
else {
|
|
|
|
|
throw new BadRequestException("用户默认分发任务无分配用户,请检查用户的分配任务");
|
|
|
|
|