|
|
@ -21,6 +21,7 @@ import com.xxl.job.core.handler.annotation.XxlJob; |
|
|
|
import com.xxl.job.core.log.XxlJobLogger; |
|
|
|
import com.xxl.job.core.log.XxlJobLogger; |
|
|
|
import lombok.AllArgsConstructor; |
|
|
|
import lombok.AllArgsConstructor; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
import lombok.extern.slf4j.Slf4j; |
|
|
|
|
|
|
|
import org.apache.commons.lang.ArrayUtils; |
|
|
|
import org.apache.commons.lang.StringUtils; |
|
|
|
import org.apache.commons.lang.StringUtils; |
|
|
|
import org.springblade.core.log.logger.BladeLogger; |
|
|
|
import org.springblade.core.log.logger.BladeLogger; |
|
|
|
import org.springblade.core.secure.utils.AuthUtil; |
|
|
|
import org.springblade.core.secure.utils.AuthUtil; |
|
|
@ -28,6 +29,8 @@ import org.springblade.core.tool.api.R; |
|
|
|
import org.springblade.core.tool.utils.*; |
|
|
|
import org.springblade.core.tool.utils.*; |
|
|
|
import org.springblade.flow.core.entity.BladeFlow; |
|
|
|
import org.springblade.flow.core.entity.BladeFlow; |
|
|
|
import org.springblade.flow.core.feign.IFlowClient; |
|
|
|
import org.springblade.flow.core.feign.IFlowClient; |
|
|
|
|
|
|
|
import org.springblade.system.user.cache.UserCache; |
|
|
|
|
|
|
|
import org.springblade.system.user.entity.User; |
|
|
|
import org.springblade.system.user.feign.IUserClient; |
|
|
|
import org.springblade.system.user.feign.IUserClient; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.data.redis.core.RedisTemplate; |
|
|
|
import org.springframework.data.redis.core.RedisTemplate; |
|
|
@ -84,6 +87,15 @@ public class MaintenanceTaskSchedule { |
|
|
|
OperMaintenanceTaskEntity taskEntity = BeanUtil.copy(plan,OperMaintenanceTaskEntity.class); |
|
|
|
OperMaintenanceTaskEntity taskEntity = BeanUtil.copy(plan,OperMaintenanceTaskEntity.class); |
|
|
|
taskEntity.setPlanId(plan.getId()); |
|
|
|
taskEntity.setPlanId(plan.getId()); |
|
|
|
taskEntity.setDisposer(Optional.ofNullable(plan.getDisposer()).map(String::valueOf).orElse(null)); |
|
|
|
taskEntity.setDisposer(Optional.ofNullable(plan.getDisposer()).map(String::valueOf).orElse(null)); |
|
|
|
|
|
|
|
taskEntity.setDisposerName(Optional.ofNullable(plan.getDisposer()).map(s -> |
|
|
|
|
|
|
|
{ |
|
|
|
|
|
|
|
User user = UserCache.getUser(s); |
|
|
|
|
|
|
|
if (ObjectUtil.isNotEmpty(user)){ |
|
|
|
|
|
|
|
return user.getName(); |
|
|
|
|
|
|
|
}else { |
|
|
|
|
|
|
|
return ""; |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
}).filter(s->StringUtils.isNotBlank(s)).orElse(null)); |
|
|
|
LocalDateTime disposeTime = taskEntity.getDisposeTime().toInstant() |
|
|
|
LocalDateTime disposeTime = taskEntity.getDisposeTime().toInstant() |
|
|
|
.atZone(ZoneId.systemDefault()).toLocalDateTime(); |
|
|
|
.atZone(ZoneId.systemDefault()).toLocalDateTime(); |
|
|
|
taskEntity.setPlanEndTime(disposeTime.plusHours(taskEntity.getHours())); |
|
|
|
taskEntity.setPlanEndTime(disposeTime.plusHours(taskEntity.getHours())); |
|
|
@ -137,7 +149,20 @@ public class MaintenanceTaskSchedule { |
|
|
|
ImsDutyMainEntity entity = dutyMainService.getOne(dutyQuery); |
|
|
|
ImsDutyMainEntity entity = dutyMainService.getOne(dutyQuery); |
|
|
|
if (ObjectUtil.isNotEmpty(entity) && StringUtils.isNotEmpty(entity.getDutyPersonIds())) { |
|
|
|
if (ObjectUtil.isNotEmpty(entity) && StringUtils.isNotEmpty(entity.getDutyPersonIds())) { |
|
|
|
String userId = entity.getDutyPersonIds(); |
|
|
|
String userId = entity.getDutyPersonIds(); |
|
|
|
|
|
|
|
String[] split = userId.split("\\^"); |
|
|
|
task.setDisposer(userId.replaceAll("\\^", ",")); |
|
|
|
task.setDisposer(userId.replaceAll("\\^", ",")); |
|
|
|
|
|
|
|
if (ArrayUtils.isNotEmpty(split)){ |
|
|
|
|
|
|
|
List<String> list = Arrays.asList(split); |
|
|
|
|
|
|
|
String disposerName= list.stream().map(s->{ |
|
|
|
|
|
|
|
User user = UserCache.getUser(Long.valueOf(s)); |
|
|
|
|
|
|
|
if (ObjectUtil.isNotEmpty(user)){ |
|
|
|
|
|
|
|
return user.getName();} |
|
|
|
|
|
|
|
return ""; |
|
|
|
|
|
|
|
}).filter(s->StringUtils.isNotBlank(s)).collect(Collectors.joining(",")); |
|
|
|
|
|
|
|
if (StringUtils.isNotBlank(disposerName)) { |
|
|
|
|
|
|
|
task.setDisposerName(disposerName); |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
else { |
|
|
|
else { |
|
|
|
XxlJobLogger.log("ID为:"+plan.getId()+"的日常维护计划未获取到值班人员,未生成任务。"); |
|
|
|
XxlJobLogger.log("ID为:"+plan.getId()+"的日常维护计划未获取到值班人员,未生成任务。"); |
|
|
|