工作流程审核不通过、预告警单处理、终端周期检测等需求
1、提交了主pom,因为需要引入达梦数据量; 2、提交了gateway的配置文件,因为部分接口没有添加到权限中,待后续增加后再注释
This commit is contained in:
8
pom.xml
8
pom.xml
@@ -43,7 +43,7 @@
|
||||
<!-- <middle.server.url>10.95.53.49</middle.server.url>-->
|
||||
<middle.server.url>192.168.1.22</middle.server.url>
|
||||
<!--微服务模块发布地址-->
|
||||
<service.server.url>192.168.1.127</service.server.url>
|
||||
<service.server.url>127.0.0.1</service.server.url>
|
||||
<!--docker仓库地址-->
|
||||
<docker.server.url>192.168.1.22</docker.server.url>
|
||||
<!--nacos的ip:port-->
|
||||
@@ -53,10 +53,10 @@
|
||||
<!--nacos的ip:port-->
|
||||
<nacos.password>nacos</nacos.password>
|
||||
<!--服务器发布内容为空-->
|
||||
<!-- <nacos.namespace></nacos.namespace>-->
|
||||
<!-- <nacos.namespace></nacos.namespace>-->
|
||||
<!-- <nacos.namespace>1dd11af6-e668-41fd-a663-02a05705304d</nacos.namespace>-->
|
||||
<!-- <nacos.namespace>fd74182b-1fce-4dba-afa7-2623b0376205</nacos.namespace>-->
|
||||
<nacos.namespace>ddcae5af-ac35-4fc4-9804-962de94dfc61</nacos.namespace>
|
||||
<nacos.namespace>fd74182b-1fce-4dba-afa7-2623b0376205</nacos.namespace>
|
||||
<!-- <nacos.namespace>910d0d69-2254-481b-b9f7-7ecf9cb881b0</nacos.namespace>-->
|
||||
<!-- sentinel:port-->
|
||||
<sentinel.url>${middle.server.url}:8080</sentinel.url>
|
||||
<!--网关地址,主要用于配置swagger中认证token-->
|
||||
|
||||
@@ -0,0 +1,84 @@
|
||||
package com.njcn.bpm.pojo.vo;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* @author hongawen
|
||||
* 待办表格回显数据目前包括:
|
||||
* 1. 待办工作流程
|
||||
* 2. 审核不通过的流程,需重新编辑并发起
|
||||
* 3. 预告警事件待办
|
||||
* 4. 终端周期到期待检测
|
||||
* 5. todo... 可能电能质量问题后续也要想办法搜集进来
|
||||
*/
|
||||
@Data
|
||||
@NoArgsConstructor
|
||||
@AllArgsConstructor
|
||||
public class TodoVO implements Serializable {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
/**
|
||||
* 功能业务的id
|
||||
*/
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 任务名称
|
||||
*/
|
||||
private String taskName;
|
||||
|
||||
/**
|
||||
* 任务内容
|
||||
*/
|
||||
private String taskContent;
|
||||
|
||||
/**
|
||||
* 任务创建时间
|
||||
*/
|
||||
private LocalDateTime taskCreateTime;
|
||||
|
||||
/**
|
||||
* 任务来源
|
||||
* 1. 待办
|
||||
* 2. 审核不通过
|
||||
* 3. 无流程的任务比如:预告警单、终端周期到期待检测
|
||||
*/
|
||||
private Integer source;
|
||||
|
||||
/**
|
||||
* 审核不通过&无流程的任务跳转路由
|
||||
*/
|
||||
private String routePath;
|
||||
|
||||
/**
|
||||
* 发起人
|
||||
*/
|
||||
private String startUser;
|
||||
|
||||
/**
|
||||
* 流程实例编号
|
||||
*/
|
||||
private String processInstanceId;
|
||||
|
||||
/**
|
||||
* 历史流程实例编号
|
||||
*/
|
||||
private String historyInstanceId;
|
||||
|
||||
|
||||
/**
|
||||
* 实际业务流程ID
|
||||
*/
|
||||
private String businessKey;
|
||||
|
||||
/**
|
||||
* 针对路由一样,但是tab页内容不一致,比如预告警单
|
||||
*/
|
||||
private Integer tabValue;
|
||||
}
|
||||
@@ -3,6 +3,8 @@ package com.njcn.bpm.service;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.bpm.pojo.dto.BpmInstanceInfo;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
|
||||
/**
|
||||
* 统筹流程实例的公共方案
|
||||
@@ -24,4 +26,10 @@ public interface IBpmReasonService<T> extends IService<T> {
|
||||
* @param businessId 业务流程id
|
||||
*/
|
||||
BpmInstanceInfo getInstanceInfo(String businessId);
|
||||
|
||||
/**
|
||||
* 注意数据权限!!!!非本人的无需获取
|
||||
* 获取所有当前流程实例为不通过的 具体参考BpmTaskStatusEnum.REJECT枚举的流程Id
|
||||
*/
|
||||
Set<String> getAllRejectInstanceIds();
|
||||
}
|
||||
|
||||
@@ -3,9 +3,13 @@ package com.njcn.bpm.service;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.bpm.pojo.dto.BpmInstanceInfo;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
|
||||
/**
|
||||
* 统筹流程实例的公共方案
|
||||
*
|
||||
* @author hongawen
|
||||
* @version 1.0.0
|
||||
* @date 2024年06月12日 18:14
|
||||
@@ -14,14 +18,24 @@ public interface IBpmService<T> extends IService<T> {
|
||||
|
||||
/**
|
||||
* 根据业务id实时更新当前业务流程状态
|
||||
*
|
||||
* @param businessId 实际业务id
|
||||
* @param status 流程实例当前状态,具体参考BpmTaskStatusEnum枚举
|
||||
* @param status 流程实例当前状态,具体参考BpmTaskStatusEnum枚举
|
||||
*/
|
||||
void updateProcessStatus(String businessId, Integer status);
|
||||
|
||||
/**
|
||||
* 根据业务id获取历史审批id以及该任务的重要信息
|
||||
*
|
||||
* @param businessId 业务流程id
|
||||
*/
|
||||
BpmInstanceInfo getInstanceInfo(String businessId);
|
||||
BpmInstanceInfo getInstanceInfo(String businessId);
|
||||
|
||||
/**
|
||||
* 注意数据权限!!!!非本人的无需获取
|
||||
* 获取所有当前流程实例为不通过的 具体参考BpmTaskStatusEnum.REJECT枚举的流程Id
|
||||
*/
|
||||
Set<String> getAllRejectInstanceIds();
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,16 +1,25 @@
|
||||
package com.njcn.bpm.controller;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.bpm.pojo.dto.PageResult;
|
||||
import com.njcn.bpm.pojo.param.instance.BpmProcessInstancePageParam;
|
||||
import com.njcn.bpm.pojo.param.task.*;
|
||||
import com.njcn.bpm.pojo.po.BpmCategory;
|
||||
import com.njcn.bpm.pojo.po.BpmForm;
|
||||
import com.njcn.bpm.pojo.vo.TodoVO;
|
||||
import com.njcn.bpm.pojo.vo.instance.BpmProcessInstanceVO;
|
||||
import com.njcn.bpm.pojo.vo.task.BpmTaskVO;
|
||||
import com.njcn.bpm.service.IBpmCategoryService;
|
||||
import com.njcn.bpm.service.IBpmFormService;
|
||||
import com.njcn.bpm.service.IBpmProcessDefinitionService;
|
||||
import com.njcn.bpm.service.task.IBpmProcessInstanceService;
|
||||
import com.njcn.bpm.service.task.IBpmTaskService;
|
||||
import com.njcn.bpm.utils.BpmProcessInstanceConvert;
|
||||
import com.njcn.bpm.utils.BpmTaskConvert;
|
||||
import com.njcn.bpm.utils.CollectionUtils;
|
||||
import com.njcn.bpm.utils.TodoVOConvert;
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
@@ -30,6 +39,7 @@ import io.swagger.annotations.ApiOperation;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.flowable.engine.history.HistoricProcessInstance;
|
||||
import org.flowable.engine.repository.ProcessDefinition;
|
||||
import org.flowable.engine.runtime.ProcessInstance;
|
||||
import org.flowable.task.api.Task;
|
||||
import org.flowable.task.api.TaskInfo;
|
||||
@@ -42,6 +52,7 @@ import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
|
||||
@@ -74,6 +85,12 @@ public class BpmTaskController extends BaseController {
|
||||
@Resource
|
||||
private DeptFeignClient deptFeignClient;
|
||||
|
||||
@Resource
|
||||
private IBpmProcessDefinitionService processDefinitionService;
|
||||
|
||||
@Resource
|
||||
private IBpmCategoryService categoryService;
|
||||
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/todoList")
|
||||
@@ -100,6 +117,82 @@ public class BpmTaskController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, page, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/todoAllList")
|
||||
@ApiOperation("获取所有待办任务")
|
||||
public HttpResult<List<BpmTaskVO>> todoAllList() {
|
||||
String methodDescribe = getMethodDescribe("todoAllList");
|
||||
List<Task> pageResult = taskService.todoAllList(RequestUtil.getUserIndex());
|
||||
if (CollUtil.isEmpty(pageResult)) {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, new ArrayList<>(), methodDescribe);
|
||||
}
|
||||
// 拼接数据
|
||||
Map<String, ProcessInstance> processInstanceMap = processInstanceService.getProcessInstanceMap(
|
||||
convertSet(pageResult, Task::getProcessInstanceId));
|
||||
List<UserVO> userList = userFeignClient.getUserVOByIdList(convertList(processInstanceMap.values(), ProcessInstance::getStartUserId)).getData();
|
||||
Map<String, UserVO> userMap = CollectionUtils.convertMap(userList, UserVO::getId);
|
||||
List<BpmTaskVO> bpmTaskVOPageResult = BpmTaskConvert.INSTANCE.buildTodoTaskList(pageResult, processInstanceMap, userMap,businessCommonFeignClient);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, bpmTaskVOPageResult, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取全部待办任务
|
||||
* 1. 待办工作流程
|
||||
* 2. 审核不通过的流程,需重新编辑并发起
|
||||
* 3. 预告警事件待办
|
||||
* 4. 终端周期到期待检测
|
||||
* 5. todo... 可能电能质量问题后续也要想办法搜集进来
|
||||
*/
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/allTodoList")
|
||||
@ApiOperation("获取全部待办任务")
|
||||
@ApiImplicitParam(name = "bpmTaskQueryParam", value = "查询参数", required = true)
|
||||
public HttpResult<List<TodoVO>> allTodoList() {
|
||||
String methodDescribe = getMethodDescribe("allTodoList");
|
||||
List<TodoVO> result = new ArrayList<>();
|
||||
// 获取当前用户所有待办工作流程
|
||||
HttpResult<List<BpmTaskVO>> todoAllList = this.todoAllList();
|
||||
if(CollectionUtil.isNotEmpty(todoAllList.getData())){
|
||||
// 转为统一的todoVO3
|
||||
result.addAll(TodoVOConvert.convertByBpmTaskVO(todoAllList.getData()));
|
||||
}
|
||||
// 获取当前用户所有不通过的工作流程
|
||||
List<BpmProcessInstanceVO> rejectProcessInstanceList = getRejectProcessInstanceList();
|
||||
if(CollectionUtil.isNotEmpty(rejectProcessInstanceList)){
|
||||
// 转为统一的todoVO3
|
||||
result.addAll(TodoVOConvert.convertByBpmProcessInstance(rejectProcessInstanceList));
|
||||
}
|
||||
// 获取没有流程的一些待办信息
|
||||
result.addAll(businessCommonFeignClient.getTodoBusiness().getData());
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, result, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 获取当前用户所有的不通过流程
|
||||
*/
|
||||
private List<BpmProcessInstanceVO> getRejectProcessInstanceList() {
|
||||
// 先获取当前用户所有审核不通过的流程实例ID
|
||||
Set<String> instanceIdSet = businessCommonFeignClient.getAllRejectInstanceId().getData();
|
||||
if(CollUtil.isEmpty(instanceIdSet)){
|
||||
return new ArrayList<>();
|
||||
}
|
||||
List<HistoricProcessInstance> instances = processInstanceService.getRejectProcessInstanceList(RequestUtil.getUserIndex(),instanceIdSet);
|
||||
if (CollUtil.isEmpty(instances)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
// 拼接返回
|
||||
Map<String, List<Task>> taskMap = taskService.getTaskMapByProcessInstanceIds(
|
||||
convertList(instances, HistoricProcessInstance::getId));
|
||||
Map<String, ProcessDefinition> processDefinitionMap = processDefinitionService.getProcessDefinitionMap(
|
||||
convertSet(instances, HistoricProcessInstance::getProcessDefinitionId));
|
||||
Map<String, BpmCategory> categoryMap = categoryService.getCategoryMap(
|
||||
convertSet(processDefinitionMap.values(), ProcessDefinition::getCategory));
|
||||
return BpmProcessInstanceConvert.INSTANCE.buildProcessInstancePage(instances, processDefinitionMap, categoryMap, taskMap, null, null,businessCommonFeignClient);
|
||||
}
|
||||
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/doneList")
|
||||
|
||||
@@ -97,6 +97,10 @@ public interface IBpmProcessInstanceService {
|
||||
* @return 流程实例的分页
|
||||
*/
|
||||
PageResult<HistoricProcessInstance> getProcessInstancePage(String userId, BpmProcessInstancePageParam bpmProcessInstancePageParam);
|
||||
|
||||
List<HistoricProcessInstance> getRejectProcessInstanceList(String userIndex, Set<String> instanceIdSet);
|
||||
|
||||
|
||||
//
|
||||
// /**
|
||||
// * 创建流程实例(提供给前端)
|
||||
@@ -162,4 +166,5 @@ public interface IBpmProcessInstanceService {
|
||||
*/
|
||||
void delete(String id, String reason);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -175,6 +175,14 @@ public interface IBpmTaskService {
|
||||
* @return 子任务列表
|
||||
*/
|
||||
List<Task> getTaskListByParentTaskId(String parentTaskId);
|
||||
|
||||
/**
|
||||
* 根据用户id查询该用户所有的待办事项
|
||||
*
|
||||
* @param userIndex 用户id
|
||||
* @return 所有待办任务
|
||||
*/
|
||||
List<Task> todoAllList(String userIndex);
|
||||
//
|
||||
// /**
|
||||
// * 通过任务 ID,查询任务名 Map
|
||||
|
||||
@@ -9,6 +9,7 @@ import com.njcn.bpm.constant.BpmConstants;
|
||||
import com.njcn.bpm.enums.BpmDeleteReasonEnum;
|
||||
import com.njcn.bpm.enums.BpmProcessInstanceStatusEnum;
|
||||
import com.njcn.bpm.enums.BpmResponseEnum;
|
||||
import com.njcn.bpm.enums.BpmTaskStatusEnum;
|
||||
import com.njcn.bpm.event.BpmProcessInstanceEventPublisher;
|
||||
import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO;
|
||||
import com.njcn.bpm.pojo.dto.PageResult;
|
||||
@@ -129,9 +130,13 @@ public class BpmProcessInstanceServiceImpl implements IBpmProcessInstanceService
|
||||
if (StrUtil.isNotEmpty(bpmProcessInstancePageParam.getCategory())) {
|
||||
processInstanceQuery.processDefinitionCategory(bpmProcessInstancePageParam.getCategory());
|
||||
}
|
||||
|
||||
if (bpmProcessInstancePageParam.getStatus() != null) {
|
||||
processInstanceQuery.variableValueEquals(BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS, bpmProcessInstancePageParam.getStatus());
|
||||
}
|
||||
//流程状态排除不通过的,不通过会放在待办中,一直到该流程通过
|
||||
processInstanceQuery.variableValueNotEquals(BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS, BpmTaskStatusEnum.REJECT.getStatus());
|
||||
|
||||
|
||||
String beginTimeStr = bpmProcessInstancePageParam.getSearchBeginTime();
|
||||
String endTimeStr = bpmProcessInstancePageParam.getSearchEndTime();
|
||||
@@ -150,6 +155,21 @@ public class BpmProcessInstanceServiceImpl implements IBpmProcessInstanceService
|
||||
return new PageResult<>(processInstanceList, processInstanceCount);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<HistoricProcessInstance> getRejectProcessInstanceList(String userId, Set<String> instanceIdSet) {
|
||||
HistoricProcessInstanceQuery processInstanceQuery = historyService.createHistoricProcessInstanceQuery()
|
||||
// 只查询当前用户的流程实例
|
||||
.startedBy(userId)
|
||||
.includeProcessVariables()
|
||||
// 只查询已驳回的流程实例
|
||||
.variableValueEquals(BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS, BpmTaskStatusEnum.REJECT.getStatus())
|
||||
//加上从业务表中产寻到的不通过的实例id
|
||||
.processInstanceIds(instanceIdSet)
|
||||
.processInstanceTenantId(FlowableUtils.getTenantId())
|
||||
.orderByProcessInstanceStartTime().desc();
|
||||
return processInstanceQuery.list();
|
||||
}
|
||||
|
||||
// @Override
|
||||
// @Transactional(rollbackFor = Exception.class)
|
||||
// public String createProcessInstance(Long userId, @Valid BpmProcessInstanceCreateReqVO createReqVO) {
|
||||
@@ -291,8 +311,8 @@ public class BpmProcessInstanceServiceImpl implements IBpmProcessInstanceService
|
||||
Integer processInstanceStatus = BpmProcessInstanceStatusEnum.APPROVE.getStatus();
|
||||
Map<String, Object> processVariables = instance.getProcessVariables();
|
||||
if (processVariables.containsKey(BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS)) {
|
||||
Integer stata =Integer.valueOf(processVariables.get(BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS).toString());
|
||||
if (BpmProcessInstanceStatusEnum.REJECT.getStatus()==stata) {
|
||||
Integer stata = Integer.valueOf(processVariables.get(BpmConstants.PROCESS_INSTANCE_VARIABLE_STATUS).toString());
|
||||
if (BpmProcessInstanceStatusEnum.REJECT.getStatus() == stata) {
|
||||
processInstanceStatus = BpmProcessInstanceStatusEnum.REJECT.getStatus();
|
||||
}
|
||||
}
|
||||
@@ -306,7 +326,7 @@ public class BpmProcessInstanceServiceImpl implements IBpmProcessInstanceService
|
||||
// 3. 发送流程实例的状态事件
|
||||
// 注意:此时如果去查询 ProcessInstance 的话,字段是不全的,所以去查询了 HistoricProcessInstance
|
||||
// 在审核不通过时,会触该信息,设置在审核通过时,才发送
|
||||
if(BpmProcessInstanceStatusEnum.APPROVE.getStatus()==processInstanceStatus){
|
||||
if (BpmProcessInstanceStatusEnum.APPROVE.getStatus() == processInstanceStatus) {
|
||||
HistoricProcessInstance processInstance = getHistoricProcessInstance(instance.getId());
|
||||
processInstanceEventPublisher.sendProcessInstanceResultEvent(
|
||||
BpmProcessInstanceConvert.INSTANCE.buildProcessInstanceStatusEvent(this, processInstance, processInstanceStatus));
|
||||
|
||||
@@ -112,6 +112,17 @@ public class BpmTaskServiceImpl implements IBpmTaskService {
|
||||
return new PageResult<>(tasks, count);
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<Task> todoAllList(String userIndex) {
|
||||
TaskQuery taskQuery = taskService.createTaskQuery()
|
||||
.taskAssignee(userIndex) // 分配给自己
|
||||
.active()
|
||||
.includeProcessVariables()
|
||||
.orderByTaskCreateTime().desc(); // 创建时间倒序
|
||||
return taskQuery.list();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public PageResult<HistoricTaskInstance> getTaskDonePage(String userId, BpmTaskParam.BpmTaskQueryParam bpmTaskQueryParam) {
|
||||
HistoricTaskInstanceQuery taskQuery = historyService.createHistoricTaskInstanceQuery()
|
||||
@@ -679,8 +690,8 @@ public class BpmTaskServiceImpl implements IBpmTaskService {
|
||||
/**
|
||||
* 创建加签子任务
|
||||
*
|
||||
* @param userIds 被加签的用户 ID
|
||||
* @param taskEntity 被加签的任务
|
||||
* @param userIds 被加签的用户 ID
|
||||
* @param taskEntity 被加签的任务
|
||||
*/
|
||||
private void createSignTaskList(List<String> userIds, TaskEntityImpl taskEntity) {
|
||||
if (CollUtil.isEmpty(userIds)) {
|
||||
@@ -709,7 +720,7 @@ public class BpmTaskServiceImpl implements IBpmTaskService {
|
||||
// 2.1 向前加签,设置审批人
|
||||
if (BpmTaskSignTypeEnum.BEFORE.getType().equals(parentTask.getScopeType())) {
|
||||
task.setAssignee(assignee);
|
||||
// 2.2 向后加签,设置 owner 不设置 assignee 是因为不能同时审批,需要等父任务完成
|
||||
// 2.2 向后加签,设置 owner 不设置 assignee 是因为不能同时审批,需要等父任务完成
|
||||
} else {
|
||||
task.setOwner(assignee);
|
||||
}
|
||||
@@ -811,6 +822,7 @@ public class BpmTaskServiceImpl implements IBpmTaskService {
|
||||
return taskService.createNativeTaskQuery().sql(sql).parameter("parentTaskId", parentTaskId).list();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 获取子任务个数
|
||||
*
|
||||
|
||||
@@ -70,6 +70,41 @@ public interface BpmProcessInstanceConvert {
|
||||
return vpPageResult;
|
||||
}
|
||||
|
||||
default List<BpmProcessInstanceVO> buildProcessInstancePage(List<HistoricProcessInstance> instances,
|
||||
Map<String, ProcessDefinition> processDefinitionMap,
|
||||
Map<String, BpmCategory> categoryMap,
|
||||
Map<String, List<Task>> taskMap,
|
||||
Map<String, UserVO> userMap,
|
||||
Map<String, Dept> deptMap,
|
||||
BusinessCommonFeignClient businessCommonFeignClient) {
|
||||
List<BpmProcessInstanceVO> vpInstancesResult = BeanUtils.toBean(instances, BpmProcessInstanceVO.class);
|
||||
for (int i = 0; i <instances.size(); i++) {
|
||||
BpmProcessInstanceVO respVO = vpInstancesResult.get(i);
|
||||
respVO.setStatus(FlowableUtils.getProcessInstanceStatus(instances.get(i)));
|
||||
MapUtils.findAndThen(processDefinitionMap, respVO.getProcessDefinitionId(),
|
||||
processDefinition -> respVO.setCategory(processDefinition.getCategory()));
|
||||
MapUtils.findAndThen(categoryMap, respVO.getCategory(), category -> respVO.setCategoryName(category.getName()));
|
||||
respVO.setTasks(BeanUtils.toBean(taskMap.get(respVO.getId()), BpmProcessInstanceVO.Task.class));
|
||||
// user
|
||||
if (userMap != null) {
|
||||
UserVO startUser = userMap.get(instances.get(i).getStartUserId());
|
||||
if (startUser != null) {
|
||||
respVO.setStartUser(BeanUtils.toBean(startUser, BpmProcessInstanceVO.User.class));
|
||||
MapUtils.findAndThen(deptMap, startUser.getDeptId(), dept -> respVO.getStartUser().setDeptName(dept.getName()));
|
||||
}
|
||||
}
|
||||
String processDefinitionId = respVO.getProcessDefinitionId();
|
||||
String key = processDefinitionId.substring(0,processDefinitionId.lastIndexOf(":"));
|
||||
key = key.substring(0,key.lastIndexOf(":"));
|
||||
BpmInstanceInfo instanceInfo = businessCommonFeignClient.getInstanceInfo(key, respVO.getBusinessKey()).getData();
|
||||
if(Objects.nonNull(instanceInfo)){
|
||||
respVO.setHistoryInstanceId(instanceInfo.getHistoryInstanceId());
|
||||
respVO.setInstanceSign(instanceInfo.getInstanceSign());
|
||||
}
|
||||
}
|
||||
return vpInstancesResult;
|
||||
}
|
||||
|
||||
default BpmProcessInstanceVO buildProcessInstance(HistoricProcessInstance processInstance,
|
||||
ProcessDefinition processDefinition,
|
||||
BpmProcessDefinitionInfo processDefinitionExt,
|
||||
|
||||
@@ -72,6 +72,31 @@ public interface BpmTaskConvert {
|
||||
|
||||
}
|
||||
|
||||
default List<BpmTaskVO> buildTodoTaskList(List<Task> taskList,
|
||||
Map<String, ProcessInstance> processInstanceMap,
|
||||
Map<String, UserVO> userMap,
|
||||
BusinessCommonFeignClient businessCommonFeignClient) {
|
||||
|
||||
return BeanUtils.toBean(taskList, BpmTaskVO.class, taskVO -> {
|
||||
ProcessInstance processInstance = processInstanceMap.get(taskVO.getProcessInstanceId());
|
||||
if (processInstance == null) {
|
||||
return;
|
||||
}
|
||||
taskVO.setProcessInstance(BeanUtils.toBean(processInstance, BpmTaskVO.ProcessInstance.class));
|
||||
UserVO startUserVO = userMap.get(processInstance.getStartUserId());
|
||||
taskVO.getProcessInstance().setStartUser(BeanUtils.toBean(startUserVO, BpmProcessInstanceVO.User.class));
|
||||
String processDefinitionId = taskVO.getProcessInstance().getProcessDefinitionId();
|
||||
String key = processDefinitionId.substring(0,processDefinitionId.lastIndexOf(":"));
|
||||
key = key.substring(0,key.lastIndexOf(":"));
|
||||
BpmInstanceInfo instanceInfo = businessCommonFeignClient.getInstanceInfo(key, processInstance.getBusinessKey()).getData();
|
||||
if(Objects.nonNull(instanceInfo)){
|
||||
taskVO.setHistoryInstanceId(instanceInfo.getHistoryInstanceId());
|
||||
taskVO.setInstanceSign(instanceInfo.getInstanceSign());
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,73 @@
|
||||
package com.njcn.bpm.utils;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.njcn.bpm.pojo.vo.TodoVO;
|
||||
import com.njcn.bpm.pojo.vo.instance.BpmProcessInstanceVO;
|
||||
import com.njcn.bpm.pojo.vo.task.BpmTaskVO;
|
||||
import com.njcn.supervision.enums.SupervisionKeyEnum;
|
||||
import com.njcn.web.utils.RequestUtil;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* 实现将各类型的数据转为待办事项
|
||||
*/
|
||||
public class TodoVOConvert {
|
||||
|
||||
/**
|
||||
* 将BpmTaskVO 转为 TodoVO
|
||||
*
|
||||
* @param bpmTaskVOS 待办流程列表
|
||||
*/
|
||||
public static List<TodoVO> convertByBpmTaskVO(List<BpmTaskVO> bpmTaskVOS) {
|
||||
if (CollectionUtil.isEmpty(bpmTaskVOS)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return bpmTaskVOS.stream().map(temp -> {
|
||||
TodoVO todoVO = new TodoVO();
|
||||
todoVO.setId(temp.getId());
|
||||
todoVO.setTaskName(temp.getName());
|
||||
todoVO.setTaskContent(temp.getInstanceSign());
|
||||
todoVO.setTaskCreateTime(temp.getCreateTime());
|
||||
// 1. 待办流程
|
||||
todoVO.setSource(1);
|
||||
todoVO.setRoutePath("");
|
||||
todoVO.setStartUser(temp.getProcessInstance().getStartUser().getName());
|
||||
todoVO.setProcessInstanceId(temp.getProcessInstanceId());
|
||||
todoVO.setHistoryInstanceId(temp.getHistoryInstanceId());
|
||||
return todoVO;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 将审核不通过的流程转为 TodoVO
|
||||
*/
|
||||
public static List<TodoVO> convertByBpmProcessInstance(List<BpmProcessInstanceVO> rejectProcessInstanceList) {
|
||||
if (CollectionUtil.isEmpty(rejectProcessInstanceList)) {
|
||||
return new ArrayList<>();
|
||||
}
|
||||
return rejectProcessInstanceList.stream().map(temp -> {
|
||||
TodoVO todoVO = new TodoVO();
|
||||
todoVO.setId(temp.getBusinessKey());
|
||||
todoVO.setTaskName(temp.getName());
|
||||
todoVO.setTaskContent(temp.getInstanceSign());
|
||||
todoVO.setTaskCreateTime(temp.getEndTime());
|
||||
// 1. 待办流程
|
||||
todoVO.setSource(2);
|
||||
// 处理路由
|
||||
String processDefinitionId = temp.getProcessDefinitionId();
|
||||
String key = processDefinitionId.substring(0, processDefinitionId.indexOf(":"));
|
||||
todoVO.setRoutePath(SupervisionKeyEnum.getRoutePathByKey(key));
|
||||
todoVO.setStartUser(RequestUtil.getUserNickname());
|
||||
todoVO.setProcessInstanceId(temp.getId());
|
||||
todoVO.setHistoryInstanceId(temp.getHistoryInstanceId());
|
||||
todoVO.setBusinessKey(key);
|
||||
return todoVO;
|
||||
}).collect(Collectors.toList());
|
||||
|
||||
}
|
||||
}
|
||||
@@ -47,11 +47,22 @@
|
||||
<groupId>com.alibaba</groupId>
|
||||
<artifactId>druid-spring-boot-starter</artifactId>
|
||||
</dependency>
|
||||
<!-- 引入jdbc支持 -->
|
||||
<dependency>
|
||||
<groupId>org.springframework.boot</groupId>
|
||||
<artifactId>spring-boot-starter-jdbc</artifactId>
|
||||
</dependency>
|
||||
<!--mysql驱动-->
|
||||
<dependency>
|
||||
<groupId>mysql</groupId>
|
||||
<artifactId>mysql-connector-java</artifactId>
|
||||
</dependency>
|
||||
<!--达梦驱动-->
|
||||
<dependency>
|
||||
<groupId>com.dameng</groupId>
|
||||
<artifactId>DmJdbcDriver18</artifactId>
|
||||
<version>8.1.1.193</version>
|
||||
</dependency>
|
||||
<!--mybatis增强工具-->
|
||||
<dependency>
|
||||
<groupId>com.baomidou</groupId>
|
||||
@@ -61,4 +72,4 @@
|
||||
<!--数据库相关********end-->
|
||||
</dependencies>
|
||||
|
||||
</project>
|
||||
</project>
|
||||
|
||||
@@ -34,24 +34,24 @@ public class NacosLogbackConfigLoader implements SpringApplicationRunListener, A
|
||||
|
||||
@Override
|
||||
public void environmentPrepared(ConfigurableEnvironment environment) {
|
||||
String serverAddr = environment.getProperty("spring.cloud.nacos.config.server-addr");
|
||||
String namespace = environment.getProperty("spring.cloud.nacos.config.namespace");
|
||||
String projectName = environment.getProperty("microservice.ename");
|
||||
String logLevel = environment.getProperty("logging.level.root");
|
||||
String url = String.format("http://%s/nacos/v1/cs/configs?tenant=%s&group=DEFAULT_GROUP&dataId=logback.xml", serverAddr, namespace);
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
headers.set("njcnDnzlcn870299", "PqsadminDNZL001");
|
||||
HttpEntity<String> entity = new HttpEntity<>(headers);
|
||||
RestTemplate restTemplate = new RestTemplate();
|
||||
ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, entity, String.class);
|
||||
if (response.getStatusCode().is2xxSuccessful()) {
|
||||
String logbackConfigContent = response.getBody();
|
||||
//替换项目名称
|
||||
logbackConfigContent = logbackConfigContent.replace("projectDefaultName",projectName);
|
||||
logbackConfigContent = logbackConfigContent.replace("logDefaultLevel",logLevel);
|
||||
// 应用获取到的Logback配置
|
||||
applyLogbackConfig(logbackConfigContent);
|
||||
}
|
||||
// String serverAddr = environment.getProperty("spring.cloud.nacos.config.server-addr");
|
||||
// String namespace = environment.getProperty("spring.cloud.nacos.config.namespace");
|
||||
// String projectName = environment.getProperty("microservice.ename");
|
||||
// String logLevel = environment.getProperty("logging.level.root");
|
||||
// String url = String.format("http://%s/nacos/v1/cs/configs?tenant=%s&group=DEFAULT_GROUP&dataId=logback.xml", serverAddr, namespace);
|
||||
// HttpHeaders headers = new HttpHeaders();
|
||||
// headers.set("cndl408125hawen", "lanxia201");
|
||||
// HttpEntity<String> entity = new HttpEntity<>(headers);
|
||||
// RestTemplate restTemplate = new RestTemplate();
|
||||
// ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.GET, entity, String.class);
|
||||
// if (response.getStatusCode().is2xxSuccessful()) {
|
||||
// String logbackConfigContent = response.getBody();
|
||||
// //替换项目名称
|
||||
// logbackConfigContent = logbackConfigContent.replace("projectDefaultName",projectName);
|
||||
// logbackConfigContent = logbackConfigContent.replace("logDefaultLevel",logLevel);
|
||||
// // 应用获取到的Logback配置
|
||||
// applyLogbackConfig(logbackConfigContent);
|
||||
// }
|
||||
}
|
||||
|
||||
private void applyLogbackConfig(String logbackConfigContent) {
|
||||
|
||||
@@ -10,7 +10,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
|
||||
* @date 2021年05月10日 14:03
|
||||
*/
|
||||
@EnableFeignClients
|
||||
@SpringBootApplication
|
||||
@SpringBootApplication(scanBasePackages = "com.njcn")
|
||||
public class GatewayMain {
|
||||
|
||||
public static void main(String[] args) {
|
||||
|
||||
@@ -225,6 +225,7 @@ whitelist:
|
||||
- /system-boot/dictType/dictDataCache
|
||||
- /system-boot/file/**
|
||||
- /system-boot/area/**
|
||||
- /bpm-boot/**
|
||||
#开始
|
||||
# - /advance-boot/**
|
||||
# - /device-boot/**
|
||||
@@ -237,7 +238,7 @@ whitelist:
|
||||
# - /process-boot/**
|
||||
# - /bpm-boot/**
|
||||
# - /system-boot/**
|
||||
# - /supervision-boot/**
|
||||
- /supervision-boot/**
|
||||
# - /user-boot/**
|
||||
# - /harmonic-boot/**
|
||||
# - /cs-device-boot/**
|
||||
|
||||
@@ -1,16 +1,17 @@
|
||||
package com.njcn.supervision.api;
|
||||
|
||||
import com.njcn.bpm.pojo.dto.BpmInstanceInfo;
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.bpm.pojo.vo.TodoVO;
|
||||
import com.njcn.common.pojo.constant.ServerInfo;
|
||||
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.supervision.api.fallback.BusinessCommonFeignClientFallbackFactory;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
|
||||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
|
||||
/**
|
||||
@@ -40,4 +41,16 @@ public interface BusinessCommonFeignClient {
|
||||
*/
|
||||
@GetMapping("/getInstanceInfo")
|
||||
HttpResult<BpmInstanceInfo> getInstanceInfo(@RequestParam("processKey") String processKey, @RequestParam("businessId") String businessId);
|
||||
|
||||
/**
|
||||
* 获取当前用户所有不通过的流程实例ID
|
||||
*/
|
||||
@GetMapping("/getAllRejectInstanceId")
|
||||
HttpResult<Set<String>> getAllRejectInstanceId();
|
||||
|
||||
/**
|
||||
* 获取当前用户部分待办业务,回显在待办列表中
|
||||
*/
|
||||
@GetMapping("/getTodoBusiness")
|
||||
HttpResult<List<TodoVO>> getTodoBusiness();
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.njcn.supervision.api.fallback;
|
||||
|
||||
import com.njcn.bpm.pojo.dto.BpmInstanceInfo;
|
||||
import com.njcn.bpm.pojo.vo.TodoVO;
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
@@ -10,6 +11,9 @@ import feign.hystrix.FallbackFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
|
||||
@Slf4j
|
||||
@Component
|
||||
@@ -35,6 +39,18 @@ public class BusinessCommonFeignClientFallbackFactory implements FallbackFactory
|
||||
log.error("{}异常,降级处理,异常为:{}", "获取流程额外信息", throwable.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HttpResult<Set<String>> getAllRejectInstanceId() {
|
||||
log.error("{}异常,降级处理,异常为:{}", "获取所有流程不通过实例id", throwable.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
|
||||
@Override
|
||||
public HttpResult<List<TodoVO>> getTodoBusiness() {
|
||||
log.error("{}异常,降级处理,异常为:{}", "获取当前用户部分待办业务", throwable.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,7 @@ public enum ProblemTypeEnum {
|
||||
PLAN(1, "技术监督计划"),
|
||||
ONLINE(2, "在线监测超标问题"),
|
||||
USER(3, "用户投诉问题"),
|
||||
SITE_TEST(4, "现场测试超标问题");
|
||||
SITE_TEST(4, "试运行监测点问题");
|
||||
|
||||
private final Integer code;
|
||||
|
||||
|
||||
@@ -2,27 +2,36 @@ package com.njcn.supervision.enums;
|
||||
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
@Getter
|
||||
public enum SupervisionKeyEnum {
|
||||
// 干扰源接入
|
||||
BUILD_USER_INFO("build_user_info", "user", "干扰源建档流程", "UserReportPOServiceImpl","supervision/interferencemanagement"),
|
||||
USER_REPORT_RENEWAL("user_report_update", "user", "干扰源常态化信息编辑流程", "UserReportRenewalServiceImpl","supervision/interferencemanagement"),
|
||||
USER_GO_NET("user_go_net", "user", "入网设计方案流程", "UserReportNormalServiceImpl","supervision/interferencemanagement"),
|
||||
USER_TREAT_CHECK("user_treat_check", "user", "治理工程流程", "UserReportNormalServiceImpl","supervision/interferencemanagement"),
|
||||
// 终端检测
|
||||
DEVICE_INFO_ADD("device_info_add", "device", "电能质量监测装置设备管理流程", "SupervisionDevMainReportPOServiceImpl","terminalNetwotk"),
|
||||
LINE_INFO_ADD("line_info_add", "device", "电能质量监测点管理流程", "SupervisionTempLineReportServiceImpl","terminalNetwotk"),
|
||||
TEMP_LINE_DEBUG("temp_line_debug", "device", "监测点联调流程", "SupervisionTempLineDebugPOServiceImpl","terminalNetwotk"),
|
||||
TIMING_CHECK_DEVICE("timing_check_device", "device", "终端周期检测", "CheckDeviceServiceImpl","terminalNetwotk"),
|
||||
// 试运行评估
|
||||
LINE_RUN_TEST("line_run_test", "device", "监测点试运行评估流程", "SupervisionTempLineRunTestServiceImpl","testRun"),
|
||||
// 技术监督计划
|
||||
SUP_PLAN_ADD("sup_plan_add", "plan", "技术监督计划流程(计划和测试)", "SupervisionPlanPOServiceImpl","supervision/harmonicmanagement"),
|
||||
SURVEY_PLAN("survey_plan", "survey", "监督计划流程", "SurveyPlanServiceImpl","supervision/harmonicmanagement"),
|
||||
SURVEY_TEST("survey_test", "survey", "监督测试流程", "SurveyTestServiceImpl","supervision/harmonicmanagement"),
|
||||
// 预告警单
|
||||
WARN_LEAFLET("warn_leaflet", "leaflet", "预告警单流程", "WarningLeafletServiceImpl","supervision/supervision/manage"),
|
||||
// 终端状态管理
|
||||
QUIT_RUNNING_DEVICE("quit_running_device", "device", "终端状态变更流程", "QuitRunningDeviceServiceImpl","supervision/retire"),
|
||||
|
||||
QUIT_RUNNING_DEVICE("quit_running_device","device","终端状态变更流程","QuitRunningDeviceServiceImpl"),
|
||||
DEVICE_INFO_ADD("device_info_add","device","电能质量监测装置设备管理流程","SupervisionDevMainReportPOServiceImpl"),
|
||||
LINE_INFO_ADD("line_info_add","device","电能质量监测点管理流程","SupervisionTempLineReportServiceImpl"),
|
||||
TEMP_LINE_DEBUG("temp_line_debug","device","监测点联调流程","SupervisionTempLineDebugPOServiceImpl"),
|
||||
LINE_RUN_TEST("line_run_test","device","监测点试运行评估流程","SupervisionTempLineRunTestServiceImpl"),
|
||||
WARN_LEAFLET("warn_leaflet","leaflet","预告警单流程","WarningLeafletServiceImpl"),
|
||||
SUP_PLAN_ADD("sup_plan_add","plan","技术监督计划流程(计划和测试)","SupervisionPlanPOServiceImpl"),
|
||||
SURVEY_PLAN("survey_plan","survey","监督计划流程","SurveyPlanServiceImpl"),
|
||||
SURVEY_TEST("survey_test","survey","监督测试流程","SurveyTestServiceImpl"),
|
||||
USER_GO_NET("user_go_net","user","入网设计方案流程","UserReportNormalServiceImpl"),
|
||||
USER_TREAT_CHECK("user_treat_check","user","治理工程流程","UserReportNormalServiceImpl"),
|
||||
BUILD_USER_INFO("build_user_info","user","干扰源建档流程","UserReportPOServiceImpl"),
|
||||
TIMING_CHECK_DEVICE("timing_check_device","device","终端周期检测","CheckDeviceServiceImpl"),
|
||||
USER_REPORT_RENEWAL("user_report_update","user","干扰源常态化信息编辑流程","UserReportRenewalServiceImpl"),
|
||||
USER_REPORT_DELETE("user_report_delete","user","干扰源常态化信息删除流程","UserReportDeleteServiceImpl"),
|
||||
BUILD_USER_INFO_ARCHIVIST("build_user_info_archivist","user","干扰源用户台账归档流程","UserReportPOServiceImpl"),
|
||||
BUILD_USER_INFO_ARCHIVIST("build_user_info_archivist","user","干扰源用户台账归档流程","UserReportPOServiceImpl",""),
|
||||
// 弃用
|
||||
USER_REPORT_DELETE("user_report_delete", "user", "干扰源常态化信息删除流程", "UserReportDeleteServiceImpl","");
|
||||
|
||||
;
|
||||
|
||||
private final String key;
|
||||
|
||||
@@ -32,17 +41,21 @@ public enum SupervisionKeyEnum {
|
||||
|
||||
private final String clazzName;
|
||||
|
||||
private final String routePath;
|
||||
|
||||
/**
|
||||
* @param key 流程标识key
|
||||
* @param key 流程标识key
|
||||
* @param servicePrefix 服务类前缀
|
||||
* @param describe 描述
|
||||
* @param clazzName 类名,方便获取spring中对应的对象
|
||||
* @param describe 描述
|
||||
* @param clazzName 类名,方便获取spring中对应的对象
|
||||
* @param routePath 页面路由路径
|
||||
*/
|
||||
SupervisionKeyEnum(String key, String servicePrefix, String describe, String clazzName) {
|
||||
SupervisionKeyEnum(String key, String servicePrefix, String describe, String clazzName, String routePath) {
|
||||
this.key = key;
|
||||
this.servicePrefix = servicePrefix;
|
||||
this.describe = describe;
|
||||
this.clazzName = clazzName;
|
||||
this.routePath = routePath;
|
||||
}
|
||||
|
||||
private static final String packagePrefix = "com.njcn.supervision.service.";
|
||||
@@ -51,7 +64,7 @@ public enum SupervisionKeyEnum {
|
||||
/**
|
||||
* 根据流程key获取类的全路径,用于获取spring中的对象
|
||||
*/
|
||||
public static String getFullServicePathByKey(String key){
|
||||
public static String getFullServicePathByKey(String key) {
|
||||
for (SupervisionKeyEnum supervisionKeyEnum : SupervisionKeyEnum.values()) {
|
||||
if (supervisionKeyEnum.key.equalsIgnoreCase(key)) {
|
||||
return packagePrefix.concat(supervisionKeyEnum.servicePrefix).concat(packageMiddle).concat(supervisionKeyEnum.clazzName);
|
||||
@@ -60,11 +73,34 @@ public enum SupervisionKeyEnum {
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据流程key获取页面路由路径
|
||||
*/
|
||||
public static String getRoutePathByKey(String key) {
|
||||
for (SupervisionKeyEnum supervisionKeyEnum : SupervisionKeyEnum.values()) {
|
||||
if (supervisionKeyEnum.key.equalsIgnoreCase(key)) {
|
||||
return supervisionKeyEnum.routePath;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取所有流程的全路径
|
||||
*/
|
||||
public static List<String> getAllFullServicePath() {
|
||||
List<String> path = new ArrayList<>();
|
||||
for (SupervisionKeyEnum supervisionKeyEnum : SupervisionKeyEnum.values()) {
|
||||
path.add(packagePrefix.concat(supervisionKeyEnum.servicePrefix).concat(packageMiddle).concat(supervisionKeyEnum.clazzName));
|
||||
}
|
||||
return path;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 判断流程key是否在当前枚举内
|
||||
*/
|
||||
public static boolean containBusinessKye(String key){
|
||||
public static boolean containBusinessKye(String key) {
|
||||
for (SupervisionKeyEnum supervisionKeyEnum : SupervisionKeyEnum.values()) {
|
||||
if (supervisionKeyEnum.key.equalsIgnoreCase(key)) {
|
||||
return true;
|
||||
|
||||
@@ -72,7 +72,7 @@ public class CheckDevice extends BaseEntity implements Serializable {
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 状态 0:未处理 1:已处理
|
||||
* 状态 0:未处理 1:处理中 2:处理完成
|
||||
*/
|
||||
@MppMultiId(value = "state")
|
||||
private Integer state;
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.njcn.supervision.controller;
|
||||
|
||||
import cn.hutool.extra.spring.SpringUtil;
|
||||
import com.njcn.bpm.pojo.dto.BpmInstanceInfo;
|
||||
import com.njcn.bpm.pojo.vo.TodoVO;
|
||||
import com.njcn.bpm.service.IBpmReasonService;
|
||||
import com.njcn.common.pojo.annotation.OperateInfo;
|
||||
import com.njcn.common.pojo.enums.common.LogEnum;
|
||||
@@ -11,6 +12,8 @@ import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.supervision.enums.SupervisionKeyEnum;
|
||||
import com.njcn.supervision.enums.SupervisionResponseEnum;
|
||||
import com.njcn.supervision.service.device.ICheckDeviceService;
|
||||
import com.njcn.supervision.service.leaflet.IWarningLeafletService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@@ -22,6 +25,12 @@ import org.springframework.web.bind.annotation.RestController;
|
||||
import springfox.documentation.annotations.ApiIgnore;
|
||||
import com.njcn.bpm.service.IBpmService;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashSet;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/supervision")
|
||||
@@ -30,6 +39,12 @@ import com.njcn.bpm.service.IBpmService;
|
||||
@ApiIgnore
|
||||
public class BusinessCommonController extends BaseController {
|
||||
|
||||
@Resource
|
||||
private IWarningLeafletService warningLeafletService;
|
||||
|
||||
@Resource
|
||||
private ICheckDeviceService checkDeviceService;
|
||||
|
||||
|
||||
@ApiIgnore
|
||||
@GetMapping("/updateProcessStatus")
|
||||
@@ -47,10 +62,55 @@ public class BusinessCommonController extends BaseController {
|
||||
@ApiOperation("获取业务数据")
|
||||
public HttpResult<BpmInstanceInfo> getInstanceInfo(String processKey, String businessId) {
|
||||
String methodDescribe = getMethodDescribe("getInstanceInfo");
|
||||
BpmInstanceInfo instanceInfo = getBpmServiceByBusinessKey(processKey,businessId);
|
||||
BpmInstanceInfo instanceInfo = getBpmServiceByBusinessKey(processKey, businessId);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, instanceInfo, methodDescribe);
|
||||
}
|
||||
|
||||
@ApiIgnore
|
||||
@GetMapping("/getAllRejectInstanceId")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@ApiOperation("获取当前用户所有不通过的流程实例ID")
|
||||
public HttpResult<Set<String>> getAllRejectInstanceId() {
|
||||
String methodDescribe = getMethodDescribe("getAllRejectInstanceId");
|
||||
Set<String> instanceIdList = new HashSet<>();
|
||||
List<String> fullServicePathList = SupervisionKeyEnum.getAllFullServicePath();
|
||||
for (String fullServicePath : fullServicePathList) {
|
||||
IBpmService executor;
|
||||
IBpmReasonService executorReason;
|
||||
try {
|
||||
if(fullServicePath.contains("SupervisionTempLineRunTestServiceImpl")){
|
||||
executorReason = (IBpmReasonService) SpringUtil.getBean(Class.forName(fullServicePath));
|
||||
instanceIdList.addAll(executorReason.getAllRejectInstanceIds());
|
||||
}else{
|
||||
executor = (IBpmService) SpringUtil.getBean(Class.forName(fullServicePath));
|
||||
instanceIdList.addAll(executor.getAllRejectInstanceIds());
|
||||
}
|
||||
} catch (ClassNotFoundException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
}
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, instanceIdList, methodDescribe);
|
||||
}
|
||||
|
||||
/**
|
||||
* 目前不涉及流程的待办工作有
|
||||
* 1.预告警单
|
||||
* 2.终端周期到期待检测
|
||||
*/
|
||||
@ApiIgnore
|
||||
@GetMapping("/getTodoBusiness")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@ApiOperation("获取当前用户待办的业务")
|
||||
public HttpResult<List<TodoVO>> getTodoBusiness() {
|
||||
String methodDescribe = getMethodDescribe("getTodoBusiness");
|
||||
List<TodoVO> todoVOList = new ArrayList<>();
|
||||
//可能需要判断当前用户是否需要处理这些待办,比如专职下发的预告警单,应该由负责单位去处理
|
||||
todoVOList.addAll(warningLeafletService.getTodoBusiness());
|
||||
todoVOList.addAll(checkDeviceService.getTodoBusiness());
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, todoVOList, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 根据业务流key获取实现类对象
|
||||
*
|
||||
@@ -59,7 +119,7 @@ public class BusinessCommonController extends BaseController {
|
||||
private void getBpmServiceByBusinessStatusKey(String processKey, String businessId, String reason, Integer status) {
|
||||
String fullServicePath = SupervisionKeyEnum.getFullServicePathByKey(processKey);
|
||||
try {
|
||||
if ("SupervisionTempLineRunTestServiceImpl".equals(fullServicePath.substring(fullServicePath.lastIndexOf(".")+1))) {
|
||||
if ("SupervisionTempLineRunTestServiceImpl".equals(fullServicePath.substring(fullServicePath.lastIndexOf(".") + 1))) {
|
||||
IBpmReasonService iBpmService = (IBpmReasonService) SpringUtil.getBean(Class.forName(fullServicePath));
|
||||
iBpmService.updateProcessStatus(businessId, reason, status);
|
||||
} else {
|
||||
@@ -73,7 +133,6 @@ public class BusinessCommonController extends BaseController {
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 根据业务流key获取实现类对象
|
||||
*
|
||||
@@ -81,9 +140,9 @@ public class BusinessCommonController extends BaseController {
|
||||
*/
|
||||
private BpmInstanceInfo getBpmServiceByBusinessKey(String processKey, String businessId) {
|
||||
String fullServicePath = SupervisionKeyEnum.getFullServicePathByKey(processKey);
|
||||
BpmInstanceInfo instanceInfo ;
|
||||
BpmInstanceInfo instanceInfo;
|
||||
try {
|
||||
if ("SupervisionTempLineRunTestServiceImpl".equals(fullServicePath.substring(fullServicePath.lastIndexOf(".")+1))) {
|
||||
if ("SupervisionTempLineRunTestServiceImpl".equals(fullServicePath.substring(fullServicePath.lastIndexOf(".") + 1))) {
|
||||
IBpmReasonService iBpmService = (IBpmReasonService) SpringUtil.getBean(Class.forName(fullServicePath));
|
||||
instanceInfo = iBpmService.getInstanceInfo(businessId);
|
||||
} else {
|
||||
@@ -97,9 +156,6 @@ public class BusinessCommonController extends BaseController {
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 根据业务流key获取实现类对象
|
||||
*
|
||||
|
||||
@@ -96,6 +96,7 @@ public class SurveyPlanController extends BaseController {
|
||||
public HttpResult<SurveyPlanVO> getById(String id) {
|
||||
String methodDescribe = getMethodDescribe("getById");
|
||||
SurveyPlanVO surveyPlanVO = surveyPlanService.getVOById(id);
|
||||
System.out.println(surveyPlanVO);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, surveyPlanVO, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
@@ -10,6 +10,7 @@ import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.supervision.pojo.param.user.UserReportParam;
|
||||
import com.njcn.supervision.pojo.vo.user.UserReportVO;
|
||||
import com.njcn.supervision.service.user.IUserReportNormalService;
|
||||
import com.njcn.supervision.service.user.UserReportPOService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
@@ -43,6 +44,8 @@ public class UserReportManageController extends BaseController {
|
||||
|
||||
private final UserReportPOService userReportPOService;
|
||||
|
||||
private final IUserReportNormalService userReportNormalService;
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.ADD)
|
||||
@PostMapping("/add")
|
||||
@ApiOperation("新增干扰源用户")
|
||||
@@ -84,6 +87,16 @@ public class UserReportManageController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, out, methodDescribe);
|
||||
}
|
||||
|
||||
@GetMapping("/getUserReportById")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@ApiOperation("根据id获取用户档案录入数据")
|
||||
public HttpResult<UserReportVO> getUserReportById(String id) {
|
||||
String methodDescribe = getMethodDescribe("getUserReportById");
|
||||
UserReportVO userReportVO = userReportPOService.getUserReportById(id);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, userReportVO, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/removeUserReport")
|
||||
@ApiOperation("删除干扰源用户记录")
|
||||
@@ -102,6 +115,17 @@ public class UserReportManageController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, userReportVO, methodDescribe);
|
||||
}
|
||||
|
||||
@GetMapping("/getUserReportByFangAnId")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@ApiOperation("根据id获取用户档案录入的详细数据")
|
||||
public HttpResult<UserReportVO.UserReportListVO> getUserReportByFangAnId(String id) {
|
||||
String methodDescribe = getMethodDescribe("getUserReportByFangAnId");
|
||||
UserReportVO.UserReportListVO userReportVO = userReportNormalService.getUserReportByFangAnId(id);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, userReportVO, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@GetMapping("/updateUserReportStatus")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
|
||||
@@ -7,6 +7,8 @@ import com.njcn.supervision.pojo.po.device.CheckDevice;
|
||||
import com.njcn.supervision.pojo.vo.device.CheckDeviceVo;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 终端周期检测表 Mapper 接口
|
||||
@@ -21,4 +23,5 @@ public interface CheckDeviceMapper extends MppBaseMapper<CheckDevice> {
|
||||
|
||||
CheckDeviceVo getInfo(@Param("id") String id);
|
||||
|
||||
List<CheckDeviceVo> selectVOList(@Param("ew")QueryWrapper<CheckDeviceVo> queryWrapper);
|
||||
}
|
||||
|
||||
@@ -35,4 +35,24 @@
|
||||
where A.Id = #{id}
|
||||
</select>
|
||||
|
||||
|
||||
<select id="selectVOList" resultType="CheckDeviceVo">
|
||||
select
|
||||
A.*,
|
||||
B.Name deviceName,
|
||||
B1.Name substation,
|
||||
B2.Name dept,
|
||||
C.This_Time_Check thisTimeCheck,
|
||||
C.Next_Time_Check nextTimeCheck
|
||||
from
|
||||
supervision_check_device A
|
||||
left join pq_line B on A.device_id = B.Id
|
||||
left join pq_line B1 on B.Pid = B1.Id
|
||||
left join pq_line B2 on B1.Pid = B2.Id
|
||||
left join pq_device C on A.device_id = C.Id
|
||||
<where>
|
||||
and ${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -7,6 +7,8 @@ import com.njcn.supervision.pojo.po.leaflet.WarningLeaflet;
|
||||
import com.njcn.supervision.pojo.vo.leaflet.WarningLeafletVO;
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 预告警单表 Mapper 接口
|
||||
@@ -20,4 +22,6 @@ public interface WarningLeafletMapper extends BaseMapper<WarningLeaflet> {
|
||||
Page<WarningLeafletVO> warningPageData(Page<Object> objectPage, @Param("ew") QueryWrapper<WarningLeafletVO> warningLeafletVOQueryWrapper);
|
||||
|
||||
Page<WarningLeafletVO> alarmPageData(Page<Object> objectPage, @Param("ew") QueryWrapper<WarningLeafletVO> warningLeafletVOQueryWrapper);
|
||||
|
||||
List<WarningLeafletVO> getTodoBusiness(@Param("ew")QueryWrapper<WarningLeafletVO> queryWrapper);
|
||||
}
|
||||
|
||||
@@ -55,4 +55,30 @@
|
||||
WHERE ${ew.sqlSegment}
|
||||
</select>
|
||||
|
||||
<select id="getTodoBusiness" resultType="WarningLeafletVO">
|
||||
SELECT
|
||||
supervision_warning_leaflet.leaflet_name,
|
||||
supervision_warning_leaflet.leaflet_no,
|
||||
supervision_warning_leaflet.problem_type,
|
||||
supervision_warning_leaflet.problem_id,
|
||||
supervision_warning_leaflet.dept_id as duty_Org_Id,
|
||||
supervision_warning_leaflet.leaflet_type,
|
||||
supervision_warning_leaflet.STATUS,
|
||||
supervision_warning_leaflet.id,
|
||||
supervision_warning_leaflet.process_instance_id,
|
||||
supervision_warning_leaflet.history_instance_id,
|
||||
supervision_warning_leaflet.issue_detail,
|
||||
supervision_warning_leaflet.reform_advice,
|
||||
supervision_warning_leaflet.take_step,
|
||||
supervision_warning_leaflet.report_path,
|
||||
supervision_warning_leaflet.state,
|
||||
supervision_warning_leaflet.create_by,
|
||||
supervision_warning_leaflet.create_time,
|
||||
supervision_warning_leaflet.update_by,
|
||||
supervision_warning_leaflet.update_time,
|
||||
supervision_warning_leaflet.file_path
|
||||
FROM supervision_warning_leaflet supervision_warning_leaflet
|
||||
WHERE ${ew.sqlSegment}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -19,4 +19,6 @@ public interface UserReportPOMapper extends BaseMapper<UserReportPO> {
|
||||
Page<UserReportVO> page(@Param("page")Page<Object> objectPage, @Param("ew") QueryWrapper<UserReportVO> userReportVOQueryWrapper);
|
||||
|
||||
Page<UserReportVO> pageUpdate(@Param("page")Page<Object> objectPage, @Param("ew") QueryWrapper<UserReportVO> userReportVOQueryWrapper);
|
||||
|
||||
UserReportVO getUserReportById(@Param("ew")QueryWrapper<UserReportVO> userReportVOQueryWrapper);
|
||||
}
|
||||
@@ -86,4 +86,32 @@
|
||||
LEFT JOIN supervision_user_report_renewal r ON supervision_user_report.id=r.id
|
||||
WHERE ${ew.sqlSegment}
|
||||
</select>
|
||||
|
||||
<!--获取流程表单分页列表-->
|
||||
<select id="getUserReportById" resultType="UserReportVO">
|
||||
SELECT
|
||||
supervision_user_report.id,
|
||||
supervision_user_report.report_date,
|
||||
supervision_user_report.org_id,
|
||||
supervision_user_report.expected_production_date,
|
||||
supervision_user_report.user_type,
|
||||
supervision_user_report.city,
|
||||
supervision_user_report.responsible_department,
|
||||
supervision_user_report.user_status,
|
||||
supervision_user_report.substation,
|
||||
supervision_user_report.voltage_level,
|
||||
supervision_user_report.project_name,
|
||||
supervision_user_report.evaluation_dept,
|
||||
supervision_user_report.data_type,
|
||||
supervision_user_report.evaluation_conclusion,
|
||||
supervision_user_report.process_instance_id,
|
||||
supervision_user_report.history_instance_id,
|
||||
supervision_user_report.create_time,
|
||||
supervision_user_report.create_by,
|
||||
supervision_user_report.status,
|
||||
supervision_user_report.dev_id,
|
||||
supervision_user_report.line_id
|
||||
FROM supervision_user_report supervision_user_report
|
||||
WHERE ${ew.sqlSegment}
|
||||
</select>
|
||||
</mapper>
|
||||
|
||||
@@ -3,11 +3,14 @@ package com.njcn.supervision.service.device;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam;
|
||||
import com.njcn.bpm.pojo.vo.TodoVO;
|
||||
import com.njcn.bpm.service.IBpmService;
|
||||
import com.njcn.supervision.pojo.param.device.CheckDeviceParam;
|
||||
import com.njcn.supervision.pojo.po.device.CheckDevice;
|
||||
import com.njcn.supervision.pojo.vo.device.CheckDeviceVo;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 终端周期检测表 服务类
|
||||
@@ -41,4 +44,6 @@ public interface ICheckDeviceService extends IBpmService<CheckDevice> {
|
||||
* 取消
|
||||
*/
|
||||
String cancel(BpmProcessInstanceCancelParam cancelReqVO);
|
||||
|
||||
List<TodoVO> getTodoBusiness();
|
||||
}
|
||||
|
||||
@@ -1,11 +1,14 @@
|
||||
package com.njcn.supervision.service.device.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||
import cn.hutool.core.text.StrPool;
|
||||
import cn.hutool.core.util.ObjUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
@@ -15,6 +18,8 @@ import com.njcn.bpm.enums.BpmTaskStatusEnum;
|
||||
import com.njcn.bpm.pojo.dto.BpmInstanceInfo;
|
||||
import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO;
|
||||
import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam;
|
||||
import com.njcn.bpm.pojo.vo.TodoVO;
|
||||
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||
import com.njcn.db.constant.DbConstant;
|
||||
import com.njcn.device.biz.commApi.CommTerminalGeneralClient;
|
||||
import com.njcn.device.biz.pojo.dto.LineDevGetDTO;
|
||||
@@ -40,10 +45,7 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
import java.time.LocalDate;
|
||||
import java.time.format.DateTimeFormatter;
|
||||
import java.time.temporal.ChronoUnit;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -121,12 +123,12 @@ public class CheckDeviceServiceImpl extends MppServiceImpl<CheckDeviceMapper, Ch
|
||||
queryWrapper.orderBy(true, param.getOrderBy().equalsIgnoreCase(DbConstant.ASC), StrUtil.toUnderlineCase(param.getSortBy()));
|
||||
} else {
|
||||
//默认根据逾期天数排序
|
||||
queryWrapper.orderBy(true, false, "A.overdue_day");
|
||||
queryWrapper.orderBy(true, false, "A.overdue_day").orderBy(true, false, "A.status");
|
||||
}
|
||||
queryWrapper.and(wrapper ->
|
||||
wrapper.isNull("A.status")
|
||||
.or()
|
||||
.eq(ObjUtil.isNotNull(param.getStatus()),"A.status", param.getStatus())
|
||||
.eq(ObjUtil.isNotNull(param.getStatus()), "A.status", param.getStatus())
|
||||
);
|
||||
if (!Objects.isNull(param.getState())) {
|
||||
queryWrapper.eq("A.state", param.getState());
|
||||
@@ -156,6 +158,7 @@ public class CheckDeviceServiceImpl extends MppServiceImpl<CheckDeviceMapper, Ch
|
||||
bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables);
|
||||
String processInstanceId = bpmProcessFeignClient.createProcessInstance(RequestUtil.getUserIndex(), bpmProcessInstanceCreateReqDTO).getData();
|
||||
// 将工作流的编号,更新到流程单中
|
||||
checkDevice.setState(1);
|
||||
checkDevice.setProcessInstanceId(processInstanceId);
|
||||
checkDevice.setDescription(param.getDescription());
|
||||
checkDevice.setCreateBy(RequestUtil.getUserIndex());
|
||||
@@ -200,25 +203,69 @@ public class CheckDeviceServiceImpl extends MppServiceImpl<CheckDeviceMapper, Ch
|
||||
return checkDevice.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TodoVO> getTodoBusiness() {
|
||||
List<TodoVO> todoVOList = new ArrayList<>();
|
||||
QueryWrapper<CheckDeviceVo> queryWrapper = new QueryWrapper<>();
|
||||
DeptGetLineParam deptGetLineParam = new DeptGetLineParam();
|
||||
deptGetLineParam.setDeptId(RequestUtil.getDeptIndex());
|
||||
List<String> devList = commTerminalGeneralClient.deptGetDevice(deptGetLineParam)
|
||||
.getData()
|
||||
.stream()
|
||||
.flatMap(item -> item.getDeviceList().stream())
|
||||
.map(LineDevGetDTO::getDevId)
|
||||
.distinct()
|
||||
.collect(Collectors.toList());
|
||||
if (CollUtil.isNotEmpty(devList)) {
|
||||
queryWrapper.in("A.device_id", devList);
|
||||
}else{
|
||||
return new ArrayList<>();
|
||||
}
|
||||
//查询出今天之前要待检的终端
|
||||
queryWrapper.le("A.check_time", LocalDate.now())
|
||||
.eq("A.state", 0);
|
||||
List<CheckDeviceVo> checkDeviceVoList = this.baseMapper.selectVOList(queryWrapper);
|
||||
if (CollUtil.isNotEmpty(checkDeviceVoList)) {
|
||||
todoVOList = checkDeviceVoList.stream().map(item -> {
|
||||
TodoVO todoVO = new TodoVO();
|
||||
todoVO.setId(item.getId());
|
||||
todoVO.setTaskName("终端周期定检");
|
||||
todoVO.setTaskContent("变电站:".concat(item.getSubstation())
|
||||
.concat(",装置:").concat(item.getDeviceName())
|
||||
.concat(",本次定检时间为:").concat(LocalDateTimeUtil.format(item.getThisTimeCheck(),DatePattern.NORM_DATE_PATTERN))
|
||||
.concat(",逾期:").concat(String.valueOf(item.getOverdueDay()))
|
||||
.concat("天")
|
||||
);
|
||||
todoVO.setStartUser("系统扫描");
|
||||
todoVO.setTaskCreateTime(item.getCreateTime());
|
||||
todoVO.setSource(3);
|
||||
todoVO.setRoutePath("");
|
||||
return todoVO;
|
||||
}).collect(Collectors.toList());
|
||||
}
|
||||
return todoVOList;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateProcessStatus(String businessId, Integer status) {
|
||||
//流程状态整改
|
||||
CheckDevice checkDevice = this.baseMapper.selectById(businessId);
|
||||
checkDevice.setStatus(status);
|
||||
checkDevice.setState(1);
|
||||
checkDevice.setState(2);
|
||||
this.updateById(checkDevice);
|
||||
//修改pq_device定检时间和下次定检时间 5年
|
||||
String nowCheckTime = checkDevice.getNowCheckTime().format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN));
|
||||
String nextCheckTime = checkDevice.getNowCheckTime().plusYears(5).format(DateTimeFormatter.ofPattern(DatePattern.NORM_DATE_PATTERN));
|
||||
deviceFeignClient.updateDevCheckTime(checkDevice.getDeviceId(),nowCheckTime,nextCheckTime);
|
||||
deviceFeignClient.updateDevCheckTime(checkDevice.getDeviceId(), nowCheckTime, nextCheckTime);
|
||||
}
|
||||
|
||||
@Override
|
||||
public BpmInstanceInfo getInstanceInfo(String businessId) {
|
||||
BpmInstanceInfo bpmInstanceInfo= null;
|
||||
BpmInstanceInfo bpmInstanceInfo = null;
|
||||
CheckDeviceVo checkDevice = this.getInfoById(businessId);
|
||||
if(ObjUtil.isNotNull(checkDevice)) {
|
||||
if (ObjUtil.isNotNull(checkDevice)) {
|
||||
bpmInstanceInfo = new BpmInstanceInfo();
|
||||
bpmInstanceInfo.setHistoryInstanceId(checkDevice.getHistoryInstanceId());
|
||||
String sign = checkDevice.getDept()
|
||||
@@ -230,4 +277,20 @@ public class CheckDeviceServiceImpl extends MppServiceImpl<CheckDeviceMapper, Ch
|
||||
}
|
||||
return bpmInstanceInfo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<String> getAllRejectInstanceIds() {
|
||||
Set<String> rejectInstanceIds = new HashSet<>();
|
||||
// 查询所有走了流程,但是流程状态为不通过的流程实例id
|
||||
LambdaQueryWrapper<CheckDevice> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(CheckDevice::getCreateBy, RequestUtil.getUserIndex())
|
||||
.eq(CheckDevice::getStatus, BpmProcessInstanceStatusEnum.REJECT.getStatus())
|
||||
.select(CheckDevice::getProcessInstanceId);
|
||||
List<CheckDevice> checkDevices = this.baseMapper.selectList(lambdaQueryWrapper);
|
||||
List<String> result = checkDevices.stream().map(CheckDevice::getProcessInstanceId).collect(Collectors.toList());
|
||||
if(CollectionUtil.isNotEmpty(result)){
|
||||
rejectInstanceIds.addAll(result);
|
||||
}
|
||||
return rejectInstanceIds;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -266,6 +266,23 @@ public class QuitRunningDeviceServiceImpl extends ServiceImpl<QuitRunningDeviceM
|
||||
return bpmInstanceInfo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<String> getAllRejectInstanceIds() {
|
||||
Set<String> rejectInstanceIds = new HashSet<>();
|
||||
//查询当前用户创建的createBy的流程审核不通过的
|
||||
LambdaQueryWrapper<QuitRunningDevice> deviceLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
deviceLambdaQueryWrapper.eq(QuitRunningDevice::getCreateBy, RequestUtil.getUserIndex())
|
||||
.eq(QuitRunningDevice::getStatus, BpmProcessInstanceStatusEnum.REJECT.getStatus())
|
||||
.eq(QuitRunningDevice::getState, DataStateEnum.ENABLE.getCode())
|
||||
.select(QuitRunningDevice::getProcessInstanceId);
|
||||
List<QuitRunningDevice> quitRunningDevices = this.baseMapper.selectList(deviceLambdaQueryWrapper);
|
||||
if (CollectionUtil.isNotEmpty(quitRunningDevices)) {
|
||||
List<String> result = quitRunningDevices.stream().map(QuitRunningDevice::getProcessInstanceId).collect(Collectors.toList());
|
||||
rejectInstanceIds.addAll(result);
|
||||
}
|
||||
return rejectInstanceIds;
|
||||
}
|
||||
|
||||
@Override
|
||||
public QuitRunningDeviceVO getVOById(String id) {
|
||||
QuitRunningDevice quitRunningDevice = this.baseMapper.selectById(id);
|
||||
|
||||
@@ -40,6 +40,7 @@ import com.njcn.supervision.mapper.device.SupervisionDevMainReportPOMapper;
|
||||
import com.njcn.supervision.pojo.dto.SupervisionDevMainReportExcel;
|
||||
import com.njcn.supervision.pojo.param.device.SupervisionDevMainReportParam;
|
||||
import com.njcn.supervision.pojo.param.device.SupervisionTempDeviceReportParam;
|
||||
import com.njcn.supervision.pojo.po.device.QuitRunningDevice;
|
||||
import com.njcn.supervision.pojo.po.device.SupervisionDevMainReportPO;
|
||||
import com.njcn.supervision.pojo.po.device.SupervisionTempDeviceReport;
|
||||
import com.njcn.supervision.pojo.po.user.UserReportPO;
|
||||
@@ -265,6 +266,23 @@ public class SupervisionDevMainReportPOServiceImpl extends ServiceImpl<Supervisi
|
||||
return bpmInstanceInfo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<String> getAllRejectInstanceIds() {
|
||||
Set<String> rejectInstanceIds = new HashSet<>();
|
||||
//查询当前用户创建的createBy的流程审核不通过的
|
||||
LambdaQueryWrapper<SupervisionDevMainReportPO> supervisionDevMainReportPOLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
supervisionDevMainReportPOLambdaQueryWrapper.eq(SupervisionDevMainReportPO::getCreateBy, RequestUtil.getUserIndex())
|
||||
.eq(SupervisionDevMainReportPO::getStatus, BpmProcessInstanceStatusEnum.REJECT.getStatus())
|
||||
.eq(SupervisionDevMainReportPO::getState, DataStateEnum.ENABLE.getCode())
|
||||
.select(SupervisionDevMainReportPO::getProcessInstanceId);
|
||||
List<SupervisionDevMainReportPO> supervisionDevMainReportPOS = this.baseMapper.selectList(supervisionDevMainReportPOLambdaQueryWrapper);
|
||||
if (CollectionUtil.isNotEmpty(supervisionDevMainReportPOS)) {
|
||||
List<String> result = supervisionDevMainReportPOS.stream().map(SupervisionDevMainReportPO::getProcessInstanceId).collect(Collectors.toList());
|
||||
rejectInstanceIds.addAll(result);
|
||||
}
|
||||
return rejectInstanceIds;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String cancelDevMainReport(BpmProcessInstanceCancelParam cancelReqVO) {
|
||||
//准备取消该流程,需要远程调用接口
|
||||
|
||||
@@ -32,6 +32,7 @@ import com.njcn.supervision.enums.UserNatureEnum;
|
||||
import com.njcn.supervision.mapper.device.SupervisionTempLineDebugPOMapper;
|
||||
import com.njcn.supervision.mapper.user.UserReportNormalMapper;
|
||||
import com.njcn.supervision.pojo.param.device.SupervisionTempLineDebugParam;
|
||||
import com.njcn.supervision.pojo.po.device.SupervisionDevMainReportPO;
|
||||
import com.njcn.supervision.pojo.po.device.SupervisionTempDeviceReport;
|
||||
import com.njcn.supervision.pojo.po.device.SupervisionTempLineDebugPO;
|
||||
import com.njcn.supervision.pojo.po.device.SupervisionTempLineReport;
|
||||
@@ -329,6 +330,22 @@ public class SupervisionTempLineDebugPOServiceImpl extends ServiceImpl<Supervisi
|
||||
return bpmInstanceInfo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<String> getAllRejectInstanceIds() {
|
||||
Set<String> rejectInstanceIds = new HashSet<>();
|
||||
LambdaQueryWrapper<SupervisionTempLineDebugPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(SupervisionTempLineDebugPO::getCreateBy, RequestUtil.getUserIndex())
|
||||
.eq(SupervisionTempLineDebugPO::getStatus, BpmProcessInstanceStatusEnum.REJECT.getStatus())
|
||||
.eq(SupervisionTempLineDebugPO::getState, DataStateEnum.ENABLE.getCode())
|
||||
.select(SupervisionTempLineDebugPO::getProcessInstanceId);
|
||||
List<SupervisionTempLineDebugPO> supervisionTempLineDebugPOS = this.baseMapper.selectList(lambdaQueryWrapper);
|
||||
if (CollectionUtil.isNotEmpty(supervisionTempLineDebugPOS)) {
|
||||
List<String> result = supervisionTempLineDebugPOS.stream().map(SupervisionTempLineDebugPO::getProcessInstanceId).collect(Collectors.toList());
|
||||
rejectInstanceIds.addAll(result);
|
||||
}
|
||||
return rejectInstanceIds;
|
||||
}
|
||||
|
||||
/**
|
||||
* @Description: 临时表台账数据同步到实际表中
|
||||
* @Param:
|
||||
|
||||
@@ -231,6 +231,23 @@ public class SupervisionTempLineReportServiceImpl extends ServiceImpl<Supervisio
|
||||
return bpmInstanceInfo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<String> getAllRejectInstanceIds() {
|
||||
Set<String> rejectInstanceIds = new HashSet<>();
|
||||
//查询当前用户创建的createBy的流程审核不通过的
|
||||
LambdaQueryWrapper<SupervisionTempLineReport> supervisionTempLineReportLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
supervisionTempLineReportLambdaQueryWrapper.eq(SupervisionTempLineReport::getCreateBy, RequestUtil.getUserIndex())
|
||||
.eq(SupervisionTempLineReport::getStatus, BpmProcessInstanceStatusEnum.REJECT.getStatus())
|
||||
.eq(SupervisionTempLineReport::getState, DataStateEnum.ENABLE.getCode())
|
||||
.select(SupervisionTempLineReport::getProcessInstanceId);
|
||||
List<SupervisionTempLineReport> supervisionTempLineReports = this.baseMapper.selectList(supervisionTempLineReportLambdaQueryWrapper);
|
||||
if (CollectionUtil.isNotEmpty(supervisionTempLineReports)) {
|
||||
List<String> result = supervisionTempLineReports.stream().map(SupervisionTempLineReport::getProcessInstanceId).collect(Collectors.toList());
|
||||
rejectInstanceIds.addAll(result);
|
||||
}
|
||||
return rejectInstanceIds;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String cancelTempLineReport(BpmProcessInstanceCancelParam cancelReqVO) {
|
||||
//准备取消该流程,需要远程调用接口
|
||||
|
||||
@@ -37,6 +37,7 @@ import com.njcn.supervision.enums.SupervisionUserStatusEnum;
|
||||
import com.njcn.supervision.mapper.device.SupervisionTempLineReportMapper;
|
||||
import com.njcn.supervision.mapper.device.SupervisionTempLineRunTestMapper;
|
||||
import com.njcn.supervision.pojo.param.device.SupervisionTempLineRunTestParam;
|
||||
import com.njcn.supervision.pojo.po.device.CheckDevice;
|
||||
import com.njcn.supervision.pojo.po.device.SupervisionTempLineReport;
|
||||
import com.njcn.supervision.pojo.po.device.SupervisionTempLineRunTestPO;
|
||||
import com.njcn.supervision.pojo.po.device.TempLineRunTestWarning;
|
||||
@@ -360,6 +361,23 @@ public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl<Supervisi
|
||||
return bpmInstanceInfo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<String> getAllRejectInstanceIds() {
|
||||
Set<String> rejectInstanceIds = new HashSet<>();
|
||||
// 查询所有走了流程,但是流程状态为不通过的流程实例id
|
||||
LambdaQueryWrapper<SupervisionTempLineRunTestPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(SupervisionTempLineRunTestPO::getCreateBy, RequestUtil.getUserIndex())
|
||||
.eq(SupervisionTempLineRunTestPO::getStatus, BpmProcessInstanceStatusEnum.REJECT.getStatus())
|
||||
.eq(SupervisionTempLineRunTestPO::getState, DataStateEnum.ENABLE.getCode())
|
||||
.select(SupervisionTempLineRunTestPO::getProcessInstanceId);
|
||||
List<SupervisionTempLineRunTestPO> supervisionTempLineRunTestPOList = this.baseMapper.selectList(lambdaQueryWrapper);
|
||||
List<String> result = supervisionTempLineRunTestPOList.stream().map(SupervisionTempLineRunTestPO::getProcessInstanceId).collect(Collectors.toList());
|
||||
if(CollectionUtil.isNotEmpty(result)){
|
||||
rejectInstanceIds.addAll(result);
|
||||
}
|
||||
return rejectInstanceIds;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SupervisionTempLineRunTestVO getRunTestById(String id) {
|
||||
return this.baseMapper.getRunTestInfo(id);
|
||||
@@ -406,4 +424,5 @@ public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl<Supervisi
|
||||
return builder.toString();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.njcn.supervision.service.leaflet;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam;
|
||||
import com.njcn.bpm.pojo.vo.TodoVO;
|
||||
import com.njcn.bpm.service.IBpmService;
|
||||
import com.njcn.harmonic.pojo.dto.RMpPartHarmonicDetailDTO;
|
||||
import com.njcn.supervision.pojo.param.leaflet.WarningLeafletParam;
|
||||
@@ -58,4 +59,5 @@ public interface IWarningLeafletService extends IBpmService<WarningLeaflet> {
|
||||
|
||||
Boolean deleteWarningLeaflet(List<String> supervisionId);
|
||||
|
||||
List<TodoVO> getTodoBusiness();
|
||||
}
|
||||
|
||||
@@ -8,6 +8,7 @@ import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@@ -18,6 +19,7 @@ import com.njcn.bpm.enums.BpmTaskStatusEnum;
|
||||
import com.njcn.bpm.pojo.dto.BpmInstanceInfo;
|
||||
import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO;
|
||||
import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam;
|
||||
import com.njcn.bpm.pojo.vo.TodoVO;
|
||||
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.harmonic.pojo.dto.RMpPartHarmonicDetailDTO;
|
||||
@@ -25,6 +27,7 @@ import com.njcn.oss.utils.FileStorageUtil;
|
||||
import com.njcn.supervision.enums.*;
|
||||
import com.njcn.supervision.mapper.leaflet.WarningLeafletMapper;
|
||||
import com.njcn.supervision.pojo.param.leaflet.WarningLeafletParam;
|
||||
import com.njcn.supervision.pojo.po.device.CheckDevice;
|
||||
import com.njcn.supervision.pojo.po.device.SupervisionTempLineDebugPO;
|
||||
import com.njcn.supervision.pojo.po.device.SupervisionTempLineRunTestPO;
|
||||
import com.njcn.supervision.pojo.po.device.TempLineRunTestWarning;
|
||||
@@ -89,7 +92,7 @@ public class WarningLeafletServiceImpl extends ServiceImpl<WarningLeafletMapper,
|
||||
* 不创建工作流,只是创建一个告警单,需要待用户反馈后才会进入流程
|
||||
*/
|
||||
@Override
|
||||
public String createLeaflet(String name, String deptId, String code, String id, Integer problemType, Integer leaflet, String issueDetail,String reformAdvice,String filePath) {
|
||||
public String createLeaflet(String name, String deptId, String code, String id, Integer problemType, Integer leaflet, String issueDetail, String reformAdvice, String filePath) {
|
||||
WarningLeaflet warningLeaflet = new WarningLeaflet();
|
||||
warningLeaflet.setLeafletName(name);
|
||||
warningLeaflet.setDeptId(deptId);
|
||||
@@ -141,7 +144,7 @@ public class WarningLeafletServiceImpl extends ServiceImpl<WarningLeafletMapper,
|
||||
if (deptMap.containsKey(x.getDutyOrgId())) {
|
||||
x.setDutyOrgName(deptMap.get(x.getDutyOrgId()));
|
||||
}
|
||||
if (!Objects.isNull(x.getFilePath())){
|
||||
if (!Objects.isNull(x.getFilePath())) {
|
||||
x.setFilePath(fileStorageUtil.getFileUrl(x.getFilePath()));
|
||||
}
|
||||
});
|
||||
@@ -157,14 +160,14 @@ public class WarningLeafletServiceImpl extends ServiceImpl<WarningLeafletMapper,
|
||||
warningLeaflet.setTakeStep(warningLeafletUpdateParam.getTakeStep());
|
||||
warningLeaflet.setReportPath(warningLeafletUpdateParam.getReportPath());
|
||||
//设置状态
|
||||
if(Objects.equals(warningLeafletUpdateParam.getSaveOrCheckflag(),"1")){
|
||||
if (Objects.equals(warningLeafletUpdateParam.getSaveOrCheckflag(), "1")) {
|
||||
warningLeaflet.setStatus(BpmTaskStatusEnum.WAIT.getStatus());
|
||||
|
||||
}else {
|
||||
} else {
|
||||
warningLeaflet.setStatus(BpmTaskStatusEnum.RUNNING.getStatus());
|
||||
|
||||
}
|
||||
if(Objects.equals(warningLeafletUpdateParam.getSaveOrCheckflag(),"2")) {
|
||||
if (Objects.equals(warningLeafletUpdateParam.getSaveOrCheckflag(), "2")) {
|
||||
// 发起 BPM 流程
|
||||
Map<String, Object> processInstanceVariables = new HashMap<>();
|
||||
BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO();
|
||||
@@ -176,7 +179,7 @@ public class WarningLeafletServiceImpl extends ServiceImpl<WarningLeafletMapper,
|
||||
// 将工作流的编号,更新到流程单中
|
||||
warningLeaflet.setProcessInstanceId(processInstanceId);
|
||||
}
|
||||
|
||||
warningLeaflet.setCreateBy(RequestUtil.getUserIndex());
|
||||
this.baseMapper.updateById(warningLeaflet);
|
||||
}
|
||||
|
||||
@@ -206,6 +209,7 @@ public class WarningLeafletServiceImpl extends ServiceImpl<WarningLeafletMapper,
|
||||
warningLeaflet.setProcessInstanceId(processInstanceId);
|
||||
//保存历史流程id列表
|
||||
warningLeaflet.setHistoryInstanceId(historyInstanceIds);
|
||||
warningLeaflet.setCreateBy(RequestUtil.getUserIndex());
|
||||
this.baseMapper.updateById(warningLeaflet);
|
||||
return warningLeaflet.getId();
|
||||
}
|
||||
@@ -214,7 +218,7 @@ public class WarningLeafletServiceImpl extends ServiceImpl<WarningLeafletMapper,
|
||||
public WarningLeafletVO getVOById(String id) {
|
||||
WarningLeaflet warningLeaflet = this.getById(id);
|
||||
WarningLeafletVO warningLeafletVO = new WarningLeafletVO();
|
||||
if (!Objects.isNull(warningLeaflet)){
|
||||
if (!Objects.isNull(warningLeaflet)) {
|
||||
BeanUtil.copyProperties(warningLeaflet, warningLeafletVO);
|
||||
if (StrUtil.isNotBlank(warningLeaflet.getDeptId())) {
|
||||
Dept dept = deptFeignClient.getDeptById(warningLeaflet.getDeptId()).getData();
|
||||
@@ -227,7 +231,7 @@ public class WarningLeafletServiceImpl extends ServiceImpl<WarningLeafletMapper,
|
||||
//查询谐波普测,获取该普测计划上传的文件
|
||||
//查询到现场测试超标附件地址
|
||||
TempLineRunTestWarning byId = lineRunTestWarningService.getById(problemId);
|
||||
if(Objects.nonNull(byId)){
|
||||
if (Objects.nonNull(byId)) {
|
||||
warningLeafletVO.setProblemPath(byId.getTestRunReport());
|
||||
}
|
||||
}
|
||||
@@ -247,12 +251,12 @@ public class WarningLeafletServiceImpl extends ServiceImpl<WarningLeafletMapper,
|
||||
if (Objects.nonNull(warningLeafletVO.getId())) {
|
||||
bpmInstanceInfo.setHistoryInstanceId(warningLeafletVO.getHistoryInstanceId());
|
||||
String type = "告警单";
|
||||
if(warningLeafletVO.getLeafletType() == 1){
|
||||
if (warningLeafletVO.getLeafletType() == 1) {
|
||||
type = "预警单";
|
||||
}
|
||||
String sign = "问题来源于".concat(ProblemTypeEnum.getNameByCode(warningLeafletVO.getProblemType()))
|
||||
.concat(",由单位")
|
||||
.concat(StrUtil.isBlank(warningLeafletVO.getDeptName())?"":warningLeafletVO.getDeptName())
|
||||
.concat(StrUtil.isBlank(warningLeafletVO.getDeptName()) ? "" : warningLeafletVO.getDeptName())
|
||||
.concat("负责的")
|
||||
.concat(warningLeafletVO.getLeafletName())
|
||||
.concat(type);
|
||||
@@ -261,6 +265,23 @@ public class WarningLeafletServiceImpl extends ServiceImpl<WarningLeafletMapper,
|
||||
return bpmInstanceInfo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<String> getAllRejectInstanceIds() {
|
||||
Set<String> rejectInstanceIds = new HashSet<>();
|
||||
// 查询所有走了流程,但是流程状态为不通过的流程实例id
|
||||
LambdaQueryWrapper<WarningLeaflet> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(WarningLeaflet::getCreateBy, RequestUtil.getUserIndex())
|
||||
.eq(WarningLeaflet::getStatus, BpmProcessInstanceStatusEnum.REJECT.getStatus())
|
||||
.eq(WarningLeaflet::getState, DataStateEnum.ENABLE.getCode())
|
||||
.select(WarningLeaflet::getProcessInstanceId);
|
||||
List<WarningLeaflet> warningLeaflets = this.baseMapper.selectList(lambdaQueryWrapper);
|
||||
List<String> result = warningLeaflets.stream().map(WarningLeaflet::getProcessInstanceId).collect(Collectors.toList());
|
||||
if (CollectionUtil.isNotEmpty(result)) {
|
||||
rejectInstanceIds.addAll(result);
|
||||
}
|
||||
return rejectInstanceIds;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Page<WarningLeafletVO> alarmPageData(WarningLeafletParam.WarningLeafletQueryParam warningLeafletQueryParam) {
|
||||
QueryWrapper<WarningLeafletVO> warningLeafletVOQueryWrapper = new QueryWrapper<>();
|
||||
@@ -302,14 +323,14 @@ public class WarningLeafletServiceImpl extends ServiceImpl<WarningLeafletMapper,
|
||||
if (record.getProblemType().equals(ProblemTypeEnum.SITE_TEST.getCode()) && StrUtil.isNotBlank(record.getProblemId())) {
|
||||
//查询到现场测试超标附件地址
|
||||
TempLineRunTestWarning byId = lineRunTestWarningService.getById(record.getProblemId());
|
||||
if(Objects.nonNull(byId)){
|
||||
if (Objects.nonNull(byId)) {
|
||||
record.setProblemPath(byId.getTestRunReport());
|
||||
}
|
||||
}
|
||||
if (deptMap.containsKey(record.getDutyOrgId())) {
|
||||
record.setDutyOrgName(deptMap.get(record.getDutyOrgId()));
|
||||
}
|
||||
if (!Objects.isNull(record.getFilePath())){
|
||||
if (!Objects.isNull(record.getFilePath())) {
|
||||
record.setFilePath(fileStorageUtil.getFileUrl(record.getFilePath()));
|
||||
}
|
||||
}
|
||||
@@ -386,14 +407,14 @@ public class WarningLeafletServiceImpl extends ServiceImpl<WarningLeafletMapper,
|
||||
if (record.getProblemType().equals(ProblemTypeEnum.SITE_TEST.getCode()) && StrUtil.isNotBlank(record.getProblemId())) {
|
||||
//查询到现场测试超标附件地址
|
||||
TempLineRunTestWarning byId = lineRunTestWarningService.getById(record.getProblemId());
|
||||
if(Objects.nonNull(byId)){
|
||||
if (Objects.nonNull(byId)) {
|
||||
record.setProblemPath(byId.getTestRunReport());
|
||||
}
|
||||
}
|
||||
if (deptMap.containsKey(record.getDutyOrgId())) {
|
||||
record.setDutyOrgName(deptMap.get(record.getDutyOrgId()));
|
||||
}
|
||||
if (!Objects.isNull(record.getFilePath())){
|
||||
if (!Objects.isNull(record.getFilePath())) {
|
||||
record.setFilePath(fileStorageUtil.getFileUrl(record.getFilePath()));
|
||||
}
|
||||
}
|
||||
@@ -415,6 +436,43 @@ public class WarningLeafletServiceImpl extends ServiceImpl<WarningLeafletMapper,
|
||||
.in(WarningLeaflet::getId, supervisionId));
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<TodoVO> getTodoBusiness() {
|
||||
List<TodoVO> todoVOList = new ArrayList<>();
|
||||
QueryWrapper<WarningLeafletVO> queryWrapper = new QueryWrapper<>();
|
||||
List<String> deptIds = deptFeignClient.getDepSonIdtByDeptId(RequestUtil.getDeptIndex()).getData();
|
||||
if(CollectionUtil.isEmpty(deptIds)){
|
||||
return todoVOList;
|
||||
}
|
||||
queryWrapper.in("supervision_warning_leaflet.dept_id", deptIds)
|
||||
.eq("supervision_warning_leaflet.status", 5)
|
||||
.eq("supervision_warning_leaflet.state", DataStateEnum.ENABLE.getCode())
|
||||
.orderByDesc("supervision_warning_leaflet.Update_Time");
|
||||
List<WarningLeafletVO> warningLeafletVOList = this.baseMapper.getTodoBusiness(queryWrapper);
|
||||
if(CollectionUtil.isNotEmpty(warningLeafletVOList)){
|
||||
todoVOList = warningLeafletVOList.stream().map(item -> {
|
||||
TodoVO todoVO = new TodoVO();
|
||||
String title = "预警单";
|
||||
Integer tabValue = 3;
|
||||
if(item.getLeafletType()==2){
|
||||
title = "告警单";
|
||||
tabValue = 4;
|
||||
}
|
||||
todoVO.setTaskName(title);
|
||||
String problemType = ProblemTypeEnum.getNameByCode(item.getProblemType());
|
||||
todoVO.setTaskContent(item.getLeafletName());
|
||||
todoVO.setStartUser(problemType);
|
||||
todoVO.setId(item.getId());
|
||||
todoVO.setTaskCreateTime(item.getCreateTime());
|
||||
todoVO.setSource(3);
|
||||
todoVO.setRoutePath("");
|
||||
todoVO.setTabValue(tabValue);
|
||||
return todoVO;
|
||||
}).collect(Collectors.toList());
|
||||
}
|
||||
return todoVOList;
|
||||
}
|
||||
|
||||
|
||||
private String assembleOverLimitInfo(RMpPartHarmonicDetailDTO rMpPartHarmonicDetailDTO) {
|
||||
String info = "";
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.njcn.supervision.service.plan.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateTime;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
@@ -22,6 +23,7 @@ import com.njcn.common.utils.PubUtils;
|
||||
import com.njcn.supervision.enums.SupervisionKeyEnum;
|
||||
import com.njcn.supervision.mapper.plan.SupervisionPlanPOMapper;
|
||||
import com.njcn.supervision.pojo.param.plan.SupervisionPlanParam;
|
||||
import com.njcn.supervision.pojo.po.device.CheckDevice;
|
||||
import com.njcn.supervision.pojo.po.plan.SupervisionPlanPO;
|
||||
import com.njcn.supervision.pojo.po.plan.SupervisionProblemPO;
|
||||
import com.njcn.supervision.pojo.vo.plan.SupervisionPlanVO;
|
||||
@@ -41,10 +43,7 @@ import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.*;
|
||||
import java.util.function.Function;
|
||||
import java.util.stream.Collectors;
|
||||
import java.util.stream.Stream;
|
||||
@@ -379,6 +378,23 @@ public class SupervisionPlanPOServiceImpl extends ServiceImpl<SupervisionPlanPOM
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<String> getAllRejectInstanceIds() {
|
||||
Set<String> rejectInstanceIds = new HashSet<>();
|
||||
// 查询所有走了流程,但是流程状态为不通过的流程实例id
|
||||
LambdaQueryWrapper<SupervisionPlanPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(SupervisionPlanPO::getCreateBy, RequestUtil.getUserIndex())
|
||||
.eq(SupervisionPlanPO::getStatus, BpmProcessInstanceStatusEnum.REJECT.getStatus())
|
||||
.eq(SupervisionPlanPO::getState, DataStateEnum.ENABLE.getCode())
|
||||
.select(SupervisionPlanPO::getProcessInstanceId);
|
||||
List<SupervisionPlanPO> supervisionPlanPOS = this.baseMapper.selectList(lambdaQueryWrapper);
|
||||
List<String> result = supervisionPlanPOS.stream().map(SupervisionPlanPO::getProcessInstanceId).collect(Collectors.toList());
|
||||
if(CollectionUtil.isNotEmpty(result)){
|
||||
rejectInstanceIds.addAll(result);
|
||||
}
|
||||
return rejectInstanceIds;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Deprecated
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
|
||||
@@ -327,6 +327,14 @@ public class SupervisionGeneralSurveyPlanPOServiceImpl extends ServiceImpl<Super
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 该流程暂时没有在页面体现出来
|
||||
*/
|
||||
@Override
|
||||
public Set<String> getAllRejectInstanceIds() {
|
||||
return new HashSet<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
public String cancelGeneralSurvey(BpmProcessInstanceCancelParam cancelReqVO) {
|
||||
//准备取消该流程,需要远程调用接口
|
||||
|
||||
@@ -6,6 +6,7 @@ import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.text.StrPool;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@@ -25,6 +26,7 @@ import com.njcn.supervision.enums.SupervisionKeyEnum;
|
||||
import com.njcn.supervision.enums.SupervisionResponseEnum;
|
||||
import com.njcn.supervision.mapper.survey.SurveyPlanMapper;
|
||||
import com.njcn.supervision.pojo.param.survey.SurveyPlanParam;
|
||||
import com.njcn.supervision.pojo.po.device.CheckDevice;
|
||||
import com.njcn.supervision.pojo.po.device.SupervisionDevMainReportPO;
|
||||
import com.njcn.supervision.pojo.po.device.SupervisionTempLineRunTestPO;
|
||||
import com.njcn.supervision.pojo.po.survey.SurveyPlan;
|
||||
@@ -275,6 +277,23 @@ public class SurveyPlanServiceImpl extends ServiceImpl<SurveyPlanMapper, SurveyP
|
||||
return bpmInstanceInfo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<String> getAllRejectInstanceIds() {
|
||||
Set<String> rejectInstanceIds = new HashSet<>();
|
||||
// 查询所有走了流程,但是流程状态为不通过的流程实例id
|
||||
LambdaQueryWrapper<SurveyPlan> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(SurveyPlan::getCreateBy, RequestUtil.getUserIndex())
|
||||
.eq(SurveyPlan::getStatus, BpmProcessInstanceStatusEnum.REJECT.getStatus())
|
||||
.eq(SurveyPlan::getState, DataStateEnum.ENABLE.getCode())
|
||||
.select(SurveyPlan::getProcessInstanceId);
|
||||
List<SurveyPlan> surveyPlanList = this.baseMapper.selectList(lambdaQueryWrapper);
|
||||
List<String> result = surveyPlanList.stream().map(SurveyPlan::getProcessInstanceId).collect(Collectors.toList());
|
||||
if(CollectionUtil.isNotEmpty(result)){
|
||||
rejectInstanceIds.addAll(result);
|
||||
}
|
||||
return rejectInstanceIds;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SurveyPlanVO getVOById(String id) {
|
||||
SurveyPlan surveyPlan = this.baseMapper.selectById(id);
|
||||
|
||||
@@ -29,6 +29,7 @@ import com.njcn.supervision.enums.*;
|
||||
import com.njcn.supervision.mapper.survey.SurveyTestMapper;
|
||||
import com.njcn.supervision.pojo.param.leaflet.WarningAddParam;
|
||||
import com.njcn.supervision.pojo.param.survey.SurveyTestParam;
|
||||
import com.njcn.supervision.pojo.po.device.CheckDevice;
|
||||
import com.njcn.supervision.pojo.po.leaflet.WarningLeaflet;
|
||||
import com.njcn.supervision.pojo.po.survey.SurveyPlan;
|
||||
import com.njcn.supervision.pojo.po.survey.SurveyTest;
|
||||
@@ -230,6 +231,7 @@ public class SurveyTestServiceImpl extends ServiceImpl<SurveyTestMapper, SurveyT
|
||||
|
||||
}
|
||||
surveyTest.setState(DataStateEnum.ENABLE.getCode());
|
||||
surveyTest.setCreateBy(RequestUtil.getUserIndex());
|
||||
// surveyTest.setStatus(BpmTaskStatusEnum.RUNNING.getStatus());
|
||||
this.updateById(surveyTest);
|
||||
// 发起 BPM 流程
|
||||
@@ -328,6 +330,23 @@ public class SurveyTestServiceImpl extends ServiceImpl<SurveyTestMapper, SurveyT
|
||||
return bpmInstanceInfo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<String> getAllRejectInstanceIds() {
|
||||
Set<String> rejectInstanceIds = new HashSet<>();
|
||||
// 查询所有走了流程,但是流程状态为不通过的流程实例id
|
||||
LambdaQueryWrapper<SurveyTest> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(SurveyTest::getCreateBy, RequestUtil.getUserIndex())
|
||||
.eq(SurveyTest::getStatus, BpmProcessInstanceStatusEnum.REJECT.getStatus())
|
||||
.eq(SurveyTest::getState, DataStateEnum.ENABLE.getCode())
|
||||
.select(SurveyTest::getProcessInstanceId);
|
||||
List<SurveyTest> surveyTestList = this.baseMapper.selectList(lambdaQueryWrapper);
|
||||
List<String> result = surveyTestList.stream().map(SurveyTest::getProcessInstanceId).collect(Collectors.toList());
|
||||
if(CollectionUtil.isNotEmpty(result)){
|
||||
rejectInstanceIds.addAll(result);
|
||||
}
|
||||
return rejectInstanceIds;
|
||||
}
|
||||
|
||||
@Override
|
||||
public SurveyTestVO getVOById(String id) {
|
||||
SurveyTestVO surveyTestVO = new SurveyTestVO();
|
||||
|
||||
@@ -31,4 +31,5 @@ public interface IUserReportNormalService extends IBpmService<UserReportNormalPO
|
||||
|
||||
String cancelUserReport(BpmProcessInstanceCancelParam cancelReqVO);
|
||||
|
||||
UserReportVO.UserReportListVO getUserReportByFangAnId(String id);
|
||||
}
|
||||
|
||||
@@ -29,6 +29,8 @@ public interface UserReportPOService extends IBpmService<UserReportPO> {
|
||||
|
||||
Page<UserReportVO> getUserReport(UserReportParam.UserReportQueryParam userReportQueryParam);
|
||||
|
||||
UserReportVO getUserReportById(String id);
|
||||
|
||||
Boolean removeUserReport(List<String> ids);
|
||||
|
||||
UserReportVO.UserReportListVO getVOById(String id);
|
||||
|
||||
@@ -29,10 +29,7 @@ import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
|
||||
@@ -117,6 +114,15 @@ public class UserReportDeleteServiceImpl extends ServiceImpl<UserReportPOMapper,
|
||||
return bpmInstanceInfo;
|
||||
}
|
||||
|
||||
/**
|
||||
* 该流程不需要了 by 吴瑞
|
||||
*/
|
||||
@Override
|
||||
@Deprecated
|
||||
public Set<String> getAllRejectInstanceIds() {
|
||||
return new HashSet<>();
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public String addEditor(UserReportParam userReportParam) {
|
||||
|
||||
@@ -3,6 +3,7 @@ package com.njcn.supervision.service.user.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
@@ -15,15 +16,17 @@ import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO;
|
||||
import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam;
|
||||
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||
import com.njcn.supervision.enums.SupervisionKeyEnum;
|
||||
import com.njcn.supervision.enums.UserNatureEnum;
|
||||
import com.njcn.supervision.mapper.user.UserReportNormalMapper;
|
||||
import com.njcn.supervision.pojo.param.user.UserReportNormalParam;
|
||||
import com.njcn.supervision.pojo.po.user.UserReportNormalPO;
|
||||
import com.njcn.supervision.pojo.po.user.UserReportPO;
|
||||
import com.njcn.supervision.pojo.po.device.SupervisionDevMainReportPO;
|
||||
import com.njcn.supervision.pojo.po.user.*;
|
||||
import com.njcn.supervision.pojo.vo.user.UserReportVO;
|
||||
import com.njcn.supervision.service.user.IUserReportNormalService;
|
||||
import com.njcn.supervision.service.user.UserReportPOService;
|
||||
import com.njcn.supervision.service.user.*;
|
||||
import com.njcn.supervision.utils.InstanceUtil;
|
||||
import com.njcn.user.api.DeptFeignClient;
|
||||
import com.njcn.user.api.UserFeignClient;
|
||||
import com.njcn.user.pojo.vo.UserVO;
|
||||
import com.njcn.web.factory.PageFactory;
|
||||
import com.njcn.web.utils.RequestUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
@@ -49,8 +52,12 @@ public class UserReportNormalServiceImpl extends ServiceImpl<UserReportNormalMap
|
||||
|
||||
|
||||
private final BpmProcessFeignClient bpmProcessFeignClient;
|
||||
private final UserReportProjectPOService userReportProjectPOService;
|
||||
private final UserReportSubstationPOService userReportSubstationPOService;
|
||||
private final UserReportSensitivePOService userReportSensitivePOService;
|
||||
private final UserReportPOService userReportPOService;
|
||||
private final UserFeignClient userFeignClient;
|
||||
private final DeptFeignClient deptFeignClient;
|
||||
|
||||
|
||||
@Override
|
||||
@@ -66,6 +73,7 @@ public class UserReportNormalServiceImpl extends ServiceImpl<UserReportNormalMap
|
||||
userReportNormalPO.setStatus(BpmTaskStatusEnum.RUNNING.getStatus());
|
||||
|
||||
}
|
||||
userReportNormalPO.setCreateBy(RequestUtil.getUserIndex());
|
||||
this.saveOrUpdate(userReportNormalPO);
|
||||
userReportNormalPO = this.getById(userReportNormalPO.getId());
|
||||
if (Objects.equals(userReportNormalParam.getSaveOrCheckflag(), "2")) {
|
||||
@@ -188,6 +196,24 @@ public class UserReportNormalServiceImpl extends ServiceImpl<UserReportNormalMap
|
||||
return bpmInstanceInfo;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public Set<String> getAllRejectInstanceIds() {
|
||||
Set<String> rejectInstanceIds = new HashSet<>();
|
||||
//查询当前用户创建的createBy的流程审核不通过的
|
||||
LambdaQueryWrapper<UserReportNormalPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(UserReportNormalPO::getCreateBy, RequestUtil.getUserIndex())
|
||||
.eq(UserReportNormalPO::getStatus, BpmProcessInstanceStatusEnum.REJECT.getStatus())
|
||||
.eq(UserReportNormalPO::getState, DataStateEnum.ENABLE.getCode())
|
||||
.select(UserReportNormalPO::getProcessInstanceId);
|
||||
List<UserReportNormalPO> userReportNormalPOList = this.baseMapper.selectList(lambdaQueryWrapper);
|
||||
if (CollectionUtil.isNotEmpty(userReportNormalPOList)) {
|
||||
List<String> result = userReportNormalPOList.stream().map(UserReportNormalPO::getProcessInstanceId).collect(Collectors.toList());
|
||||
rejectInstanceIds.addAll(result);
|
||||
}
|
||||
return rejectInstanceIds;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String cancelUserReport(BpmProcessInstanceCancelParam cancelReqVO) {
|
||||
//准备取消该流程,需要远程调用接口
|
||||
@@ -201,4 +227,58 @@ public class UserReportNormalServiceImpl extends ServiceImpl<UserReportNormalMap
|
||||
this.updateById(userReportNormalPO);
|
||||
return userReportNormalPO.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
public UserReportVO.UserReportListVO getUserReportByFangAnId(String id) {
|
||||
UserReportNormalPO userReportNormalServiceById = this.getById(id);
|
||||
UserReportVO.UserReportListVO userReportVO = new UserReportVO.UserReportListVO();
|
||||
UserReportPO userReportPO = userReportPOService.getById(userReportNormalServiceById.getUserReportId());
|
||||
//复制基础信息
|
||||
BeanUtil.copyProperties(userReportPO, userReportVO);
|
||||
//处理特殊字段,用户名、部门名
|
||||
UserVO userVO = userFeignClient.getUserById(userReportPO.getReporter()).getData();
|
||||
userReportVO.setReporter(userVO.getName());
|
||||
userReportVO.setOrgName(deptFeignClient.getDeptById(userReportPO.getOrgId()).getData().getName());
|
||||
/*
|
||||
根据用户性质获取自己特有的字段,此处需要特殊处理
|
||||
1、每个附件需要返回文件名称以及可以预览的url
|
||||
todo...by黄正剑
|
||||
*/
|
||||
if (
|
||||
CollectionUtil.newArrayList(
|
||||
UserNatureEnum.BUILD_POWER_GRID.getCode(),
|
||||
UserNatureEnum.EXTEND_POWER_GRID.getCode()
|
||||
).contains(userReportPO.getUserType())) {
|
||||
//电网工程类用户额外数据
|
||||
UserReportProjectPO byId = userReportProjectPOService.getById(userReportNormalServiceById.getUserReportId());
|
||||
userReportVO.setUserReportProjectPO(byId);
|
||||
|
||||
} else if (
|
||||
CollectionUtil.newArrayList(
|
||||
UserNatureEnum.BUILD_NON_LINEAR_LOAD.getCode(),
|
||||
UserNatureEnum.EXTEND_NON_LINEAR_LOAD.getCode(),
|
||||
UserNatureEnum.BUILD_NEW_ENERGY_POWER_STATION.getCode(),
|
||||
UserNatureEnum.EXTEND_NEW_ENERGY_POWER_STATION.getCode()
|
||||
).contains(userReportPO.getUserType())) {
|
||||
//非线性负荷用户 & 新能源发电站用户
|
||||
UserReportSubstationPO byId = userReportSubstationPOService.getById(userReportNormalServiceById.getUserReportId());
|
||||
userReportSubstationPOService.saveOrUpdate(byId);
|
||||
userReportVO.setUserReportSubstationPO(byId);
|
||||
} else if (UserNatureEnum.SENSITIVE_USER.getCode().equals(userReportPO.getUserType())) {
|
||||
// 敏感及重要用户
|
||||
UserReportSensitivePO byId = userReportSensitivePOService.getById(userReportNormalServiceById.getUserReportId());
|
||||
userReportVO.setUserReportSensitivePO(byId);
|
||||
}
|
||||
List<UserReportNormalPO> list = this.baseMapper.selectList(new LambdaQueryWrapper<UserReportNormalPO>()
|
||||
.eq(UserReportNormalPO::getUserReportId, userReportNormalServiceById.getUserReportId())
|
||||
.eq(UserReportNormalPO::getStatus, BpmTaskStatusEnum.APPROVE.getStatus())
|
||||
.eq(UserReportNormalPO::getState, DataStateEnum.ENABLE.getCode())
|
||||
.orderByDesc(UserReportNormalPO::getCreateTime)
|
||||
);
|
||||
Optional<String> netInReport = list.stream().filter(x -> 0 == x.getType()).map(UserReportNormalPO::getReportUrl).findFirst();
|
||||
Optional<String> governReport = list.stream().filter(x -> 1 == x.getType()).map(UserReportNormalPO::getReportUrl).findFirst();
|
||||
userReportVO.setNetInReport(Arrays.asList(netInReport.isPresent() ? netInReport.get() : null));
|
||||
userReportVO.setGovernReport(Arrays.asList(governReport.isPresent() ? governReport.get() : null));
|
||||
return userReportVO;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -40,6 +40,7 @@ import com.njcn.supervision.mapper.user.UserReportPOMapper;
|
||||
import com.njcn.supervision.pojo.dto.SensitiveReportExcel;
|
||||
import com.njcn.supervision.pojo.dto.SensitiveUserSExcel;
|
||||
import com.njcn.supervision.pojo.param.user.UserReportParam;
|
||||
import com.njcn.supervision.pojo.po.device.CheckDevice;
|
||||
import com.njcn.supervision.pojo.po.device.SupervisionTempLineReport;
|
||||
import com.njcn.supervision.pojo.po.user.*;
|
||||
import com.njcn.supervision.pojo.vo.user.UserReportVO;
|
||||
@@ -335,6 +336,14 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
|
||||
return this.baseMapper.page(new Page<>(PageFactory.getPageNum(userReportQueryParam), PageFactory.getPageSize(userReportQueryParam)), userReportVOQueryWrapper);
|
||||
}
|
||||
|
||||
@Override
|
||||
public UserReportVO getUserReportById(String id) {
|
||||
QueryWrapper<UserReportVO> userReportVOQueryWrapper = new QueryWrapper<>();
|
||||
userReportVOQueryWrapper.eq("supervision_user_report.id", id);
|
||||
return this.baseMapper.getUserReportById(userReportVOQueryWrapper);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean removeUserReport(List<String> ids) {
|
||||
this.lambdaUpdate().set(UserReportPO::getState, 0).in(UserReportPO::getId, ids).update();
|
||||
@@ -413,6 +422,23 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
|
||||
return bpmInstanceInfo;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<String> getAllRejectInstanceIds() {
|
||||
Set<String> rejectInstanceIds = new HashSet<>();
|
||||
// 查询所有走了流程,但是流程状态为不通过的流程实例id
|
||||
LambdaQueryWrapper<UserReportPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(UserReportPO::getCreateBy, RequestUtil.getUserIndex())
|
||||
.eq(UserReportPO::getStatus, BpmProcessInstanceStatusEnum.REJECT.getStatus())
|
||||
.eq(UserReportPO::getState, DataStateEnum.ENABLE.getCode())
|
||||
.select(UserReportPO::getProcessInstanceId);
|
||||
List<UserReportPO> userReportPOList = this.baseMapper.selectList(lambdaQueryWrapper);
|
||||
List<String> result = userReportPOList.stream().map(UserReportPO::getProcessInstanceId).collect(Collectors.toList());
|
||||
if(CollectionUtil.isNotEmpty(result)){
|
||||
rejectInstanceIds.addAll(result);
|
||||
}
|
||||
return rejectInstanceIds;
|
||||
}
|
||||
|
||||
@Override
|
||||
public List<UserReportVO> getUserReportList() {
|
||||
String deptIndex = RequestUtil.getDeptIndex();
|
||||
|
||||
@@ -6,6 +6,7 @@ import cn.hutool.core.util.ObjUtil;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.bpm.api.BpmProcessFeignClient;
|
||||
import com.njcn.bpm.enums.BpmProcessInstanceStatusEnum;
|
||||
@@ -18,6 +19,7 @@ import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.supervision.enums.*;
|
||||
import com.njcn.supervision.mapper.user.UserReportRenewalMapper;
|
||||
import com.njcn.supervision.pojo.param.user.UserReportParam;
|
||||
import com.njcn.supervision.pojo.po.device.CheckDevice;
|
||||
import com.njcn.supervision.pojo.po.user.*;
|
||||
import com.njcn.supervision.service.user.*;
|
||||
import com.njcn.supervision.utils.InstanceUtil;
|
||||
@@ -31,9 +33,8 @@ import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
@@ -82,6 +83,23 @@ public class UserReportRenewalServiceImpl extends ServiceImpl<UserReportRenewalM
|
||||
return new BpmInstanceInfo();
|
||||
}
|
||||
|
||||
@Override
|
||||
public Set<String> getAllRejectInstanceIds() {
|
||||
Set<String> rejectInstanceIds = new HashSet<>();
|
||||
// 查询所有走了流程,但是流程状态为不通过的流程实例id
|
||||
LambdaQueryWrapper<UserReportRenewalPO> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
lambdaQueryWrapper.eq(UserReportRenewalPO::getCreateBy, RequestUtil.getUserIndex())
|
||||
.eq(UserReportRenewalPO::getStatus, BpmProcessInstanceStatusEnum.REJECT.getStatus())
|
||||
.eq(UserReportRenewalPO::getState, DataStateEnum.ENABLE.getCode())
|
||||
.select(UserReportRenewalPO::getProcessInstanceId);
|
||||
List<UserReportRenewalPO> userReportRenewalPOList = this.baseMapper.selectList(lambdaQueryWrapper);
|
||||
List<String> result = userReportRenewalPOList.stream().map(UserReportRenewalPO::getProcessInstanceId).collect(Collectors.toList());
|
||||
if(CollectionUtil.isNotEmpty(result)){
|
||||
rejectInstanceIds.addAll(result);
|
||||
}
|
||||
return rejectInstanceIds;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public UserReportRenewalPO getUserReportUpdateById(String id) {
|
||||
@@ -143,6 +161,7 @@ public class UserReportRenewalServiceImpl extends ServiceImpl<UserReportRenewalM
|
||||
po.setId(userReportParam.getId());
|
||||
po.setUserReportMessage(userReport);
|
||||
po.setState(DataStateEnum.ENABLE.getCode());
|
||||
userReportPO.setCreateBy(RequestUtil.getUserIndex());
|
||||
if (this.saveOrUpdate(po)) {
|
||||
return userReportParam.getId();
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.njcn;
|
||||
|
||||
import com.njcn.supervision.api.TempLineRunTestFeignClient;
|
||||
import com.njcn.system.service.IDictTypeService;
|
||||
import org.junit.Test;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -14,11 +15,14 @@ public class DictDataTest extends BaseJunitTest{
|
||||
@Autowired
|
||||
private IDictTypeService dictTypeService;
|
||||
|
||||
@Autowired
|
||||
private TempLineRunTestFeignClient tempLineRunTestFeignClient;
|
||||
|
||||
|
||||
|
||||
@Test
|
||||
public void test(){
|
||||
dictTypeService.dictDataCache();
|
||||
tempLineRunTestFeignClient.isTestRunStartOrEnd();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user