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. 3
      HZInfo-RIS-PXHD/hzinfo-ris-pxhd-service/hzinfo-inspect-service/src/main/java/org/springblade/hzinfo_inspect/duty/service/IImsDutyEmergencyService.java
  3. 72
      HZInfo-RIS-PXHD/hzinfo-ris-pxhd-service/hzinfo-inspect-service/src/main/java/org/springblade/hzinfo_inspect/duty/service/impl/ImsDutyEmergencyServiceImpl.java
  4. 214
      HZInfo-RIS-PXHD/hzinfo-ris-pxhd-service/hzinfo-inspect-service/src/main/java/org/springblade/hzinfo_inspect/plan/service/impl/PlanServiceImpl.java
  5. 28
      HZInfo-RIS-PXHD/hzinfo-ris-pxhd-service/hzinfo-inspect-service/src/main/java/org/springblade/hzinfo_inspect/task/controller/TaskRecordController.java
  6. 161
      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);
} }

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

@ -4,7 +4,6 @@ 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;
/** /**
@ -19,6 +18,6 @@ public interface IImsDutyEmergencyService extends IService<ImsDutyEmergencyEntit
R deleteEntity(ImsDutyEmergencyEntity imsDutyEmergencyEntity); R deleteEntity(ImsDutyEmergencyEntity imsDutyEmergencyEntity);
R queryEntity(ImsDutyEmergencyVo imsDutyEmergencyVo, Query query); R queryEmergency(ImsDutyEmergencyEntity entity, Query query);
} }

72
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)) { List<ImsDutyEmergencyEntity> resultList = pageList.getRecords().stream().map(obj -> {
collect = records.stream().map(sig -> { R<User> user = userClient.userInfoById(obj.getRegistrant());
R<User> user = userClient.userInfoById(sig.getRegistrant());
if (user.isSuccess() && ObjectUtils.isNotEmpty(user.getData())) { if (user.isSuccess() && ObjectUtils.isNotEmpty(user.getData())) {
sig.setRegistrantName(user.getData().getName()); obj.setRegistrantName(user.getData().getName());
} }
R<User> userR = userClient.userInfoById(sig.getChargePerson()); R<User> userR = userClient.userInfoById(obj.getChargePerson());
if (userR.isSuccess() && ObjectUtils.isNotEmpty(userR.getData())) { if (userR.isSuccess() && ObjectUtils.isNotEmpty(userR.getData())) {
sig.setChargePersonName(userR.getData().getName()); obj.setChargePersonName(userR.getData().getName());
} }
ImsDutyClassEntity classEntity = imsDutyClassService.getById(sig.getDutyClass()); ImsDutyClassEntity classEntity = imsDutyClassService.getById(obj.getDutyClass());
sig.setDutyClassName(classEntity.getClassName()); obj.setDutyClassName(classEntity == null ? "未知" : classEntity.getClassName());
return sig; return obj;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
imsDutyEmergencyEntityIPage.setRecords(collect); pageList.setRecords(resultList);
} return R.data(pageList);
return R.data(imsDutyEmergencyEntityIPage);
}
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;
}
} }

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

@ -1,6 +1,5 @@
package org.springblade.hzinfo_inspect.plan.service.impl; package org.springblade.hzinfo_inspect.plan.service.impl;
import org.springblade.system.feign.ISysClient;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
@ -9,7 +8,12 @@ import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
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.hnac.hzims.operational.duty.feign.IDutyClassClient; import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.SpringUtil;
import org.springblade.hzinfo_inspect.obj.entity.ObjectEntity; import org.springblade.hzinfo_inspect.obj.entity.ObjectEntity;
import org.springblade.hzinfo_inspect.obj.entity.TemplateEntity; import org.springblade.hzinfo_inspect.obj.entity.TemplateEntity;
import org.springblade.hzinfo_inspect.obj.services.ObjectService; import org.springblade.hzinfo_inspect.obj.services.ObjectService;
@ -28,12 +32,7 @@ import org.springblade.hzinfo_inspect.task.job.service.ITaskJobService;
import org.springblade.hzinfo_inspect.task.job.service.impl.ConcurrentTaskServcie; import org.springblade.hzinfo_inspect.task.job.service.impl.ConcurrentTaskServcie;
import org.springblade.hzinfo_inspect.task.job.service.impl.SeizeTaskService; import org.springblade.hzinfo_inspect.task.job.service.impl.SeizeTaskService;
import org.springblade.hzinfo_inspect.task.service.ITaskService; import org.springblade.hzinfo_inspect.task.service.ITaskService;
import org.springblade.core.log.exception.ServiceException; import org.springblade.system.feign.ISysClient;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.utils.BeanUtil;
import org.springblade.core.tool.utils.Func;
import org.springblade.core.tool.utils.SpringUtil;
import org.springblade.system.user.cache.UserCache; import org.springblade.system.user.cache.UserCache;
import org.springblade.system.user.entity.User; import org.springblade.system.user.entity.User;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -86,20 +85,20 @@ public class PlanServiceImpl extends BaseServiceImpl<PlanMapper, PlanEntity> imp
// private static final String TASK_END_REMIND_KEY = "taskEndRemind"; // private static final String TASK_END_REMIND_KEY = "taskEndRemind";
/** /**
* 删除巡检计划删除巡检计划相关的所有信息 * 删除巡检计划删除巡检计划相关的所有信息
*
* @param id * @param id
* @return * @return
*/ */
@Override @Override
public Boolean deletePlanAndRelatives(Long id){ public Boolean deletePlanAndRelatives(Long id) {
taskService.deleteTaskByPlanId(id); taskService.deleteTaskByPlanId(id);
planUserService.remove(Wrappers.<PlanUserEntity>lambdaQuery().eq(PlanUserEntity::getPlanId,id)); planUserService.remove(Wrappers.<PlanUserEntity>lambdaQuery().eq(PlanUserEntity::getPlanId, id));
planOrgService.remove(Wrappers.<PlanOrgEntity>lambdaQuery().eq(PlanOrgEntity::getPlanId,id)); planOrgService.remove(Wrappers.<PlanOrgEntity>lambdaQuery().eq(PlanOrgEntity::getPlanId, id));
planPositionService.remove(Wrappers.<PlanPositionEntity>lambdaQuery().eq(PlanPositionEntity::getPlanId,id)); planPositionService.remove(Wrappers.<PlanPositionEntity>lambdaQuery().eq(PlanPositionEntity::getPlanId, id));
planObjectTemplateService.remove(Wrappers.<PlanObjectTemplateEntity>lambdaQuery().eq(PlanObjectTemplateEntity::getPlanId,id)); planObjectTemplateService.remove(Wrappers.<PlanObjectTemplateEntity>lambdaQuery().eq(PlanObjectTemplateEntity::getPlanId, id));
return remove(Wrappers.<PlanEntity>lambdaQuery().eq(PlanEntity::getId,id)); return remove(Wrappers.<PlanEntity>lambdaQuery().eq(PlanEntity::getId, id));
} }
/** /**
@ -107,16 +106,16 @@ public class PlanServiceImpl extends BaseServiceImpl<PlanMapper, PlanEntity> imp
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public Boolean submit(PlanVO plan){ public Boolean submit(PlanVO plan) {
checkInputParam(plan); checkInputParam(plan);
boolean modify = plan.getId()!=null; boolean modify = plan.getId() != null;
PlanEntity entity = BeanUtil.copy(plan, PlanEntity.class); PlanEntity entity = BeanUtil.copy(plan, PlanEntity.class);
//不管是新增还是修改成功后都为待提交状态 //不管是新增还是修改成功后都为待提交状态
entity.setStatus(Integer.valueOf(PlanContants.PlanStatusEnum.PLAN_SUBMIT.getStatus())); entity.setStatus(Integer.valueOf(PlanContants.PlanStatusEnum.PLAN_SUBMIT.getStatus()));
boolean success = this.saveOrUpdate(entity); boolean success = this.saveOrUpdate(entity);
if(success){ if (success) {
plan.setId(entity.getId()); plan.setId(entity.getId());
success = insertPlanRelations(modify,plan); success = insertPlanRelations(modify, plan);
} }
return success; return success;
} }
@ -124,23 +123,24 @@ public class PlanServiceImpl extends BaseServiceImpl<PlanMapper, PlanEntity> imp
/** /**
* 新增巡检计划 并审核生成任务 * 新增巡检计划 并审核生成任务
*
* @param plan * @param plan
* @return 返回taskId list * @return 返回taskId list
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public List<Long> addAndChecked(PlanVO plan){ public List<Long> addAndChecked(PlanVO plan) {
List<Long> taskIds = new ArrayList<>(); List<Long> taskIds = new ArrayList<>();
checkInputParam(plan); checkInputParam(plan);
boolean modify = plan.getId()!=null; boolean modify = plan.getId() != null;
PlanEntity entity = BeanUtil.copy(plan, PlanEntity.class); PlanEntity entity = BeanUtil.copy(plan, PlanEntity.class);
//不管是新增还是修改成功后都为待提交状态 //不管是新增还是修改成功后都为待提交状态
entity.setStatus(Integer.valueOf(PlanContants.PlanStatusEnum.CHECK_STATUS.getStatus())); entity.setStatus(Integer.valueOf(PlanContants.PlanStatusEnum.CHECK_STATUS.getStatus()));
boolean success = this.save(entity); boolean success = this.save(entity);
if(success){ if (success) {
plan.setId(entity.getId()); plan.setId(entity.getId());
success = insertPlanRelations(modify,plan); success = insertPlanRelations(modify, plan);
if(success){ if (success) {
taskIds = genPresentTaskReturnTaskId(entity.getId()); taskIds = genPresentTaskReturnTaskId(entity.getId());
} }
} }
@ -149,54 +149,56 @@ public class PlanServiceImpl extends BaseServiceImpl<PlanMapper, PlanEntity> imp
/** /**
* 校验提交参数 * 校验提交参数
*
* @param plan * @param plan
*/ */
private void checkInputParam(PlanVO plan){ private void checkInputParam(PlanVO plan) {
if(plan.getId()==null && Func.isEmpty(plan.getCode())){ if (plan.getId() == null && Func.isEmpty(plan.getCode())) {
plan.setCode(CodeUtils.randomCode()); plan.setCode(CodeUtils.randomCode());
LocalDate now = LocalDate.now(); LocalDate now = LocalDate.now();
if(plan.getStartTime().isBefore(now)){ if (plan.getStartTime().isBefore(now)) {
throw new ServiceException("新增计划时开始时间不能早于当前时间"); throw new ServiceException("新增计划时开始时间不能早于当前时间");
} }
} }
if(plan.getEndTime().isBefore(plan.getStartTime())){ if (plan.getEndTime().isBefore(plan.getStartTime())) {
throw new ServiceException("结束时间不能早于开始时间"); throw new ServiceException("结束时间不能早于开始时间");
} }
if(!plan.getType().equals(PlanContants.PlanTypeEnum.FREE_TYPE.getType()) && Func.isEmpty(plan.getRouteData())){ if (!plan.getType().equals(PlanContants.PlanTypeEnum.FREE_TYPE.getType()) && Func.isEmpty(plan.getRouteData())) {
throw new ServiceException("巡检路径数据不能为空"); throw new ServiceException("巡检路径数据不能为空");
} }
} }
/** /**
* 插入巡检计划相关表 * 插入巡检计划相关表
*
* @param modify 是否是修改 * @param modify 是否是修改
* @param plan * @param plan
* @return * @return
*/ */
private boolean insertPlanRelationsOld(boolean modify,PlanVO plan){ private boolean insertPlanRelationsOld(boolean modify, PlanVO plan) {
boolean success = false; boolean success = false;
//添加巡检计划对象模板(一个对象在一个计划只能出现一次) //添加巡检计划对象模板(一个对象在一个计划只能出现一次)
List<PlanObjectTemplateVO> obtList = plan.getPlanObjectTemplates().stream().filter(objectEntity->objectEntity.getId()==null).collect(Collectors.toList()); List<PlanObjectTemplateVO> obtList = plan.getPlanObjectTemplates().stream().filter(objectEntity -> objectEntity.getId() == null).collect(Collectors.toList());
if(obtList.size()>0){ if (obtList.size() > 0) {
List<Long> planObjectIds = planObjectTemplateService.list(Wrappers.<PlanObjectTemplateEntity>lambdaQuery() List<Long> planObjectIds = planObjectTemplateService.list(Wrappers.<PlanObjectTemplateEntity>lambdaQuery()
.eq(PlanObjectTemplateEntity::getPlanId,plan.getId())).stream().map(objEntity->objEntity.getObjectId()).distinct().collect(Collectors.toList()); .eq(PlanObjectTemplateEntity::getPlanId, plan.getId())).stream().map(objEntity -> objEntity.getObjectId()).distinct().collect(Collectors.toList());
planObjectIds.addAll(obtList.stream().map(planObjectVO->planObjectVO.getObjectId()).collect(Collectors.toList())); planObjectIds.addAll(obtList.stream().map(planObjectVO -> planObjectVO.getObjectId()).collect(Collectors.toList()));
Set<Long> planObjectIdsSet = new HashSet<>(planObjectIds); Set<Long> planObjectIdsSet = new HashSet<>(planObjectIds);
boolean repeat = planObjectIds.size()!=planObjectIdsSet.size(); boolean repeat = planObjectIds.size() != planObjectIdsSet.size();
if(repeat){ if (repeat) {
throw new ServiceException("一个对象在一个计划只能出现一次"); throw new ServiceException("一个对象在一个计划只能出现一次");
} }
List<PlanObjectTemplateEntity> pteList = Lists.newArrayList(); List<PlanObjectTemplateEntity> pteList = Lists.newArrayList();
for(PlanObjectTemplateVO tvo :obtList){ for (PlanObjectTemplateVO tvo : obtList) {
PlanObjectTemplateEntity pte = PlanObjectTemplateEntity.builder().objectId(tvo.getObjectId()).templateId(tvo.getTemplateId()).planId(plan.getId()).build(); PlanObjectTemplateEntity pte = PlanObjectTemplateEntity.builder().objectId(tvo.getObjectId()).templateId(tvo.getTemplateId()).planId(plan.getId()).build();
pte.setId(tvo.getId()); pte.setId(tvo.getId());
pteList.add(pte); pteList.add(pte);
} }
if(pteList.size()>0){ if (pteList.size() > 0) {
success = planObjectTemplateService.saveOrUpdateBatch(pteList); success = planObjectTemplateService.saveOrUpdateBatch(pteList);
} }
} }
if(modify){//修改先要删除 if (modify) {//修改先要删除
//巡检计划模式人员 //巡检计划模式人员
UpdateWrapper<PlanUserEntity> ew = new UpdateWrapper<>(); UpdateWrapper<PlanUserEntity> ew = new UpdateWrapper<>();
ew.lambda().eq(PlanUserEntity::getPlanId, plan.getId()); ew.lambda().eq(PlanUserEntity::getPlanId, plan.getId());
@ -212,36 +214,36 @@ public class PlanServiceImpl extends BaseServiceImpl<PlanMapper, PlanEntity> imp
} }
//巡检计划模式人员 //巡检计划模式人员
List<Long> uVoList = plan.getPlanUsers(); List<Long> uVoList = plan.getPlanUsers();
if(Func.isNotEmpty(uVoList)){ if (Func.isNotEmpty(uVoList)) {
List<PlanUserEntity> uList = Lists.newArrayList(); List<PlanUserEntity> uList = Lists.newArrayList();
for(Long uId:uVoList){ for (Long uId : uVoList) {
uList.add(PlanUserEntity.builder().planId(plan.getId()).userId(uId).build()); uList.add(PlanUserEntity.builder().planId(plan.getId()).userId(uId).build());
} }
if(uList.size()>0){ if (uList.size() > 0) {
success = planUserService.saveBatch(uList); success = planUserService.saveBatch(uList);
} }
} }
//巡检计划模式岗位 //巡检计划模式岗位
List<Long> pVoList = plan.getPlanPosts(); List<Long> pVoList = plan.getPlanPosts();
if(Func.isNotEmpty(pVoList)){ if (Func.isNotEmpty(pVoList)) {
List<PlanPositionEntity> pList = Lists.newArrayList(); List<PlanPositionEntity> pList = Lists.newArrayList();
for(Long pId:pVoList){ for (Long pId : pVoList) {
pList.add(PlanPositionEntity.builder().planId(plan.getId()).positionId(pId).build()); pList.add(PlanPositionEntity.builder().planId(plan.getId()).positionId(pId).build());
} }
if(pList.size()>0){ if (pList.size() > 0) {
success = planPositionService.saveBatch(pList); success = planPositionService.saveBatch(pList);
} }
} }
//巡检计划模式机构 //巡检计划模式机构
List<Long> oVoList = plan.getPlanOrgs(); List<Long> oVoList = plan.getPlanOrgs();
if(Func.isNotEmpty(oVoList)){ if (Func.isNotEmpty(oVoList)) {
List<PlanOrgEntity> oList = Lists.newArrayList(); List<PlanOrgEntity> oList = Lists.newArrayList();
for(Long oId:oVoList){ for (Long oId : oVoList) {
oList.add(PlanOrgEntity.builder().planId(plan.getId()).orgId(oId).build()); oList.add(PlanOrgEntity.builder().planId(plan.getId()).orgId(oId).build());
} }
if(oList.size()>0){ if (oList.size() > 0) {
success = planOrgService.saveBatch(oList); success = planOrgService.saveBatch(oList);
} }
} }
@ -252,16 +254,17 @@ public class PlanServiceImpl extends BaseServiceImpl<PlanMapper, PlanEntity> imp
/** /**
* 插入巡检计划相关表 * 插入巡检计划相关表
* 对象模板信息来源于路径 * 对象模板信息来源于路径
*
* @param modify 是否是修改 * @param modify 是否是修改
* @param plan * @param plan
* @return * @return
*/ */
public boolean insertPlanRelations(boolean modify,PlanVO plan){ public boolean insertPlanRelations(boolean modify, PlanVO plan) {
boolean success = false; boolean success = false;
//添加巡检计划对象模板(一个对象在一个计划只能出现一次) //添加巡检计划对象模板(一个对象在一个计划只能出现一次)
List<PlanObjectTemplateEntity> obtList = new ArrayList<>(); List<PlanObjectTemplateEntity> obtList = new ArrayList<>();
if(!plan.getType().equals(PlanContants.PlanTypeEnum.FREE_TYPE.getType())){ if (!plan.getType().equals(PlanContants.PlanTypeEnum.FREE_TYPE.getType())) {
if(Func.isNotBlank(plan.getRouteData())){ if (Func.isNotBlank(plan.getRouteData())) {
JSONArray routeJson = JSON.parseArray(plan.getRouteData()); JSONArray routeJson = JSON.parseArray(plan.getRouteData());
int len = routeJson.size(); int len = routeJson.size();
for (int i = 0; i < len; i++) { for (int i = 0; i < len; i++) {
@ -278,7 +281,7 @@ public class PlanServiceImpl extends BaseServiceImpl<PlanMapper, PlanEntity> imp
} }
if(modify){//修改先要删除 if (modify) {//修改先要删除
//巡检计划模式人员 //巡检计划模式人员
UpdateWrapper<PlanUserEntity> ew = new UpdateWrapper<>(); UpdateWrapper<PlanUserEntity> ew = new UpdateWrapper<>();
ew.lambda().eq(PlanUserEntity::getPlanId, plan.getId()); ew.lambda().eq(PlanUserEntity::getPlanId, plan.getId());
@ -304,41 +307,41 @@ public class PlanServiceImpl extends BaseServiceImpl<PlanMapper, PlanEntity> imp
//巡检计划模式人员 //巡检计划模式人员
List<Long> uVoList = plan.getPlanUsers(); List<Long> uVoList = plan.getPlanUsers();
if(Func.isNotEmpty(uVoList)){ if (Func.isNotEmpty(uVoList)) {
List<PlanUserEntity> uList = Lists.newArrayList(); List<PlanUserEntity> uList = Lists.newArrayList();
for(Long uId:uVoList){ for (Long uId : uVoList) {
uList.add(PlanUserEntity.builder().planId(plan.getId()).userId(uId).build()); uList.add(PlanUserEntity.builder().planId(plan.getId()).userId(uId).build());
} }
if(uList.size()>0){ if (uList.size() > 0) {
success = planUserService.saveBatch(uList); success = planUserService.saveBatch(uList);
} }
} }
//巡检计划模式岗位 //巡检计划模式岗位
List<Long> pVoList = plan.getPlanPosts(); List<Long> pVoList = plan.getPlanPosts();
if(Func.isNotEmpty(pVoList)){ if (Func.isNotEmpty(pVoList)) {
List<PlanPositionEntity> pList = Lists.newArrayList(); List<PlanPositionEntity> pList = Lists.newArrayList();
for(Long pId:pVoList){ for (Long pId : pVoList) {
pList.add(PlanPositionEntity.builder().planId(plan.getId()).positionId(pId).build()); pList.add(PlanPositionEntity.builder().planId(plan.getId()).positionId(pId).build());
} }
if(pList.size()>0){ if (pList.size() > 0) {
success = planPositionService.saveBatch(pList); success = planPositionService.saveBatch(pList);
} }
} }
//巡检计划模式机构 //巡检计划模式机构
List<Long> oVoList = plan.getPlanOrgs(); List<Long> oVoList = plan.getPlanOrgs();
if(Func.isNotEmpty(oVoList)){ if (Func.isNotEmpty(oVoList)) {
List<PlanOrgEntity> oList = Lists.newArrayList(); List<PlanOrgEntity> oList = Lists.newArrayList();
for(Long oId:oVoList){ for (Long oId : oVoList) {
oList.add(PlanOrgEntity.builder().planId(plan.getId()).orgId(oId).build()); oList.add(PlanOrgEntity.builder().planId(plan.getId()).orgId(oId).build());
} }
if(oList.size()>0){ if (oList.size() > 0) {
success = planOrgService.saveBatch(oList); success = planOrgService.saveBatch(oList);
} }
} }
if(plan.getType().equals(PlanTypeEnum.CLASS_TYPE.getType()) ){ if (plan.getType().equals(PlanTypeEnum.CLASS_TYPE.getType())) {
success = true; success = true;
} }
@ -347,45 +350,46 @@ public class PlanServiceImpl extends BaseServiceImpl<PlanMapper, PlanEntity> imp
/** /**
* hld 保存巡检计划 * hld 保存巡检计划
*
* @param plan * @param plan
* @return * @return
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Boolean submitForHld(PlanVO plan){ public Boolean submitForHld(PlanVO plan) {
boolean modify = plan.getId()!=null; boolean modify = plan.getId() != null;
PlanEntity entity = BeanUtil.copy(plan, PlanEntity.class); PlanEntity entity = BeanUtil.copy(plan, PlanEntity.class);
//不管是新增还是修改成功后都为已审核状态 //不管是新增还是修改成功后都为已审核状态
entity.setStatus(Integer.valueOf(PlanContants.PlanStatusEnum.CHECK_STATUS.getStatus())); entity.setStatus(Integer.valueOf(PlanContants.PlanStatusEnum.CHECK_STATUS.getStatus()));
//临时任务 //临时任务
if(plan.getPlanType() != null && plan.getPlanType().equals(PlanContants.PlanContentTypeEnum.TEMP.getDesc())){ if (plan.getPlanType() != null && plan.getPlanType().equals(PlanContants.PlanContentTypeEnum.TEMP.getDesc())) {
/*add for huanglongdai 20190927 生成临时任务*/ /*add for huanglongdai 20190927 生成临时任务*/
entity.setStatus(Integer.valueOf(PlanContants.PlanStatusEnum.FINISH_STATUS.getStatus())); entity.setStatus(Integer.valueOf(PlanContants.PlanStatusEnum.FINISH_STATUS.getStatus()));
} else { } else {
entity.setPlanType(PlanContants.PlanContentTypeEnum.COMMON.getDesc()); entity.setPlanType(PlanContants.PlanContentTypeEnum.COMMON.getDesc());
if(plan.getTaskFlg() != null && plan.getTaskFlg() == PlanContants.GenTaskImmediateEnum.YES.getFlag()){ if (plan.getTaskFlg() != null && plan.getTaskFlg() == PlanContants.GenTaskImmediateEnum.YES.getFlag()) {
if (plan.getCycle().equals(PlanContants.PlanCycleEnum.NEVER_CYCLE.getCycle())){ if (plan.getCycle().equals(PlanContants.PlanCycleEnum.NEVER_CYCLE.getCycle())) {
entity.setStatus(Integer.valueOf(PlanContants.PlanStatusEnum.FINISH_STATUS.getStatus())); entity.setStatus(Integer.valueOf(PlanContants.PlanStatusEnum.FINISH_STATUS.getStatus()));
}else{ } else {
entity.setStatus(Integer.valueOf(PlanContants.PlanStatusEnum.UNDERWAY_STATUS.getStatus())); entity.setStatus(Integer.valueOf(PlanContants.PlanStatusEnum.UNDERWAY_STATUS.getStatus()));
} }
} }
} }
boolean success = this.saveOrUpdate(entity); boolean success = this.saveOrUpdate(entity);
if(success){ if (success) {
plan.setId(entity.getId()); plan.setId(entity.getId());
success = insertPlanRelations(modify,plan); success = insertPlanRelations(modify, plan);
//立即生成任务 或者 临时任务 hld //立即生成任务 或者 临时任务 hld
if(plan.getTaskFlg() == PlanContants.GenTaskImmediateEnum.YES.getFlag() if (plan.getTaskFlg() == PlanContants.GenTaskImmediateEnum.YES.getFlag()
|| plan.getPlanType().equals(PlanContants.PlanContentTypeEnum.TEMP.getDesc())){ || plan.getPlanType().equals(PlanContants.PlanContentTypeEnum.TEMP.getDesc())) {
ITaskJobService taskJobService = null; ITaskJobService taskJobService = null;
if(PlanContants.PlanMethodEnum.SEIZE.getMethod().equals(plan.getMethod())){ if (PlanContants.PlanMethodEnum.SEIZE.getMethod().equals(plan.getMethod())) {
taskJobService = SpringUtil.getBean(SeizeTaskService.class); taskJobService = SpringUtil.getBean(SeizeTaskService.class);
}else if(PlanContants.PlanMethodEnum.CONCURRENT.getMethod().equals(plan.getMethod())){ } else if (PlanContants.PlanMethodEnum.CONCURRENT.getMethod().equals(plan.getMethod())) {
taskJobService = SpringUtil.getBean(ConcurrentTaskServcie.class); taskJobService = SpringUtil.getBean(ConcurrentTaskServcie.class);
} }
taskJobService.sendTask(entity); taskJobService.sendTask(entity);
@ -395,18 +399,18 @@ public class PlanServiceImpl extends BaseServiceImpl<PlanMapper, PlanEntity> imp
} }
@Override @Override
public Boolean modifyPlanStatus(Long planId, Integer status){ public Boolean modifyPlanStatus(Long planId, Integer status) {
boolean re; boolean re;
LambdaUpdateWrapper<PlanEntity> uw = new UpdateWrapper<PlanEntity>().lambda(); LambdaUpdateWrapper<PlanEntity> uw = new UpdateWrapper<PlanEntity>().lambda();
uw.set(PlanEntity::getStatus, status); uw.set(PlanEntity::getStatus, status);
if(PlanContants.PlanStatusEnum.CHECK_STATUS.getStatus().equals(String.valueOf(status))|| if (PlanContants.PlanStatusEnum.CHECK_STATUS.getStatus().equals(String.valueOf(status)) ||
PlanContants.PlanStatusEnum.AUTH_STOP.getStatus().equals(String.valueOf(status))){//通过、驳回时需要填审核信息 PlanContants.PlanStatusEnum.AUTH_STOP.getStatus().equals(String.valueOf(status))) {//通过、驳回时需要填审核信息
uw.set(PlanEntity::getApprover, AuthUtil.getUserId()).set(PlanEntity::getApproveTime, LocalDateTime.now()); uw.set(PlanEntity::getApprover, AuthUtil.getUserId()).set(PlanEntity::getApproveTime, LocalDateTime.now());
} }
uw.eq(PlanEntity::getId, planId); uw.eq(PlanEntity::getId, planId);
re = update(uw); re = update(uw);
if(re){ if (re) {
if(PlanContants.PlanStatusEnum.CHECK_STATUS.getStatus().equals(String.valueOf(status))){ if (PlanContants.PlanStatusEnum.CHECK_STATUS.getStatus().equals(String.valueOf(status))) {
genPresentTask(planId); genPresentTask(planId);
} }
} }
@ -416,17 +420,18 @@ public class PlanServiceImpl extends BaseServiceImpl<PlanMapper, PlanEntity> imp
/** /**
* 生成当天任务 * 生成当天任务
* 如果计划开始时间小于等于当天则产生当天任务 * 如果计划开始时间小于等于当天则产生当天任务
*
* @param planId 计划id * @param planId 计划id
*/ */
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void genPresentTask(Long planId){ public void genPresentTask(Long planId) {
PlanEntity plan = this.baseMapper.selectById(planId); PlanEntity plan = this.baseMapper.selectById(planId);
//立即生成任务 或者 临时任务 hld //立即生成任务 或者 临时任务 hld
if(plan.getStartTime().isBefore(LocalDate.now()) || plan.getStartTime().isEqual(LocalDate.now()) ){ if (plan.getStartTime().isBefore(LocalDate.now()) || plan.getStartTime().isEqual(LocalDate.now())) {
ITaskJobService taskJobService = null; ITaskJobService taskJobService = null;
if(PlanContants.PlanMethodEnum.SEIZE.getMethod().equals(plan.getMethod())){ if (PlanContants.PlanMethodEnum.SEIZE.getMethod().equals(plan.getMethod())) {
taskJobService = SpringUtil.getBean(SeizeTaskService.class); taskJobService = SpringUtil.getBean(SeizeTaskService.class);
}else if(PlanContants.PlanMethodEnum.CONCURRENT.getMethod().equals(plan.getMethod())){ } else if (PlanContants.PlanMethodEnum.CONCURRENT.getMethod().equals(plan.getMethod())) {
taskJobService = SpringUtil.getBean(ConcurrentTaskServcie.class); taskJobService = SpringUtil.getBean(ConcurrentTaskServcie.class);
} }
taskJobService.sendTask(plan); taskJobService.sendTask(plan);
@ -436,15 +441,15 @@ public class PlanServiceImpl extends BaseServiceImpl<PlanMapper, PlanEntity> imp
} }
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public List<Long> genPresentTaskReturnTaskId(Long planId){ public List<Long> genPresentTaskReturnTaskId(Long planId) {
List<Long> taskIds = new ArrayList<>(); List<Long> taskIds = new ArrayList<>();
PlanEntity plan = this.baseMapper.selectById(planId); PlanEntity plan = this.baseMapper.selectById(planId);
//立即生成任务 或者 临时任务 hld //立即生成任务 或者 临时任务 hld
if(plan.getStartTime().isBefore(LocalDate.now()) || plan.getStartTime().isEqual(LocalDate.now()) ){ if (plan.getStartTime().isBefore(LocalDate.now()) || plan.getStartTime().isEqual(LocalDate.now())) {
ITaskJobService taskJobService = null; ITaskJobService taskJobService = null;
if(PlanContants.PlanMethodEnum.SEIZE.getMethod().equals(plan.getMethod())){ if (PlanContants.PlanMethodEnum.SEIZE.getMethod().equals(plan.getMethod())) {
taskJobService = SpringUtil.getBean(SeizeTaskService.class); taskJobService = SpringUtil.getBean(SeizeTaskService.class);
}else if(PlanContants.PlanMethodEnum.CONCURRENT.getMethod().equals(plan.getMethod())){ } else if (PlanContants.PlanMethodEnum.CONCURRENT.getMethod().equals(plan.getMethod())) {
taskJobService = SpringUtil.getBean(ConcurrentTaskServcie.class); taskJobService = SpringUtil.getBean(ConcurrentTaskServcie.class);
} }
taskIds = taskJobService.sendTaskReturnTaskId(plan); taskIds = taskJobService.sendTaskReturnTaskId(plan);
@ -456,27 +461,28 @@ public class PlanServiceImpl extends BaseServiceImpl<PlanMapper, PlanEntity> imp
/** /**
* 查看巡检计划 * 查看巡检计划
*
* @param id * @param id
*/ */
@Override @Override
public PlanVO detail(Long id){ public PlanVO detail(Long id) {
PlanEntity entity = this.getById(id); PlanEntity entity = this.getById(id);
PlanVO plan = BeanUtil.copy(entity, PlanVO.class); PlanVO plan = BeanUtil.copy(entity, PlanVO.class);
//巡检计划对象模板 //巡检计划对象模板
QueryWrapper<PlanObjectTemplateEntity> qw = new QueryWrapper<>(); QueryWrapper<PlanObjectTemplateEntity> qw = new QueryWrapper<>();
qw.lambda().eq(PlanObjectTemplateEntity::getPlanId, id); qw.lambda().eq(PlanObjectTemplateEntity::getPlanId, id);
List<PlanObjectTemplateEntity> pteList = planObjectTemplateService.list(qw); List<PlanObjectTemplateEntity> pteList = planObjectTemplateService.list(qw);
if(pteList!=null && pteList.size()>0){ if (pteList != null && pteList.size() > 0) {
List<Long> objIds = Lists.newArrayList(); List<Long> objIds = Lists.newArrayList();
List<Long> tmpIds = Lists.newArrayList(); List<Long> tmpIds = Lists.newArrayList();
for(PlanObjectTemplateEntity pote:pteList){ for (PlanObjectTemplateEntity pote : pteList) {
objIds.add(pote.getObjectId()); objIds.add(pote.getObjectId());
tmpIds.add(pote.getTemplateId()); tmpIds.add(pote.getTemplateId());
} }
Map<Long,String> objMap = objectService.listByIds(objIds).stream().collect(Collectors.toMap(ObjectEntity::getId, ObjectEntity::getName)); Map<Long, String> objMap = objectService.listByIds(objIds).stream().collect(Collectors.toMap(ObjectEntity::getId, ObjectEntity::getName));
Map<Long,String> tmpMap = templateService.listByIds(tmpIds).stream().collect(Collectors.toMap(TemplateEntity::getId, TemplateEntity::getName)); Map<Long, String> tmpMap = templateService.listByIds(tmpIds).stream().collect(Collectors.toMap(TemplateEntity::getId, TemplateEntity::getName));
List<PlanObjectTemplateVO> planObjectTemplates = Lists.newArrayList(); List<PlanObjectTemplateVO> planObjectTemplates = Lists.newArrayList();
for(PlanObjectTemplateEntity pote:pteList){ for (PlanObjectTemplateEntity pote : pteList) {
planObjectTemplates.add(PlanObjectTemplateVO.builder().id(pote.getId()).objectId(pote.getObjectId()).objectName(objMap.get(pote.getObjectId())) planObjectTemplates.add(PlanObjectTemplateVO.builder().id(pote.getId()).objectId(pote.getObjectId()).objectName(objMap.get(pote.getObjectId()))
.templateId(pote.getTemplateId()).templateName(tmpMap.get(pote.getTemplateId())) .templateId(pote.getTemplateId()).templateName(tmpMap.get(pote.getTemplateId()))
.build()); .build());
@ -486,13 +492,13 @@ public class PlanServiceImpl extends BaseServiceImpl<PlanMapper, PlanEntity> imp
//人员||自由模式 //人员||自由模式
List<String> planUserNames = Lists.newArrayList(); List<String> planUserNames = Lists.newArrayList();
List<Long> planUserIds = Lists.newArrayList(); List<Long> planUserIds = Lists.newArrayList();
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())) {
UpdateWrapper<PlanUserEntity> ew = new UpdateWrapper<>(); UpdateWrapper<PlanUserEntity> ew = new UpdateWrapper<>();
ew.lambda().eq(PlanUserEntity::getPlanId, entity.getId()); ew.lambda().eq(PlanUserEntity::getPlanId, entity.getId());
List<PlanUserEntity> list = planUserService.list(ew); List<PlanUserEntity> list = planUserService.list(ew);
list.forEach(e->{ list.forEach(e -> {
User user = UserCache.getUser(e.getUserId()); User user = UserCache.getUser(e.getUserId());
if(user!=null){ if (user != null) {
planUserNames.add(user.getRealName()); planUserNames.add(user.getRealName());
planUserIds.add(user.getId()); planUserIds.add(user.getId());
} }
@ -503,12 +509,12 @@ public class PlanServiceImpl extends BaseServiceImpl<PlanMapper, PlanEntity> imp
//岗位 //岗位
List<String> planPostNames = Lists.newArrayList(); List<String> planPostNames = Lists.newArrayList();
List<Long> planPostIds = Lists.newArrayList(); List<Long> planPostIds = Lists.newArrayList();
if(PlanTypeEnum.POSITION_TYPE.getType().equals(plan.getType())){ if (PlanTypeEnum.POSITION_TYPE.getType().equals(plan.getType())) {
UpdateWrapper<PlanPositionEntity> ew = new UpdateWrapper<>(); UpdateWrapper<PlanPositionEntity> ew = new UpdateWrapper<>();
ew.lambda().eq(PlanPositionEntity::getPlanId, entity.getId()); ew.lambda().eq(PlanPositionEntity::getPlanId, entity.getId());
List<PlanPositionEntity> list = planPositionService.list(ew); List<PlanPositionEntity> list = planPositionService.list(ew);
planPostIds = list.stream().map(e->e.getPositionId()).collect(Collectors.toList()); planPostIds = list.stream().map(e -> e.getPositionId()).collect(Collectors.toList());
String postIds = String.join(",", list.stream().map(e->String.valueOf(e.getPositionId())).collect(Collectors.toList())); String postIds = String.join(",", list.stream().map(e -> String.valueOf(e.getPositionId())).collect(Collectors.toList()));
planPostNames.addAll(sysClient.getPostNames(postIds).getData()); planPostNames.addAll(sysClient.getPostNames(postIds).getData());
} }
plan.setPlanPosts(planPostIds); plan.setPlanPosts(planPostIds);
@ -516,12 +522,12 @@ public class PlanServiceImpl extends BaseServiceImpl<PlanMapper, PlanEntity> imp
//机构 //机构
List<String> planOrgNames = Lists.newArrayList(); List<String> planOrgNames = Lists.newArrayList();
List<Long> planOrgIds = Lists.newArrayList(); List<Long> planOrgIds = Lists.newArrayList();
if(PlanTypeEnum.ORG_TYPE.getType().equals(plan.getType())){ if (PlanTypeEnum.ORG_TYPE.getType().equals(plan.getType())) {
UpdateWrapper<PlanOrgEntity> ew = new UpdateWrapper<>(); UpdateWrapper<PlanOrgEntity> ew = new UpdateWrapper<>();
ew.lambda().eq(PlanOrgEntity::getPlanId, entity.getId()); ew.lambda().eq(PlanOrgEntity::getPlanId, entity.getId());
List<PlanOrgEntity> list = planOrgService.list(ew); List<PlanOrgEntity> list = planOrgService.list(ew);
planOrgIds = list.stream().map(e->e.getOrgId()).collect(Collectors.toList()); planOrgIds = list.stream().map(e -> e.getOrgId()).collect(Collectors.toList());
String orgIds = String.join(",", list.stream().map(e->String.valueOf(e.getOrgId())).collect(Collectors.toList())); String orgIds = String.join(",", list.stream().map(e -> String.valueOf(e.getOrgId())).collect(Collectors.toList()));
planOrgNames.addAll(sysClient.getDeptNames(orgIds).getData()); planOrgNames.addAll(sysClient.getDeptNames(orgIds).getData());
} }
plan.setPlanOrgs(planOrgIds); plan.setPlanOrgs(planOrgIds);
@ -534,9 +540,9 @@ public class PlanServiceImpl extends BaseServiceImpl<PlanMapper, PlanEntity> imp
}*/ }*/
//任务 //任务
List<TaskEntity> taskList = taskService.list(Wrappers.<TaskEntity>lambdaQuery().eq(TaskEntity::getPlanId,plan.getId())); List<TaskEntity> taskList = taskService.list(Wrappers.<TaskEntity>lambdaQuery().eq(TaskEntity::getPlanId, plan.getId()));
List<PlanTaskListVO> planTaskVO = Lists.newArrayList(); List<PlanTaskListVO> planTaskVO = Lists.newArrayList();
taskList.forEach(entityTask->{ taskList.forEach(entityTask -> {
planTaskVO.add(PlanTaskListVO.builder().taskId(entityTask.getId()).batchNumber(entityTask.getBatchNumber()).planStartTime(entityTask.getPlanStartTime()).planEndTime(entityTask.getPlanEndTime()).status(entityTask.getStatus()).build()); planTaskVO.add(PlanTaskListVO.builder().taskId(entityTask.getId()).batchNumber(entityTask.getBatchNumber()).planStartTime(entityTask.getPlanStartTime()).planEndTime(entityTask.getPlanEndTime()).status(entityTask.getStatus()).build());
}); });
plan.setTasks(planTaskVO); plan.setTasks(planTaskVO);

28
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
* *
*/ */
@ -45,25 +46,20 @@ public class TaskRecordController {
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);

161
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
*/ */
@ -89,10 +93,11 @@ public class TaskJobService {
/** /**
* 根据计划用户获取接任务的人 * 根据计划用户获取接任务的人
*
* @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,46 +116,46 @@ 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());
@ -166,17 +172,19 @@ 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
@ -184,7 +192,7 @@ public class TaskJobService {
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());
@ -198,10 +206,10 @@ public class TaskJobService {
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);
@ -244,51 +255,51 @@ 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());
@ -329,7 +340,7 @@ 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;
@ -340,48 +351,49 @@ public class TaskJobService {
/** /**
* 根据计划信息设置任务信息 * 根据计划信息设置任务信息
*
* @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));
@ -395,13 +407,18 @@ public class TaskJobService {
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