Browse Source

巡检流程修改,去除报备步骤

master
fengliu 2 weeks ago
parent
commit
9b4c0c7ff9
  1. 17
      HZInfo-RIS-PXHD/hzinfo-ris-pxhd-service/hzinfo-inspect-service/src/main/java/org/springblade/hzinfo_inspect/duty/controller/ImsDutyRecController.java
  2. 9
      HZInfo-RIS-PXHD/hzinfo-ris-pxhd-service/hzinfo-inspect-service/src/main/java/org/springblade/hzinfo_inspect/duty/service/IImsDutyEmergencyService.java
  3. 80
      HZInfo-RIS-PXHD/hzinfo-ris-pxhd-service/hzinfo-inspect-service/src/main/java/org/springblade/hzinfo_inspect/duty/service/impl/ImsDutyEmergencyServiceImpl.java
  4. 974
      HZInfo-RIS-PXHD/hzinfo-ris-pxhd-service/hzinfo-inspect-service/src/main/java/org/springblade/hzinfo_inspect/plan/service/impl/PlanServiceImpl.java
  5. 60
      HZInfo-RIS-PXHD/hzinfo-ris-pxhd-service/hzinfo-inspect-service/src/main/java/org/springblade/hzinfo_inspect/task/controller/TaskRecordController.java
  6. 289
      HZInfo-RIS-PXHD/hzinfo-ris-pxhd-service/hzinfo-inspect-service/src/main/java/org/springblade/hzinfo_inspect/task/job/service/TaskJobService.java
  7. 2
      hnac-framework-boot/src/main/resources/application-local.yml
  8. 0
      hnac-framework-boot/src/main/resources/log/logback-local.xml

17
HZInfo-RIS-PXHD/hzinfo-ris-pxhd-service/hzinfo-inspect-service/src/main/java/org/springblade/hzinfo_inspect/duty/controller/ImsDutyRecController.java

@ -187,10 +187,6 @@ public class ImsDutyRecController {
return R.data(imsDutyRecService.testClassDate(id, type)); return R.data(imsDutyRecService.testClassDate(id, type));
} }
/**
* 新增突发事件记录
*/
@PostMapping("/addEmergency") @PostMapping("/addEmergency")
@ApiOperationSupport(order = 6) @ApiOperationSupport(order = 6)
@ApiOperation(value = "新增突发事件", notes = "传入imsDutyEmergencyEntity") @ApiOperation(value = "新增突发事件", notes = "传入imsDutyEmergencyEntity")
@ -198,9 +194,6 @@ public class ImsDutyRecController {
return iImsDutyEmergencyService.saveEntity(imsDutyEmergencyEntity); return iImsDutyEmergencyService.saveEntity(imsDutyEmergencyEntity);
} }
/**
* 删除突发事件记录
*/
@PostMapping("/deleteEmergency") @PostMapping("/deleteEmergency")
@ApiOperationSupport(order = 6) @ApiOperationSupport(order = 6)
@ApiOperation(value = "删除突发事件记录", notes = "传入imsDutyEmergencyEntity") @ApiOperation(value = "删除突发事件记录", notes = "传入imsDutyEmergencyEntity")
@ -209,14 +202,10 @@ public class ImsDutyRecController {
return iImsDutyEmergencyService.deleteEntity(imsDutyEmergencyEntity); return iImsDutyEmergencyService.deleteEntity(imsDutyEmergencyEntity);
} }
/** @GetMapping("/queryEmergency")
* 查询突发事件记录
*/
@PostMapping("/queryEmergency")
@ApiOperationSupport(order = 6)
@ApiOperation(value = "查询突发事件记录", notes = "传入imsDutyEmergencyEntity") @ApiOperation(value = "查询突发事件记录", notes = "传入imsDutyEmergencyEntity")
public R queryEmergency(@Valid @RequestBody ImsDutyEmergencyVo imsDutyEmergencyVo, Query query) { public R<IPage> queryEmergency(ImsDutyEmergencyEntity imsDutyEmergencyEntity, Query query) {
return iImsDutyEmergencyService.queryEntity(imsDutyEmergencyVo, query); return iImsDutyEmergencyService.queryEmergency(imsDutyEmergencyEntity, query);
} }

9
HZInfo-RIS-PXHD/hzinfo-ris-pxhd-service/hzinfo-inspect-service/src/main/java/org/springblade/hzinfo_inspect/duty/service/IImsDutyEmergencyService.java

@ -4,21 +4,20 @@ import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.core.mp.support.Query; import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.hzinfo_inspect.duty.entity.ImsDutyEmergencyEntity; import org.springblade.hzinfo_inspect.duty.entity.ImsDutyEmergencyEntity;
import org.springblade.hzinfo_inspect.duty.vo.ImsDutyEmergencyVo;
/** /**
* 服务类 * 服务类
* *
* @author Chill * @author Chill
*/ */
public interface IImsDutyEmergencyService extends IService<ImsDutyEmergencyEntity> { public interface IImsDutyEmergencyService extends IService<ImsDutyEmergencyEntity> {
R saveEntity(ImsDutyEmergencyEntity imsDutyEmergencyEntity); R saveEntity(ImsDutyEmergencyEntity imsDutyEmergencyEntity);
R deleteEntity(ImsDutyEmergencyEntity imsDutyEmergencyEntity); R deleteEntity(ImsDutyEmergencyEntity imsDutyEmergencyEntity);
R queryEntity(ImsDutyEmergencyVo imsDutyEmergencyVo, Query query); R queryEmergency(ImsDutyEmergencyEntity entity, Query query);
} }

80
HZInfo-RIS-PXHD/hzinfo-ris-pxhd-service/hzinfo-inspect-service/src/main/java/org/springblade/hzinfo_inspect/duty/service/impl/ImsDutyEmergencyServiceImpl.java

@ -2,13 +2,10 @@ package org.springblade.hzinfo_inspect.duty.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springblade.core.mp.support.Condition; import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query; import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.secure.utils.AuthUtil;
@ -21,7 +18,6 @@ import org.springblade.hzinfo_inspect.duty.enums.DutyMainStatus;
import org.springblade.hzinfo_inspect.duty.mapper.ImsDutyEmergencyMapper; import org.springblade.hzinfo_inspect.duty.mapper.ImsDutyEmergencyMapper;
import org.springblade.hzinfo_inspect.duty.mapper.ImsDutyMainMapper; import org.springblade.hzinfo_inspect.duty.mapper.ImsDutyMainMapper;
import org.springblade.hzinfo_inspect.duty.service.IImsDutyEmergencyService; import org.springblade.hzinfo_inspect.duty.service.IImsDutyEmergencyService;
import org.springblade.hzinfo_inspect.duty.vo.ImsDutyEmergencyVo;
import org.springblade.system.user.entity.User; 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;
@ -70,64 +66,26 @@ public class ImsDutyEmergencyServiceImpl extends ServiceImpl<ImsDutyEmergencyMap
} }
@Override @Override
public R queryEntity(ImsDutyEmergencyVo imsDutyEmergencyVo, Query query) { public R queryEmergency(ImsDutyEmergencyEntity entity, Query query) {
// QueryWrapper<ImsDutyEmergencyEntity> queryWrapper = getQueryWrapper(imsDutyEmergencyVo); IPage<ImsDutyEmergencyEntity> pageList = this.page(Condition.getPage(query), Condition.getQueryWrapper(entity));
IPage<ImsDutyEmergencyEntity> imsDutyEmergencyEntityIPage = baseMapper.selectPage(Condition.getPage(query), new LambdaQueryWrapper<>()); if (pageList.getTotal() == 0) {
List<ImsDutyEmergencyEntity> records = imsDutyEmergencyEntityIPage.getRecords(); return R.data(pageList);
List<ImsDutyEmergencyEntity> collect;
if (CollectionUtils.isNotEmpty(records)) {
collect = records.stream().map(sig -> {
R<User> user = userClient.userInfoById(sig.getRegistrant());
if (user.isSuccess() && ObjectUtils.isNotEmpty(user.getData())) {
sig.setRegistrantName(user.getData().getName());
}
R<User> userR = userClient.userInfoById(sig.getChargePerson());
if (userR.isSuccess() && ObjectUtils.isNotEmpty(userR.getData())) {
sig.setChargePersonName(userR.getData().getName());
}
ImsDutyClassEntity classEntity = imsDutyClassService.getById(sig.getDutyClass());
sig.setDutyClassName(classEntity.getClassName());
return sig;
}).collect(Collectors.toList());
imsDutyEmergencyEntityIPage.setRecords(collect);
} }
return R.data(imsDutyEmergencyEntityIPage); List<ImsDutyEmergencyEntity> resultList = pageList.getRecords().stream().map(obj -> {
R<User> user = userClient.userInfoById(obj.getRegistrant());
if (user.isSuccess() && ObjectUtils.isNotEmpty(user.getData())) {
obj.setRegistrantName(user.getData().getName());
}
R<User> userR = userClient.userInfoById(obj.getChargePerson());
if (userR.isSuccess() && ObjectUtils.isNotEmpty(userR.getData())) {
obj.setChargePersonName(userR.getData().getName());
}
ImsDutyClassEntity classEntity = imsDutyClassService.getById(obj.getDutyClass());
obj.setDutyClassName(classEntity == null ? "未知" : classEntity.getClassName());
return obj;
}).collect(Collectors.toList());
pageList.setRecords(resultList);
return R.data(pageList);
} }
private QueryWrapper<ImsDutyEmergencyEntity> getQueryWrapper(ImsDutyEmergencyVo imsDutyEmergencyVo) {
QueryWrapper<ImsDutyEmergencyEntity> queryWrapper = new QueryWrapper();
if (ObjectUtils.isNotEmpty(imsDutyEmergencyVo.getId())) {
queryWrapper.lambda().in(ImsDutyEmergencyEntity::getId, imsDutyEmergencyVo.getId());
}
if (ObjectUtils.isNotEmpty(imsDutyEmergencyVo.getDutyStartTime())) {
queryWrapper.lambda().ge(ImsDutyEmergencyEntity::getDutyTime, imsDutyEmergencyVo.getDutyStartTime());
}
if (ObjectUtils.isNotEmpty(imsDutyEmergencyVo.getDutyEndTime())) {
queryWrapper.lambda().le(ImsDutyEmergencyEntity::getDutyTime, imsDutyEmergencyVo.getDutyEndTime());
}
if (CollectionUtils.isNotEmpty(imsDutyEmergencyVo.getDutyClass())) {
queryWrapper.lambda().in(ImsDutyEmergencyEntity::getDutyClass, imsDutyEmergencyVo.getDutyClass());
}
if (CollectionUtils.isNotEmpty(imsDutyEmergencyVo.getChargePerson())) {
queryWrapper.lambda().in(ImsDutyEmergencyEntity::getChargePerson, imsDutyEmergencyVo.getChargePerson());
}
if (CollectionUtils.isNotEmpty(imsDutyEmergencyVo.getRegistrant())) {
queryWrapper.lambda().in(ImsDutyEmergencyEntity::getRegistrant, imsDutyEmergencyVo.getRegistrant());
}
if (CollectionUtils.isNotEmpty(imsDutyEmergencyVo.getRegistrant())) {
queryWrapper.lambda().in(ImsDutyEmergencyEntity::getRegistrant, imsDutyEmergencyVo.getRegistrant());
}
if (StringUtils.isNotEmpty(imsDutyEmergencyVo.getEventTitle())) {
queryWrapper.lambda().like(ImsDutyEmergencyEntity::getEventTitle, imsDutyEmergencyVo.getEventTitle());
}
if (StringUtils.isNotEmpty(imsDutyEmergencyVo.getEventInfo())) {
queryWrapper.lambda().like(ImsDutyEmergencyEntity::getEventInfo, imsDutyEmergencyVo.getEventInfo());
}
if (StringUtils.isNotEmpty(imsDutyEmergencyVo.getEventType())) {
queryWrapper.lambda().like(ImsDutyEmergencyEntity::getEventType, imsDutyEmergencyVo.getEventType());
}
return queryWrapper;
}
} }

974
HZInfo-RIS-PXHD/hzinfo-ris-pxhd-service/hzinfo-inspect-service/src/main/java/org/springblade/hzinfo_inspect/plan/service/impl/PlanServiceImpl.java

File diff suppressed because it is too large Load Diff

60
HZInfo-RIS-PXHD/hzinfo-ris-pxhd-service/hzinfo-inspect-service/src/main/java/org/springblade/hzinfo_inspect/task/controller/TaskRecordController.java

@ -5,27 +5,28 @@ package org.springblade.hzinfo_inspect.task.controller;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import org.springblade.core.mp.support.Condition;
import org.springblade.hzinfo_inspect.task.entity.TaskRecordEntity;
import org.springblade.hzinfo_inspect.task.service.ITaskRecordService;
import org.springblade.hzinfo_inspect.task.service.ITaskService;
import org.springblade.hzinfo_inspect.task.vo.TaskListQuery;
import org.springblade.hzinfo_inspect.task.vo.TaskRecordAddVO;
import org.springblade.hzinfo_inspect.task.vo.TaskVo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query; import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.utils.AuthUtil; import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R; import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.BeanUtil; import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.hzinfo_inspect.task.entity.TaskRecordEntity;
import org.springblade.hzinfo_inspect.task.service.ITaskRecordService;
import org.springblade.hzinfo_inspect.task.service.ITaskService;
import org.springblade.hzinfo_inspect.task.vo.TaskListQuery;
import org.springblade.hzinfo_inspect.task.vo.TaskRecordAddVO;
import org.springblade.hzinfo_inspect.task.vo.TaskVo;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.util.List; import java.util.List;
/** /**
* 巡检报备 * 巡检报备
*
* @author ninglong * @author ninglong
* *
*/ */
@ -36,35 +37,30 @@ import java.util.List;
@Slf4j @Slf4j
public class TaskRecordController { public class TaskRecordController {
private final ITaskService taskService; private final ITaskService taskService;
private final ITaskRecordService taskRecordService; private final ITaskRecordService taskRecordService;
@GetMapping("/list") @GetMapping("/list")
@ApiOperation(value = "巡检报备列表", notes = "巡检报备列表(只显示未开始)") @ApiOperation(value = "巡检报备列表", notes = "巡检报备列表(只显示未开始)")
public R<IPage<TaskVo>> getListTaskRecord(TaskListQuery task, Query query) { public R<IPage<TaskVo>> getListTaskRecord(TaskListQuery task, Query query) {
IPage<TaskVo> pages = Condition.getPage(query); IPage<TaskVo> pages = Condition.getPage(query);
task.setCurUserId(AuthUtil.getUserId()); task.setCurUserId(AuthUtil.getUserId());
task.setStatus(0); task.setStatus(0);
List<TaskVo> list = taskService.getListPage(pages,task); List<TaskVo> list = taskService.getListPage(pages, task);
pages.setRecords(list); pages.setRecords(list);
return R.data(pages); return R.data(pages);
} }
/**
* 插入巡检任务报备信息
* @param itr 巡检任务报备实例
* @return 结果整型数
*/
@PostMapping("/addTaskRecord") @PostMapping("/addTaskRecord")
@ApiOperation(value = "巡检任务报备", notes = "巡检任务报备") @ApiOperation(value = "巡检任务报备", notes = "巡检任务报备")
public R<Boolean> addTaskRecord(@RequestBody TaskRecordAddVO itr) { public R<Boolean> addTaskRecord(@RequestBody TaskRecordAddVO itr) {
TaskRecordEntity record = taskRecordService.getOne(Wrappers.<TaskRecordEntity>query().lambda().eq(TaskRecordEntity::getTaskId,itr.getTaskId())); TaskRecordEntity record = taskRecordService.getOne(Wrappers.<TaskRecordEntity>query().lambda().eq(TaskRecordEntity::getTaskId, itr.getTaskId()));
if(record!=null){ if (record != null) {
log.error("该任务已报备,不可重复进行任务报备"); log.error("该任务已报备,不可重复进行任务报备");
return R.fail("该任务已报备,不可重复进行任务报备"); return R.fail("该任务已报备,不可重复进行任务报备");
} }
record = BeanUtil.copy(itr,TaskRecordEntity.class); record = BeanUtil.copy(itr, TaskRecordEntity.class);
record.setCreator(AuthUtil.getUserId()); record.setCreator(AuthUtil.getUserId());
boolean res = taskRecordService.addTaskRecord(record); boolean res = taskRecordService.addTaskRecord(record);
return R.status(res); return R.status(res);
} }

289
HZInfo-RIS-PXHD/hzinfo-ris-pxhd-service/hzinfo-inspect-service/src/main/java/org/springblade/hzinfo_inspect/task/job/service/TaskJobService.java

@ -6,12 +6,22 @@ import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.google.common.collect.Lists; import com.google.common.collect.Lists;
import com.xxl.job.core.log.XxlJobLogger;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.tool.utils.CollectionUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.ObjectUtil;
import org.springblade.hzinfo_inspect.obj.entity.*; import org.springblade.hzinfo_inspect.obj.entity.*;
import org.springblade.hzinfo_inspect.obj.services.*; import org.springblade.hzinfo_inspect.obj.services.*;
import org.springblade.hzinfo_inspect.plan.PlanContants.PlanCycleEnum; import org.springblade.hzinfo_inspect.plan.PlanContants.PlanCycleEnum;
import org.springblade.hzinfo_inspect.plan.PlanContants.PlanTypeEnum; import org.springblade.hzinfo_inspect.plan.PlanContants.PlanTypeEnum;
import org.springblade.hzinfo_inspect.plan.entity.*; import org.springblade.hzinfo_inspect.plan.entity.*;
import org.springblade.hzinfo_inspect.plan.service.*; import org.springblade.hzinfo_inspect.plan.service.IPlanObjectTemplateService;
import org.springblade.hzinfo_inspect.plan.service.IPlanOrgService;
import org.springblade.hzinfo_inspect.plan.service.IPlanPositionService;
import org.springblade.hzinfo_inspect.plan.service.IPlanUserService;
import org.springblade.hzinfo_inspect.task.TaskContants; import org.springblade.hzinfo_inspect.task.TaskContants;
import org.springblade.hzinfo_inspect.task.TaskContants.ClaimStatusEnum; import org.springblade.hzinfo_inspect.task.TaskContants.ClaimStatusEnum;
import org.springblade.hzinfo_inspect.task.entity.*; import org.springblade.hzinfo_inspect.task.entity.*;
@ -19,13 +29,6 @@ import org.springblade.hzinfo_inspect.task.service.ITaskObjectProjectContentServ
import org.springblade.hzinfo_inspect.task.service.ITaskObjectProjectService; import org.springblade.hzinfo_inspect.task.service.ITaskObjectProjectService;
import org.springblade.hzinfo_inspect.task.service.ITaskObjectService; import org.springblade.hzinfo_inspect.task.service.ITaskObjectService;
import org.springblade.hzinfo_inspect.task.service.ITaskService; import org.springblade.hzinfo_inspect.task.service.ITaskService;
import com.xxl.job.core.log.XxlJobLogger;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.tool.utils.CollectionUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.ObjectUtil;
import org.springblade.system.user.entity.User; 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;
@ -42,6 +45,7 @@ import java.util.stream.Collectors;
/** /**
* 任务派发处理逻辑 * 任务派发处理逻辑
*
* @author ninglong * @author ninglong
* @create 2020-08-26 17:06 * @create 2020-08-26 17:06
*/ */
@ -85,14 +89,15 @@ public class TaskJobService {
// @Autowired // @Autowired
// private IDutyMainClient dutyMainClient; // private IDutyMainClient dutyMainClient;
private final String dateSplit = "_"; private final String dateSplit = "_";
/** /**
* 根据计划用户获取接任务的人 * 根据计划用户获取接任务的人
*
* @param planUserId * @param planUserId
* @param taskId * @param taskId
*/ */
public TaskUserEntity getTaskUser(Long planUserId, Long taskId,Long deptId) { public TaskUserEntity getTaskUser(Long planUserId, Long taskId, Long deptId) {
// public TaskUserEntity getTaskUser(Long planUserId, Long taskId,String tenantId) { // public TaskUserEntity getTaskUser(Long planUserId, Long taskId,String tenantId) {
TaskUserEntity taskUserEntity = TaskUserEntity.builder().taskId(taskId).userId(planUserId) TaskUserEntity taskUserEntity = TaskUserEntity.builder().taskId(taskId).userId(planUserId)
.claimStatus(ClaimStatusEnum.UN_COLLECT.getStatus()).build(); .claimStatus(ClaimStatusEnum.UN_COLLECT.getStatus()).build();
@ -103,6 +108,7 @@ public class TaskJobService {
/** /**
* 从巡检计划和任务获取信息插入巡检任务对象表以及对应的历史数据表 * 从巡检计划和任务获取信息插入巡检任务对象表以及对应的历史数据表
*
* @param plan 巡检计划实例 * @param plan 巡检计划实例
* @param task 巡检任务实例 * @param task 巡检任务实例
* @return * @return
@ -110,47 +116,47 @@ public class TaskJobService {
public String distributeTaskObjs(PlanEntity plan, TaskEntity task) { public String distributeTaskObjs(PlanEntity plan, TaskEntity task) {
String result = StringUtils.EMPTY; String result = StringUtils.EMPTY;
List<TaskObjectEntity> taskObjectList = Lists.newArrayList(); List<TaskObjectEntity> taskObjectList = Lists.newArrayList();
if(PlanTypeEnum.FREE_TYPE.getType().equals(plan.getType())){//自由模式,通过计划找到用户,通过用户找到对象,通过对象找到模板 if (PlanTypeEnum.FREE_TYPE.getType().equals(plan.getType())) {//自由模式,通过计划找到用户,通过用户找到对象,通过对象找到模板
List<PlanUserEntity> planUserList = planUserService.list(Wrappers.<PlanUserEntity>query().lambda().eq(PlanUserEntity::getPlanId,plan.getId())); List<PlanUserEntity> planUserList = planUserService.list(Wrappers.<PlanUserEntity>query().lambda().eq(PlanUserEntity::getPlanId, plan.getId()));
for (PlanUserEntity entity:planUserList){ for (PlanUserEntity entity : planUserList) {
List<ObjectUserEntity> objectUserList = objectUserService.list(Wrappers.<ObjectUserEntity>query().lambda().eq(ObjectUserEntity::getUserId,entity.getUserId())); List<ObjectUserEntity> objectUserList = objectUserService.list(Wrappers.<ObjectUserEntity>query().lambda().eq(ObjectUserEntity::getUserId, entity.getUserId()));
for (ObjectUserEntity ou:objectUserList){ for (ObjectUserEntity ou : objectUserList) {
//如果是抢占模式 //如果是抢占模式
List<TaskObjectEntity> existEntity = taskObjectList.stream().filter(taskObjectEntity -> ou.getObjectId().equals(taskObjectEntity.getObjectId())).collect(Collectors.toList()); List<TaskObjectEntity> existEntity = taskObjectList.stream().filter(taskObjectEntity -> ou.getObjectId().equals(taskObjectEntity.getObjectId())).collect(Collectors.toList());
if(ObjectUtil.isNotEmpty(existEntity)){ if (ObjectUtil.isNotEmpty(existEntity)) {
break; break;
} }
result = distributeTaskObjs(taskObjectList,task,ou.getObjectId(),ou.getTemplateId()); result = distributeTaskObjs(taskObjectList, task, ou.getObjectId(), ou.getTemplateId());
if(!result.equals(StringUtils.EMPTY)){ if (!result.equals(StringUtils.EMPTY)) {
break; break;
} }
} }
} }
}else{ } else {
List<PlanObjectTemplateEntity> templates = planObjectTemplateService.list(Wrappers.<PlanObjectTemplateEntity>query().lambda().eq(PlanObjectTemplateEntity::getPlanId,plan.getId())); List<PlanObjectTemplateEntity> templates = planObjectTemplateService.list(Wrappers.<PlanObjectTemplateEntity>query().lambda().eq(PlanObjectTemplateEntity::getPlanId, plan.getId()));
for (PlanObjectTemplateEntity template : templates) { for (PlanObjectTemplateEntity template : templates) {
result = distributeTaskObjs(taskObjectList,task,template.getObjectId(),template.getTemplateId()); result = distributeTaskObjs(taskObjectList, task, template.getObjectId(), template.getTemplateId());
if(!result.equals(StringUtils.EMPTY)){ if (!result.equals(StringUtils.EMPTY)) {
break; break;
} }
} }
} }
if(taskObjectList.size()>0 && result.equals(StringUtils.EMPTY)){ if (taskObjectList.size() > 0 && result.equals(StringUtils.EMPTY)) {
taskObjectService.saveBatch(taskObjectList); taskObjectService.saveBatch(taskObjectList);
} }
return result; return result;
} }
private String distributeTaskObjs(List<TaskObjectEntity> taskObjectList,TaskEntity task,Long objectId,Long templateId){ private String distributeTaskObjs(List<TaskObjectEntity> taskObjectList, TaskEntity task, Long objectId, Long templateId) {
String result = StringUtils.EMPTY; String result = StringUtils.EMPTY;
ObjectEntity io = objectService.getById(objectId); ObjectEntity io = objectService.getById(objectId);
if(io == null) { if (io == null) {
return "巡检对象id="+objectId+"找不到记录"; return "巡检对象id=" + objectId + "找不到记录";
} }
TemplateEntity templateInfo = templateService.getById(templateId); TemplateEntity templateInfo = templateService.getById(templateId);
if(templateInfo == null) { if (templateInfo == null) {
return "巡检模板id="+templateId+"找不到记录"; return "巡检模板id=" + templateId + "找不到记录";
} }
TaskObjectEntity ito = new TaskObjectEntity(); TaskObjectEntity ito = new TaskObjectEntity();
ito.setTaskId(task.getId()); ito.setTaskId(task.getId());
ito.setObjectId(objectId); ito.setObjectId(objectId);
@ -166,25 +172,27 @@ public class TaskJobService {
// ito.setTenantId(task.getTenantId()); // ito.setTenantId(task.getTenantId());
ito.setStatus(TaskContants.StatusEnum.INIT_STATUS.getStatus()); ito.setStatus(TaskContants.StatusEnum.INIT_STATUS.getStatus());
taskObjectList.add(ito); taskObjectList.add(ito);
List<TemplateProjectEntity> projects = templateProjectService.list(Wrappers.<TemplateProjectEntity>query().lambda().eq(TemplateProjectEntity::getTemplateId,templateId)); List<TemplateProjectEntity> projects = templateProjectService.list(Wrappers.<TemplateProjectEntity>query().lambda().eq(TemplateProjectEntity::getTemplateId, templateId));
for (TemplateProjectEntity project : projects) { for (TemplateProjectEntity project : projects) {
result = distributeTaskProjects(task, objectId, project); result = distributeTaskProjects(task, objectId, project);
if(!result.equals(StringUtils.EMPTY)){ if (!result.equals(StringUtils.EMPTY)) {
break; break;
} }
} }
return result; return result;
} }
/** /**
* 从巡检任务巡检计划对象模板巡检模板项目获取信息插入巡检任务项目表以及对应的历史数据表 * 从巡检任务巡检计划对象模板巡检模板项目获取信息插入巡检任务项目表以及对应的历史数据表
*
* @param objectId 巡检计划对象模板实例 * @param objectId 巡检计划对象模板实例
* @param project 巡检模板项目实例 * @param project 巡检模板项目实例
* @return * @return
*/ */
private String distributeTaskProjects(TaskEntity task, Long objectId, TemplateProjectEntity project) { private String distributeTaskProjects(TaskEntity task, Long objectId, TemplateProjectEntity project) {
String result = StringUtils.EMPTY; String result = StringUtils.EMPTY;
ProjectEntity ip = projectService.getById(project.getProjectId()); ProjectEntity ip = projectService.getById(project.getProjectId());
if(ip == null) return "巡检项目id="+project.getProjectId()+"找不到记录"; if (ip == null) return "巡检项目id=" + project.getProjectId() + "找不到记录";
TaskObjectProjectEntity itop = new TaskObjectProjectEntity(); TaskObjectProjectEntity itop = new TaskObjectProjectEntity();
itop.setObjectId(objectId); itop.setObjectId(objectId);
itop.setProjectId(ip.getId()); itop.setProjectId(ip.getId());
@ -194,14 +202,14 @@ public class TaskJobService {
itop.setDescription(ip.getDescription()); itop.setDescription(ip.getDescription());
itop.setCreateTime(project.getCreateTime()); itop.setCreateTime(project.getCreateTime());
// itop.setTenantId(task.getTenantId()); // itop.setTenantId(task.getTenantId());
itop.setCreateUser(task.getCreateUser()); itop.setCreateUser(task.getCreateUser());
itop.setCreateDept(task.getCreateDept()); itop.setCreateDept(task.getCreateDept());
itop.setStatus(TaskContants.StatusEnum.INIT_STATUS.getStatus()); itop.setStatus(TaskContants.StatusEnum.INIT_STATUS.getStatus());
taskObjectProjectService.save(itop); taskObjectProjectService.save(itop);
List<ProjectContentEntity> contents = projectContentService.list(Wrappers.<ProjectContentEntity>query().lambda().eq(ProjectContentEntity::getProjectId,project.getProjectId())); List<ProjectContentEntity> contents = projectContentService.list(Wrappers.<ProjectContentEntity>query().lambda().eq(ProjectContentEntity::getProjectId, project.getProjectId()));
for (ProjectContentEntity content : contents) { for (ProjectContentEntity content : contents) {
result = distributeTaskContents(task, objectId, content); result = distributeTaskContents(task, objectId, content);
if(!result.equals(StringUtils.EMPTY)){ if (!result.equals(StringUtils.EMPTY)) {
break; break;
} }
} }
@ -210,13 +218,16 @@ public class TaskJobService {
/** /**
* 从巡检任务巡检计划对象模板巡检项目内容获取信息插入巡检任务内容表以及对应的历史数据表 * 从巡检任务巡检计划对象模板巡检项目内容获取信息插入巡检任务内容表以及对应的历史数据表
*
* @param objectId 巡检计划对象模板实例 * @param objectId 巡检计划对象模板实例
* @param content 巡检项目内容实例 * @param content 巡检项目内容实例
* @return * @return
*/ */
private String distributeTaskContents(TaskEntity task, Long objectId, ProjectContentEntity content) { private String distributeTaskContents(TaskEntity task, Long objectId, ProjectContentEntity content) {
ContentEntity ioc = contentService.getById(content.getContentId()); ContentEntity ioc = contentService.getById(content.getContentId());
if(ioc == null) {return "巡检内容id="+content.getContentId()+"找不到记录";} if (ioc == null) {
return "巡检内容id=" + content.getContentId() + "找不到记录";
}
TaskObjectProjectContentEntity itopc = new TaskObjectProjectContentEntity(); TaskObjectProjectContentEntity itopc = new TaskObjectProjectContentEntity();
itopc.setTaskId(task.getId()); itopc.setTaskId(task.getId());
itopc.setObjectId(objectId); itopc.setObjectId(objectId);
@ -229,8 +240,8 @@ public class TaskJobService {
itopc.setRecordType(ioc.getRecordType()); itopc.setRecordType(ioc.getRecordType());
itopc.setCreateTime(content.getCreateTime()); itopc.setCreateTime(content.getCreateTime());
// itopc.setTenantId(task.getTenantId()); // itopc.setTenantId(task.getTenantId());
itopc.setCreateUser(task.getCreateUser()); itopc.setCreateUser(task.getCreateUser());
itopc.setCreateDept(task.getCreateDept()); itopc.setCreateDept(task.getCreateDept());
itopc.setCheckTypeSon(ioc.getCheckTypeSon()); itopc.setCheckTypeSon(ioc.getCheckTypeSon());
itopc.setCameraAddr(ioc.getCameraAddr()); itopc.setCameraAddr(ioc.getCameraAddr());
itopc.setCameraId(ioc.getCameraId()); itopc.setCameraId(ioc.getCameraId());
@ -244,64 +255,64 @@ public class TaskJobService {
/** /**
* 根据巡检计划返回与计划有关的所有用户 * 根据巡检计划返回与计划有关的所有用户
*
* @param plan 巡检计划实例 * @param plan 巡检计划实例
* @return 计划相关用户集合 * @return 计划相关用户集合
*/ */
public List<PlanUserEntity> getUsersByPlan(PlanEntity plan) { public List<PlanUserEntity> getUsersByPlan(PlanEntity plan) {
List<PlanUserEntity> res = new LinkedList<PlanUserEntity>(); List<PlanUserEntity> res = new LinkedList<PlanUserEntity>();
if(PlanTypeEnum.USER_TYPE.getType().equals(plan.getType()) || PlanTypeEnum.FREE_TYPE.getType().equals(plan.getType())){ if (PlanTypeEnum.USER_TYPE.getType().equals(plan.getType()) || PlanTypeEnum.FREE_TYPE.getType().equals(plan.getType())) {
QueryWrapper<PlanUserEntity> planUserQw = new QueryWrapper<>(); QueryWrapper<PlanUserEntity> planUserQw = new QueryWrapper<>();
planUserQw.lambda().eq(PlanUserEntity::getPlanId, plan.getId()); planUserQw.lambda().eq(PlanUserEntity::getPlanId, plan.getId());
res.addAll(planUserService.list(planUserQw)); res.addAll(planUserService.list(planUserQw));
}else if(PlanTypeEnum.POSITION_TYPE.getType().equals(plan.getType())){ } else if (PlanTypeEnum.POSITION_TYPE.getType().equals(plan.getType())) {
QueryWrapper<PlanPositionEntity> planPositionEntityQueryWrapper = new QueryWrapper<>(); QueryWrapper<PlanPositionEntity> planPositionEntityQueryWrapper = new QueryWrapper<>();
planPositionEntityQueryWrapper.lambda().eq(PlanPositionEntity::getPlanId, plan.getId()); planPositionEntityQueryWrapper.lambda().eq(PlanPositionEntity::getPlanId, plan.getId());
planPostionService.list(planPositionEntityQueryWrapper).stream().forEach(entity->{ planPostionService.list(planPositionEntityQueryWrapper).stream().forEach(entity -> {
//获取该机构下所有用户列表 //获取该机构下所有用户列表
List<User> users = new ArrayList<>(); List<User> users = new ArrayList<>();
List<User> positionUsers = userClient.userListByPosition(entity.getPositionId()).getData(); List<User> positionUsers = userClient.userListByPosition(entity.getPositionId()).getData();
if(CollectionUtil.isNotEmpty(positionUsers)){ if (CollectionUtil.isNotEmpty(positionUsers)) {
users = positionUsers.stream().filter(user->user.getCreateDept().toString().contains(entity.getCreateDept().toString())).collect(Collectors.toList()); users = positionUsers.stream().filter(user -> user.getCreateDept().toString().contains(entity.getCreateDept().toString())).collect(Collectors.toList());
} }
//List<User> users = userClient.userListByPositionAndDept(entity.getPositionId(), plan.getCreateDept()).getData(); //List<User> users = userClient.userListByPositionAndDept(entity.getPositionId(), plan.getCreateDept()).getData();
log.info("岗位信息:" + entity.toString() + "; 获取到的user:{}",users.stream().map(User::getName).collect(Collectors.joining(","))); log.info("岗位信息:" + entity.toString() + "; 获取到的user:{}", users.stream().map(User::getName).collect(Collectors.joining(",")));
for(User u:users){ for (User u : users) {
res.add(PlanUserEntity.builder().planId(plan.getId()).userId(u.getId()).build()); res.add(PlanUserEntity.builder().planId(plan.getId()).userId(u.getId()).build());
} }
}); });
}else if(PlanTypeEnum.ORG_TYPE.getType().equals(plan.getType())){ } else if (PlanTypeEnum.ORG_TYPE.getType().equals(plan.getType())) {
QueryWrapper<PlanOrgEntity> planOrgEntityQueryWrapper = new QueryWrapper<>(); QueryWrapper<PlanOrgEntity> planOrgEntityQueryWrapper = new QueryWrapper<>();
planOrgEntityQueryWrapper.lambda().eq(PlanOrgEntity::getPlanId, plan.getId()); planOrgEntityQueryWrapper.lambda().eq(PlanOrgEntity::getPlanId, plan.getId());
planOrgService.list(planOrgEntityQueryWrapper).stream().forEach(entity->{ planOrgService.list(planOrgEntityQueryWrapper).stream().forEach(entity -> {
List<User> users = userClient.userListByDeptId(entity.getOrgId()).getData(); List<User> users = userClient.userListByDeptId(entity.getOrgId()).getData();
for(User u:users){ for (User u : users) {
res.add(PlanUserEntity.builder().planId(plan.getId()).userId(u.getId()).build()); res.add(PlanUserEntity.builder().planId(plan.getId()).userId(u.getId()).build());
} }
}); });
}else if(PlanTypeEnum.CLASS_TYPE.getType().equals(plan.getType())){ } else if (PlanTypeEnum.CLASS_TYPE.getType().equals(plan.getType())) {
log.error("巡检计划为班次时,有单独的处理流程,不应该跑到该分支下面来, plan = " + plan.toString()); log.error("巡检计划为班次时,有单独的处理流程,不应该跑到该分支下面来, plan = " + plan.toString());
JSONArray timeJsonArray; JSONArray timeJsonArray;
if(Func.isNotEmpty(plan.getExecTimeJson())){ if (Func.isNotEmpty(plan.getExecTimeJson())) {
/** 多次计划执行时间 **/ /** 多次计划执行时间 **/
timeJsonArray = JSON.parseArray(plan.getExecTimeJson()); timeJsonArray = JSON.parseArray(plan.getExecTimeJson());
} } else {
else{ throw new ServiceException("巡检计划未设置值班班次: plan = " + plan.toString());
throw new ServiceException("巡检计划未设置值班班次: plan = " + plan.toString()); }
} for (int i = 0; i < plan.getTaskTimesADay(); i++) {
for(int i=0;i<plan.getTaskTimesADay();i++){ JSONObject time = timeJsonArray.getJSONObject(i);
JSONObject time = timeJsonArray.getJSONObject(i); plan.setExecStartTime(time.get("execStartTime").toString());
plan.setExecStartTime(time.get("execStartTime").toString()); plan.setExecEndTime(time.get("execEndTime").toString());
plan.setExecEndTime(time.get("execEndTime").toString()); if (time.containsKey("isNextDay")) {
if (time.containsKey("isNextDay")) { plan.setIsNextDay(time.getBoolean("isNextDay"));
plan.setIsNextDay(time.getBoolean("isNextDay")); }
} //获取值班用户
//获取值班用户 if (time.containsKey("classId")) {
if (time.containsKey("classId")) { DateTimeFormatter dfShort = DateTimeFormatter.ofPattern("yyyy-MM-dd");
DateTimeFormatter dfShort = DateTimeFormatter.ofPattern("yyyy-MM-dd"); //ImsDutyMainFeignVO mainPerson = dutyMainClient.getMainPerson(time.getLong("classId"), dfShort.format(LocalDate.now()));
//ImsDutyMainFeignVO mainPerson = dutyMainClient.getMainPerson(time.getLong("classId"), dfShort.format(LocalDate.now())); //List<Long> ids = mainPerson.getPersons();
//List<Long> ids = mainPerson.getPersons(); //log.info("--计划为:{};人员ID为:{}--",plan.getName(),ids.stream().map(id->String.valueOf(id)).collect(Collectors.joining(",")));
//log.info("--计划为:{};人员ID为:{}--",plan.getName(),ids.stream().map(id->String.valueOf(id)).collect(Collectors.joining(","))); //plan.setDutyId(mainPerson.getMainId());
//plan.setDutyId(mainPerson.getMainId());
// if(Func.isNotEmpty(ids)){ // if(Func.isNotEmpty(ids)){
// for (Long id : ids) { // for (Long id : ids) {
// res.add(PlanUserEntity.builder().planId(plan.getId()).userId(id).build()); // res.add(PlanUserEntity.builder().planId(plan.getId()).userId(id).build());
@ -309,8 +320,8 @@ public class TaskJobService {
// } else { // } else {
// log.error("获取该班次值班人员为空, plan = " + plan.toString()); // log.error("获取该班次值班人员为空, plan = " + plan.toString());
// } // }
} }
} }
/*PlanClassEntity one = planClassService.getOne(Wrappers.lambdaQuery(PlanClassEntity.class).eq(PlanClassEntity::getPlanId, plan.getId()).last(" limit 1 ")); /*PlanClassEntity one = planClassService.getOne(Wrappers.lambdaQuery(PlanClassEntity.class).eq(PlanClassEntity::getPlanId, plan.getId()).last(" limit 1 "));
if(Func.isNotEmpty(one)) { if(Func.isNotEmpty(one)) {
DateTimeFormatter dfShort = DateTimeFormatter.ofPattern("yyyy-MM-dd"); DateTimeFormatter dfShort = DateTimeFormatter.ofPattern("yyyy-MM-dd");
@ -329,79 +340,85 @@ public class TaskJobService {
}*/ }*/
} }
//设置租户 //设置租户
List<PlanUserEntity> userResult = res.stream().distinct().map(entity-> { List<PlanUserEntity> userResult = res.stream().distinct().map(entity -> {
// entity.setTenantId(plan.getTenantId()); // entity.setTenantId(plan.getTenantId());
entity.setCreateDept(plan.getCreateDept()); entity.setCreateDept(plan.getCreateDept());
return entity; return entity;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
//res.forEach(entity->entity.setTenantId(plan.getTenantId())); //res.forEach(entity->entity.setTenantId(plan.getTenantId()));
return userResult; return userResult;
} }
/** /**
* 根据计划信息设置任务信息 * 根据计划信息设置任务信息
* @param plan 巡检计划实例 *
* @param plan 巡检计划实例
* @param totalTaskNum 任务数 并发任务有多少个人做任务就生成多少个任务抢占任务只生成一个 * @param totalTaskNum 任务数 并发任务有多少个人做任务就生成多少个任务抢占任务只生成一个
* @return 巡检任务实例 * @return 巡检任务实例
*/ */
public TaskEntity fillInspectionTask(PlanEntity plan,int totalTaskNum) { public TaskEntity fillInspectionTask(PlanEntity plan, int totalTaskNum) {
totalTaskNum = plan.getTaskTimesADay() * totalTaskNum; totalTaskNum = plan.getTaskTimesADay() * totalTaskNum;
TaskEntity task = new TaskEntity(); TaskEntity task = new TaskEntity();
LocalDate now = LocalDate.now(); LocalDate now = LocalDate.now();
DateTimeFormatter dfShort = DateTimeFormatter.ofPattern("yyyy-MM-dd "); DateTimeFormatter dfShort = DateTimeFormatter.ofPattern("yyyy-MM-dd ");
DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); DateTimeFormatter df = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
if(PlanCycleEnum.NEVER_CYCLE.getCycle().equals(plan.getCycle())) { if (PlanCycleEnum.NEVER_CYCLE.getCycle().equals(plan.getCycle())) {
task.setBatchNumber(now.getYear()+dateSplit+now.getMonthValue()+dateSplit+now.getDayOfMonth() + "N"); task.setBatchNumber(now.getYear() + dateSplit + now.getMonthValue() + dateSplit + now.getDayOfMonth() + "N");
task.setPlanEndTime(LocalDateTime.parse(dfShort.format(plan.getEndTime())+plan.getExecEndTime(), df)); task.setPlanEndTime(LocalDateTime.parse(dfShort.format(plan.getEndTime()) + plan.getExecEndTime(), df));
}else if(PlanCycleEnum.EVERYDAY_CYCLE.getCycle().equals(plan.getCycle())) { } else if (PlanCycleEnum.EVERYDAY_CYCLE.getCycle().equals(plan.getCycle())) {
task.setBatchNumber(now.getYear()+dateSplit+now.getMonthValue()+dateSplit+now.getDayOfMonth() +""); task.setBatchNumber(now.getYear() + dateSplit + now.getMonthValue() + dateSplit + now.getDayOfMonth() + "");
if(Func.isNotEmpty(plan.getIsNextDay()) && plan.getIsNextDay()){ if (Func.isNotEmpty(plan.getIsNextDay()) && plan.getIsNextDay()) {
task.setPlanEndTime(LocalDateTime.parse(dfShort.format(now.plusDays(1L)) + plan.getExecEndTime(), df)); task.setPlanEndTime(LocalDateTime.parse(dfShort.format(now.plusDays(1L)) + plan.getExecEndTime(), df));
} else { } else {
task.setPlanEndTime(LocalDateTime.parse(dfShort.format(now) + plan.getExecEndTime(), df)); task.setPlanEndTime(LocalDateTime.parse(dfShort.format(now) + plan.getExecEndTime(), df));
} }
}else if(PlanCycleEnum.EVERYWEEK_CYCLE.getCycle().equals(plan.getCycle())) { } else if (PlanCycleEnum.EVERYWEEK_CYCLE.getCycle().equals(plan.getCycle())) {
WeekFields weekFields = WeekFields.of(DayOfWeek.MONDAY,1); WeekFields weekFields = WeekFields.of(DayOfWeek.MONDAY, 1);
int weeks = now.get(weekFields.weekOfYear()); int weeks = now.get(weekFields.weekOfYear());
task.setBatchNumber(now.getYear()+dateSplit+now.getMonthValue() + dateSplit+weeks + "W"); task.setBatchNumber(now.getYear() + dateSplit + now.getMonthValue() + dateSplit + weeks + "W");
task.setPlanEndTime(LocalDateTime.parse(dfShort.format(now.plusWeeks(1)) + plan.getExecEndTime(), df)); task.setPlanEndTime(LocalDateTime.parse(dfShort.format(now.plusWeeks(1)) + plan.getExecEndTime(), df));
}else if(PlanCycleEnum.EVERYMONTH_CYCLE.getCycle().equals(plan.getCycle())) { } else if (PlanCycleEnum.EVERYMONTH_CYCLE.getCycle().equals(plan.getCycle())) {
task.setBatchNumber(now.getYear()+dateSplit+now.getMonthValue()); task.setBatchNumber(now.getYear() + dateSplit + now.getMonthValue());
task.setPlanEndTime(LocalDateTime.parse(dfShort.format(now.plusMonths(1))+plan.getExecEndTime(), df)); task.setPlanEndTime(LocalDateTime.parse(dfShort.format(now.plusMonths(1)) + plan.getExecEndTime(), df));
}else if(PlanCycleEnum.EVERYQUARTER_CYCLE.getCycle().equals(plan.getCycle())) { } else if (PlanCycleEnum.EVERYQUARTER_CYCLE.getCycle().equals(plan.getCycle())) {
task.setBatchNumber(now.getYear()+dateSplit+now.getMonthValue() + "Q"); task.setBatchNumber(now.getYear() + dateSplit + now.getMonthValue() + "Q");
task.setPlanEndTime(LocalDateTime.parse(dfShort.format(now.plusMonths(3)) + plan.getExecEndTime(), df)); task.setPlanEndTime(LocalDateTime.parse(dfShort.format(now.plusMonths(3)) + plan.getExecEndTime(), df));
}else if(PlanCycleEnum.EVERYYEAR_CYCLE.getCycle().equals(plan.getCycle())){ } else if (PlanCycleEnum.EVERYYEAR_CYCLE.getCycle().equals(plan.getCycle())) {
task.setBatchNumber(now.getYear()+""); task.setBatchNumber(now.getYear() + "");
task.setPlanEndTime(LocalDateTime.parse(dfShort.format(now.plusYears(1))+plan.getExecEndTime(), df)); task.setPlanEndTime(LocalDateTime.parse(dfShort.format(now.plusYears(1)) + plan.getExecEndTime(), df));
} }
task.setDutyId(plan.getDutyId()); task.setDutyId(plan.getDutyId());
task.setPlanId(plan.getId()); task.setPlanId(plan.getId());
task.setPlanName(plan.getName()); task.setPlanName(plan.getName());
task.setType(plan.getType()); task.setType(plan.getType());
task.setCycle(plan.getCycle()); task.setCycle(plan.getCycle());
if(PlanCycleEnum.NEVER_CYCLE.getCycle().equals(plan.getCycle())) { if (PlanCycleEnum.NEVER_CYCLE.getCycle().equals(plan.getCycle())) {
task.setPlanStartTime(LocalDateTime.parse(dfShort.format(plan.getStartTime()) + plan.getExecStartTime(), df)); task.setPlanStartTime(LocalDateTime.parse(dfShort.format(plan.getStartTime()) + plan.getExecStartTime(), df));
} else { } else {
task.setPlanStartTime(LocalDateTime.parse(dfShort.format(now) + plan.getExecStartTime(), df)); task.setPlanStartTime(LocalDateTime.parse(dfShort.format(now) + plan.getExecStartTime(), df));
} }
task.setStatus(Integer.valueOf(TaskContants.TaskStatusEnum.INIT_STATUS.getStatus())); task.setStatus(Integer.valueOf(TaskContants.TaskStatusEnum.INIT_STATUS.getStatus()));
task.setCreateUser(plan.getCreateUser()); task.setCreateUser(plan.getCreateUser());
task.setCreateDept(plan.getCreateDept()); task.setCreateDept(plan.getCreateDept());
task.setAutoVideo(plan.getAutoVideo()); task.setAutoVideo(plan.getAutoVideo());
task.setMethod(plan.getMethod()); task.setMethod(plan.getMethod());
task.setEndRemindFlag(true); task.setEndRemindFlag(true);
task.setStartRemindFlag(true); task.setStartRemindFlag(true);
task.setStartRemindTime(task.getPlanStartTime().minusMinutes(plan.getStartRemind())); task.setStartRemindTime(task.getPlanStartTime().minusMinutes(plan.getStartRemind()));
task.setEndRemindTime(task.getPlanEndTime().minusMinutes(plan.getEndRemind())); task.setEndRemindTime(task.getPlanEndTime().minusMinutes(plan.getEndRemind()));
int taskCount = taskService.count(Wrappers.<TaskEntity>query().lambda().eq(TaskEntity::getPlanId,task.getPlanId()).eq(TaskEntity::getBatchNumber, task.getBatchNumber())); int taskCount = taskService.count(Wrappers.<TaskEntity>query().lambda().eq(TaskEntity::getPlanId, task.getPlanId()).eq(TaskEntity::getBatchNumber, task.getBatchNumber()));
XxlJobLogger.log("该计划已生成计划批次:{},数量:{}",task.getBatchNumber(),taskCount); XxlJobLogger.log("该计划已生成计划批次:{},数量:{}", task.getBatchNumber(), taskCount);
if(taskCount>=totalTaskNum){ if (taskCount >= totalTaskNum) {
log.info("计划id={}本周期batchNumber={}的任务已生成",plan.getId(),task.getBatchNumber()); log.info("计划id={}本周期batchNumber={}的任务已生成", plan.getId(), task.getBatchNumber());
return null; return null;
} }
// 自动报备
task.setKeepOnRecord(TaskContants.keepOnRecordEnum.yes.getType());
task.setStartTime(LocalDateTime.now());
task.setStatus(Integer.valueOf(TaskContants.TaskStatusEnum.UNDERWAY_STATUS.getStatus()));
taskService.save(task); taskService.save(task);
return task; return task;
} }

2
hnac-framework-boot/src/main/resources/application-local.yml

@ -12,7 +12,7 @@ spring:
password: 1qaz2WSX! password: 1qaz2WSX!
slave: slave:
url: jdbc:mysql://192.168.1.58:3576/hzinfo_ris_pxhd?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&tinyInt1isBit=false&allowMultiQueries=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true url: jdbc:mysql://192.168.1.58:3576/hzinfo_ris_pxhd?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&tinyInt1isBit=false&allowMultiQueries=true&serverTimezone=GMT%2B8&nullCatalogMeansCurrent=true&allowPublicKeyRetrieval=true
username: root username: hzinfo
password: 1qaz2WSX! password: 1qaz2WSX!
tdengine: tdengine:
db-type: postgresql db-type: postgresql

0
hnac-framework-boot/src/main/resources/log/logback-test.xml → hnac-framework-boot/src/main/resources/log/logback-local.xml

Loading…
Cancel
Save