From ba6762587f3793886f9db290bdaf848a718fd4f0 Mon Sep 17 00:00:00 2001 From: hongawen <83944980@qq.com> Date: Fri, 13 Sep 2024 20:31:32 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E4=BD=9C=E6=B5=81=E7=A8=8B=E5=AE=A1?= =?UTF-8?q?=E6=A0=B8=E4=B8=8D=E9=80=9A=E8=BF=87=E3=80=81=E9=A2=84=E5=91=8A?= =?UTF-8?q?=E8=AD=A6=E5=8D=95=E5=A4=84=E7=90=86=E3=80=81=E7=BB=88=E7=AB=AF?= =?UTF-8?q?=E5=91=A8=E6=9C=9F=E6=A3=80=E6=B5=8B=E7=AD=89=E9=9C=80=E6=B1=82?= =?UTF-8?q?=201=E3=80=81=E6=8F=90=E4=BA=A4=E4=BA=86=E4=B8=BBpom=EF=BC=8C?= =?UTF-8?q?=E5=9B=A0=E4=B8=BA=E9=9C=80=E8=A6=81=E5=BC=95=E5=85=A5=E8=BE=BE?= =?UTF-8?q?=E6=A2=A6=E6=95=B0=E6=8D=AE=E9=87=8F=EF=BC=9B=202=E3=80=81?= =?UTF-8?q?=E6=8F=90=E4=BA=A4=E4=BA=86gateway=E7=9A=84=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E6=96=87=E4=BB=B6=EF=BC=8C=E5=9B=A0=E4=B8=BA=E9=83=A8=E5=88=86?= =?UTF-8?q?=E6=8E=A5=E5=8F=A3=E6=B2=A1=E6=9C=89=E6=B7=BB=E5=8A=A0=E5=88=B0?= =?UTF-8?q?=E6=9D=83=E9=99=90=E4=B8=AD=EF=BC=8C=E5=BE=85=E5=90=8E=E7=BB=AD?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E5=90=8E=E5=86=8D=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 8 +- .../java/com/njcn/bpm/pojo/vo/TodoVO.java | 84 +++++++++++++++++ .../njcn/bpm/service/IBpmReasonService.java | 8 ++ .../com/njcn/bpm/service/IBpmService.java | 18 +++- .../bpm/controller/BpmTaskController.java | 93 +++++++++++++++++++ .../task/IBpmProcessInstanceService.java | 5 + .../bpm/service/task/IBpmTaskService.java | 8 ++ .../impl/BpmProcessInstanceServiceImpl.java | 26 +++++- .../service/task/impl/BpmTaskServiceImpl.java | 18 +++- .../bpm/utils/BpmProcessInstanceConvert.java | 35 +++++++ .../com/njcn/bpm/utils/BpmTaskConvert.java | 25 +++++ .../com/njcn/bpm/utils/TodoVOConvert.java | 73 +++++++++++++++ pqs-common/common-db/pom.xml | 13 ++- .../listener/NacosLogbackConfigLoader.java | 36 +++---- .../java/com/njcn/gateway/GatewayMain.java | 2 +- pqs-gateway/src/main/resources/bootstrap.yml | 3 +- .../api/BusinessCommonFeignClient.java | 21 ++++- ...inessCommonFeignClientFallbackFactory.java | 16 ++++ .../supervision/enums/ProblemTypeEnum.java | 2 +- .../supervision/enums/SupervisionKeyEnum.java | 82 +++++++++++----- .../pojo/po/device/CheckDevice.java | 2 +- .../controller/BusinessCommonController.java | 72 ++++++++++++-- .../survey/SurveyPlanController.java | 1 + .../user/UserReportManageController.java | 24 +++++ .../mapper/device/CheckDeviceMapper.java | 3 + .../device/mapping/CheckDeviceMapper.xml | 20 ++++ .../mapper/leaflet/WarningLeafletMapper.java | 4 + .../leaflet/mapping/WarningLeafletMapper.xml | 26 ++++++ .../mapper/user/UserReportPOMapper.java | 2 + .../user/mapping/UserReportPOMapper.xml | 28 ++++++ .../service/device/ICheckDeviceService.java | 5 + .../device/impl/CheckDeviceServiceImpl.java | 83 +++++++++++++++-- .../impl/QuitRunningDeviceServiceImpl.java | 17 ++++ ...SupervisionDevMainReportPOServiceImpl.java | 18 ++++ ...SupervisionTempLineDebugPOServiceImpl.java | 17 ++++ .../SupervisionTempLineReportServiceImpl.java | 17 ++++ ...SupervisionTempLineRunTestServiceImpl.java | 19 ++++ .../leaflet/IWarningLeafletService.java | 2 + .../impl/WarningLeafletServiceImpl.java | 86 ++++++++++++++--- .../impl/SupervisionPlanPOServiceImpl.java | 24 ++++- ...rvisionGeneralSurveyPlanPOServiceImpl.java | 8 ++ .../survey/impl/SurveyPlanServiceImpl.java | 19 ++++ .../survey/impl/SurveyTestServiceImpl.java | 19 ++++ .../user/IUserReportNormalService.java | 1 + .../service/user/UserReportPOService.java | 2 + .../impl/UserReportDeleteServiceImpl.java | 14 ++- .../impl/UserReportNormalServiceImpl.java | 88 +++++++++++++++++- .../user/impl/UserReportPOServiceImpl.java | 26 ++++++ .../impl/UserReportRenewalServiceImpl.java | 25 ++++- .../src/test/java/com/njcn/DictDataTest.java | 6 +- 50 files changed, 1144 insertions(+), 110 deletions(-) create mode 100644 pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/vo/TodoVO.java create mode 100644 pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/utils/TodoVOConvert.java diff --git a/pom.xml b/pom.xml index a57c2a57c..24158c752 100644 --- a/pom.xml +++ b/pom.xml @@ -43,7 +43,7 @@ 192.168.1.22 - 192.168.1.127 + 127.0.0.1 192.168.1.22 @@ -53,10 +53,10 @@ nacos - + - - ddcae5af-ac35-4fc4-9804-962de94dfc61 + fd74182b-1fce-4dba-afa7-2623b0376205 + ${middle.server.url}:8080 diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/vo/TodoVO.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/vo/TodoVO.java new file mode 100644 index 000000000..aba63c684 --- /dev/null +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/pojo/vo/TodoVO.java @@ -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; +} diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/service/IBpmReasonService.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/service/IBpmReasonService.java index 2b4b153cf..79da37259 100644 --- a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/service/IBpmReasonService.java +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/service/IBpmReasonService.java @@ -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 extends IService { * @param businessId 业务流程id */ BpmInstanceInfo getInstanceInfo(String businessId); + + /** + * 注意数据权限!!!!非本人的无需获取 + * 获取所有当前流程实例为不通过的 具体参考BpmTaskStatusEnum.REJECT枚举的流程Id + */ + Set getAllRejectInstanceIds(); } diff --git a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/service/IBpmService.java b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/service/IBpmService.java index 63a962cda..6916dd5e5 100644 --- a/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/service/IBpmService.java +++ b/pqs-bpm/bpm-api/src/main/java/com/njcn/bpm/service/IBpmService.java @@ -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 extends IService { /** * 根据业务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 getAllRejectInstanceIds(); + + } diff --git a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/controller/BpmTaskController.java b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/controller/BpmTaskController.java index 50b39b348..ffdcfdd87 100644 --- a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/controller/BpmTaskController.java +++ b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/controller/BpmTaskController.java @@ -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> todoAllList() { + String methodDescribe = getMethodDescribe("todoAllList"); + List pageResult = taskService.todoAllList(RequestUtil.getUserIndex()); + if (CollUtil.isEmpty(pageResult)) { + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, new ArrayList<>(), methodDescribe); + } + // 拼接数据 + Map processInstanceMap = processInstanceService.getProcessInstanceMap( + convertSet(pageResult, Task::getProcessInstanceId)); + List userList = userFeignClient.getUserVOByIdList(convertList(processInstanceMap.values(), ProcessInstance::getStartUserId)).getData(); + Map userMap = CollectionUtils.convertMap(userList, UserVO::getId); + List 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> allTodoList() { + String methodDescribe = getMethodDescribe("allTodoList"); + List result = new ArrayList<>(); + // 获取当前用户所有待办工作流程 + HttpResult> todoAllList = this.todoAllList(); + if(CollectionUtil.isNotEmpty(todoAllList.getData())){ + // 转为统一的todoVO3 + result.addAll(TodoVOConvert.convertByBpmTaskVO(todoAllList.getData())); + } + // 获取当前用户所有不通过的工作流程 + List 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 getRejectProcessInstanceList() { + // 先获取当前用户所有审核不通过的流程实例ID + Set instanceIdSet = businessCommonFeignClient.getAllRejectInstanceId().getData(); + if(CollUtil.isEmpty(instanceIdSet)){ + return new ArrayList<>(); + } + List instances = processInstanceService.getRejectProcessInstanceList(RequestUtil.getUserIndex(),instanceIdSet); + if (CollUtil.isEmpty(instances)) { + return new ArrayList<>(); + } + // 拼接返回 + Map> taskMap = taskService.getTaskMapByProcessInstanceIds( + convertList(instances, HistoricProcessInstance::getId)); + Map processDefinitionMap = processDefinitionService.getProcessDefinitionMap( + convertSet(instances, HistoricProcessInstance::getProcessDefinitionId)); + Map 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") diff --git a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/service/task/IBpmProcessInstanceService.java b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/service/task/IBpmProcessInstanceService.java index e0d432454..6f3c313d6 100644 --- a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/service/task/IBpmProcessInstanceService.java +++ b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/service/task/IBpmProcessInstanceService.java @@ -97,6 +97,10 @@ public interface IBpmProcessInstanceService { * @return 流程实例的分页 */ PageResult getProcessInstancePage(String userId, BpmProcessInstancePageParam bpmProcessInstancePageParam); + + List getRejectProcessInstanceList(String userIndex, Set instanceIdSet); + + // // /** // * 创建流程实例(提供给前端) @@ -162,4 +166,5 @@ public interface IBpmProcessInstanceService { */ void delete(String id, String reason); + } diff --git a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/service/task/IBpmTaskService.java b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/service/task/IBpmTaskService.java index 583defb7b..4863c93b5 100644 --- a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/service/task/IBpmTaskService.java +++ b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/service/task/IBpmTaskService.java @@ -175,6 +175,14 @@ public interface IBpmTaskService { * @return 子任务列表 */ List getTaskListByParentTaskId(String parentTaskId); + + /** + * 根据用户id查询该用户所有的待办事项 + * + * @param userIndex 用户id + * @return 所有待办任务 + */ + List todoAllList(String userIndex); // // /** // * 通过任务 ID,查询任务名 Map diff --git a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/service/task/impl/BpmProcessInstanceServiceImpl.java b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/service/task/impl/BpmProcessInstanceServiceImpl.java index 0f818505b..3b338ac5e 100644 --- a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/service/task/impl/BpmProcessInstanceServiceImpl.java +++ b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/service/task/impl/BpmProcessInstanceServiceImpl.java @@ -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 getRejectProcessInstanceList(String userId, Set 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 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)); diff --git a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/service/task/impl/BpmTaskServiceImpl.java b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/service/task/impl/BpmTaskServiceImpl.java index 80dc9a2ad..dcad4da87 100644 --- a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/service/task/impl/BpmTaskServiceImpl.java +++ b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/service/task/impl/BpmTaskServiceImpl.java @@ -112,6 +112,17 @@ public class BpmTaskServiceImpl implements IBpmTaskService { return new PageResult<>(tasks, count); } + @Override + public List todoAllList(String userIndex) { + TaskQuery taskQuery = taskService.createTaskQuery() + .taskAssignee(userIndex) // 分配给自己 + .active() + .includeProcessVariables() + .orderByTaskCreateTime().desc(); // 创建时间倒序 + return taskQuery.list(); + } + + @Override public PageResult 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 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(); } + /** * 获取子任务个数 * diff --git a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/utils/BpmProcessInstanceConvert.java b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/utils/BpmProcessInstanceConvert.java index aea851d9f..e85fabfae 100644 --- a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/utils/BpmProcessInstanceConvert.java +++ b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/utils/BpmProcessInstanceConvert.java @@ -70,6 +70,41 @@ public interface BpmProcessInstanceConvert { return vpPageResult; } + default List buildProcessInstancePage(List instances, + Map processDefinitionMap, + Map categoryMap, + Map> taskMap, + Map userMap, + Map deptMap, + BusinessCommonFeignClient businessCommonFeignClient) { + List vpInstancesResult = BeanUtils.toBean(instances, BpmProcessInstanceVO.class); + for (int i = 0; i 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, diff --git a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/utils/BpmTaskConvert.java b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/utils/BpmTaskConvert.java index b93479263..369480a7c 100644 --- a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/utils/BpmTaskConvert.java +++ b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/utils/BpmTaskConvert.java @@ -72,6 +72,31 @@ public interface BpmTaskConvert { } + default List buildTodoTaskList(List taskList, + Map processInstanceMap, + Map 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()); + } + }); + + } + diff --git a/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/utils/TodoVOConvert.java b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/utils/TodoVOConvert.java new file mode 100644 index 000000000..c1cd3cab2 --- /dev/null +++ b/pqs-bpm/bpm-boot/src/main/java/com/njcn/bpm/utils/TodoVOConvert.java @@ -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 convertByBpmTaskVO(List 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 convertByBpmProcessInstance(List 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()); + + } +} diff --git a/pqs-common/common-db/pom.xml b/pqs-common/common-db/pom.xml index 7f60c489e..9bd677ae6 100644 --- a/pqs-common/common-db/pom.xml +++ b/pqs-common/common-db/pom.xml @@ -47,11 +47,22 @@ com.alibaba druid-spring-boot-starter + + + org.springframework.boot + spring-boot-starter-jdbc + mysql mysql-connector-java + + + com.dameng + DmJdbcDriver18 + 8.1.1.193 + com.baomidou @@ -61,4 +72,4 @@ - \ No newline at end of file + diff --git a/pqs-common/common-microservice/src/main/java/com/njcn/microservice/listener/NacosLogbackConfigLoader.java b/pqs-common/common-microservice/src/main/java/com/njcn/microservice/listener/NacosLogbackConfigLoader.java index 159e0590b..4b5689a20 100644 --- a/pqs-common/common-microservice/src/main/java/com/njcn/microservice/listener/NacosLogbackConfigLoader.java +++ b/pqs-common/common-microservice/src/main/java/com/njcn/microservice/listener/NacosLogbackConfigLoader.java @@ -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 entity = new HttpEntity<>(headers); - RestTemplate restTemplate = new RestTemplate(); - ResponseEntity 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 entity = new HttpEntity<>(headers); +// RestTemplate restTemplate = new RestTemplate(); +// ResponseEntity 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) { diff --git a/pqs-gateway/src/main/java/com/njcn/gateway/GatewayMain.java b/pqs-gateway/src/main/java/com/njcn/gateway/GatewayMain.java index 975d09fba..c6967b836 100644 --- a/pqs-gateway/src/main/java/com/njcn/gateway/GatewayMain.java +++ b/pqs-gateway/src/main/java/com/njcn/gateway/GatewayMain.java @@ -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) { diff --git a/pqs-gateway/src/main/resources/bootstrap.yml b/pqs-gateway/src/main/resources/bootstrap.yml index feb391344..77c7a9bf9 100644 --- a/pqs-gateway/src/main/resources/bootstrap.yml +++ b/pqs-gateway/src/main/resources/bootstrap.yml @@ -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/** diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/BusinessCommonFeignClient.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/BusinessCommonFeignClient.java index 262ab81fe..cc7031d84 100644 --- a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/BusinessCommonFeignClient.java +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/BusinessCommonFeignClient.java @@ -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 getInstanceInfo(@RequestParam("processKey") String processKey, @RequestParam("businessId") String businessId); + + /** + * 获取当前用户所有不通过的流程实例ID + */ + @GetMapping("/getAllRejectInstanceId") + HttpResult> getAllRejectInstanceId(); + + /** + * 获取当前用户部分待办业务,回显在待办列表中 + */ + @GetMapping("/getTodoBusiness") + HttpResult> getTodoBusiness(); } diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/fallback/BusinessCommonFeignClientFallbackFactory.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/fallback/BusinessCommonFeignClientFallbackFactory.java index f246d3238..a8039958b 100644 --- a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/fallback/BusinessCommonFeignClientFallbackFactory.java +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/api/fallback/BusinessCommonFeignClientFallbackFactory.java @@ -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> getAllRejectInstanceId() { + log.error("{}异常,降级处理,异常为:{}", "获取所有流程不通过实例id", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } + + @Override + public HttpResult> getTodoBusiness() { + log.error("{}异常,降级处理,异常为:{}", "获取当前用户部分待办业务", throwable.toString()); + throw new BusinessException(finalExceptionEnum); + } }; } } diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/enums/ProblemTypeEnum.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/enums/ProblemTypeEnum.java index 9c4adbe98..676aff3b1 100644 --- a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/enums/ProblemTypeEnum.java +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/enums/ProblemTypeEnum.java @@ -10,7 +10,7 @@ public enum ProblemTypeEnum { PLAN(1, "技术监督计划"), ONLINE(2, "在线监测超标问题"), USER(3, "用户投诉问题"), - SITE_TEST(4, "现场测试超标问题"); + SITE_TEST(4, "试运行监测点问题"); private final Integer code; diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/enums/SupervisionKeyEnum.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/enums/SupervisionKeyEnum.java index dbbec417a..f20843013 100644 --- a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/enums/SupervisionKeyEnum.java +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/enums/SupervisionKeyEnum.java @@ -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 getAllFullServicePath() { + List 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; diff --git a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/device/CheckDevice.java b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/device/CheckDevice.java index c317e675e..2cdfaa7ab 100644 --- a/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/device/CheckDevice.java +++ b/pqs-supervision/supervision-api/src/main/java/com/njcn/supervision/pojo/po/device/CheckDevice.java @@ -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; diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/BusinessCommonController.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/BusinessCommonController.java index 3c0b176e5..45ab9a643 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/BusinessCommonController.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/BusinessCommonController.java @@ -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 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> getAllRejectInstanceId() { + String methodDescribe = getMethodDescribe("getAllRejectInstanceId"); + Set instanceIdList = new HashSet<>(); + List 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> getTodoBusiness() { + String methodDescribe = getMethodDescribe("getTodoBusiness"); + List 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获取实现类对象 * diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/survey/SurveyPlanController.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/survey/SurveyPlanController.java index 2ee81ef66..5be53786d 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/survey/SurveyPlanController.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/survey/SurveyPlanController.java @@ -96,6 +96,7 @@ public class SurveyPlanController extends BaseController { public HttpResult getById(String id) { String methodDescribe = getMethodDescribe("getById"); SurveyPlanVO surveyPlanVO = surveyPlanService.getVOById(id); + System.out.println(surveyPlanVO); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, surveyPlanVO, methodDescribe); } diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/user/UserReportManageController.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/user/UserReportManageController.java index 5f2fc42d6..dd20b58a1 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/user/UserReportManageController.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/controller/user/UserReportManageController.java @@ -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 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 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) diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/CheckDeviceMapper.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/CheckDeviceMapper.java index 88da39a2c..435f134aa 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/CheckDeviceMapper.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/CheckDeviceMapper.java @@ -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; + /** *

* 终端周期检测表 Mapper 接口 @@ -21,4 +23,5 @@ public interface CheckDeviceMapper extends MppBaseMapper { CheckDeviceVo getInfo(@Param("id") String id); + List selectVOList(@Param("ew")QueryWrapper queryWrapper); } diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/CheckDeviceMapper.xml b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/CheckDeviceMapper.xml index 4167150c1..7c042b668 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/CheckDeviceMapper.xml +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/device/mapping/CheckDeviceMapper.xml @@ -35,4 +35,24 @@ where A.Id = #{id} + + + diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/leaflet/WarningLeafletMapper.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/leaflet/WarningLeafletMapper.java index 52abe7e67..3f6f17629 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/leaflet/WarningLeafletMapper.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/leaflet/WarningLeafletMapper.java @@ -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; + /** *

* 预告警单表 Mapper 接口 @@ -20,4 +22,6 @@ public interface WarningLeafletMapper extends BaseMapper { Page warningPageData(Page objectPage, @Param("ew") QueryWrapper warningLeafletVOQueryWrapper); Page alarmPageData(Page objectPage, @Param("ew") QueryWrapper warningLeafletVOQueryWrapper); + + List getTodoBusiness(@Param("ew")QueryWrapper queryWrapper); } diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/leaflet/mapping/WarningLeafletMapper.xml b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/leaflet/mapping/WarningLeafletMapper.xml index 0f93e7fb7..1cd657baa 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/leaflet/mapping/WarningLeafletMapper.xml +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/leaflet/mapping/WarningLeafletMapper.xml @@ -55,4 +55,30 @@ WHERE ${ew.sqlSegment} + + diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/user/UserReportPOMapper.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/user/UserReportPOMapper.java index 9c04068a8..3f519ecff 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/user/UserReportPOMapper.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/user/UserReportPOMapper.java @@ -19,4 +19,6 @@ public interface UserReportPOMapper extends BaseMapper { Page page(@Param("page")Page objectPage, @Param("ew") QueryWrapper userReportVOQueryWrapper); Page pageUpdate(@Param("page")Page objectPage, @Param("ew") QueryWrapper userReportVOQueryWrapper); + + UserReportVO getUserReportById(@Param("ew")QueryWrapper userReportVOQueryWrapper); } \ No newline at end of file diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/user/mapping/UserReportPOMapper.xml b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/user/mapping/UserReportPOMapper.xml index e3d7e21ee..446e9c1d3 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/user/mapping/UserReportPOMapper.xml +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/mapper/user/mapping/UserReportPOMapper.xml @@ -86,4 +86,32 @@ LEFT JOIN supervision_user_report_renewal r ON supervision_user_report.id=r.id WHERE ${ew.sqlSegment} + + + diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/ICheckDeviceService.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/ICheckDeviceService.java index e58043c37..05d07930f 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/ICheckDeviceService.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/ICheckDeviceService.java @@ -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; + /** *

* 终端周期检测表 服务类 @@ -41,4 +44,6 @@ public interface ICheckDeviceService extends IBpmService { * 取消 */ String cancel(BpmProcessInstanceCancelParam cancelReqVO); + + List getTodoBusiness(); } diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/CheckDeviceServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/CheckDeviceServiceImpl.java index 93c3d4cb4..7d0acb157 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/CheckDeviceServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/CheckDeviceServiceImpl.java @@ -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 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 getTodoBusiness() { + List todoVOList = new ArrayList<>(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + DeptGetLineParam deptGetLineParam = new DeptGetLineParam(); + deptGetLineParam.setDeptId(RequestUtil.getDeptIndex()); + List 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 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 getAllRejectInstanceIds() { + Set rejectInstanceIds = new HashSet<>(); + // 查询所有走了流程,但是流程状态为不通过的流程实例id + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(CheckDevice::getCreateBy, RequestUtil.getUserIndex()) + .eq(CheckDevice::getStatus, BpmProcessInstanceStatusEnum.REJECT.getStatus()) + .select(CheckDevice::getProcessInstanceId); + List checkDevices = this.baseMapper.selectList(lambdaQueryWrapper); + List result = checkDevices.stream().map(CheckDevice::getProcessInstanceId).collect(Collectors.toList()); + if(CollectionUtil.isNotEmpty(result)){ + rejectInstanceIds.addAll(result); + } + return rejectInstanceIds; + } } diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/QuitRunningDeviceServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/QuitRunningDeviceServiceImpl.java index e0ea3d3c5..8f18012a1 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/QuitRunningDeviceServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/QuitRunningDeviceServiceImpl.java @@ -266,6 +266,23 @@ public class QuitRunningDeviceServiceImpl extends ServiceImpl getAllRejectInstanceIds() { + Set rejectInstanceIds = new HashSet<>(); + //查询当前用户创建的createBy的流程审核不通过的 + LambdaQueryWrapper 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 quitRunningDevices = this.baseMapper.selectList(deviceLambdaQueryWrapper); + if (CollectionUtil.isNotEmpty(quitRunningDevices)) { + List 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); diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionDevMainReportPOServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionDevMainReportPOServiceImpl.java index bde723f4d..828199f88 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionDevMainReportPOServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionDevMainReportPOServiceImpl.java @@ -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 getAllRejectInstanceIds() { + Set rejectInstanceIds = new HashSet<>(); + //查询当前用户创建的createBy的流程审核不通过的 + LambdaQueryWrapper 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 supervisionDevMainReportPOS = this.baseMapper.selectList(supervisionDevMainReportPOLambdaQueryWrapper); + if (CollectionUtil.isNotEmpty(supervisionDevMainReportPOS)) { + List result = supervisionDevMainReportPOS.stream().map(SupervisionDevMainReportPO::getProcessInstanceId).collect(Collectors.toList()); + rejectInstanceIds.addAll(result); + } + return rejectInstanceIds; + } + @Override public String cancelDevMainReport(BpmProcessInstanceCancelParam cancelReqVO) { //准备取消该流程,需要远程调用接口 diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineDebugPOServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineDebugPOServiceImpl.java index 61fd88868..5d33c0e08 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineDebugPOServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineDebugPOServiceImpl.java @@ -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 getAllRejectInstanceIds() { + Set rejectInstanceIds = new HashSet<>(); + LambdaQueryWrapper 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 supervisionTempLineDebugPOS = this.baseMapper.selectList(lambdaQueryWrapper); + if (CollectionUtil.isNotEmpty(supervisionTempLineDebugPOS)) { + List result = supervisionTempLineDebugPOS.stream().map(SupervisionTempLineDebugPO::getProcessInstanceId).collect(Collectors.toList()); + rejectInstanceIds.addAll(result); + } + return rejectInstanceIds; + } + /** * @Description: 临时表台账数据同步到实际表中 * @Param: diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineReportServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineReportServiceImpl.java index 5053b3230..f9f18c38e 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineReportServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineReportServiceImpl.java @@ -231,6 +231,23 @@ public class SupervisionTempLineReportServiceImpl extends ServiceImpl getAllRejectInstanceIds() { + Set rejectInstanceIds = new HashSet<>(); + //查询当前用户创建的createBy的流程审核不通过的 + LambdaQueryWrapper 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 supervisionTempLineReports = this.baseMapper.selectList(supervisionTempLineReportLambdaQueryWrapper); + if (CollectionUtil.isNotEmpty(supervisionTempLineReports)) { + List result = supervisionTempLineReports.stream().map(SupervisionTempLineReport::getProcessInstanceId).collect(Collectors.toList()); + rejectInstanceIds.addAll(result); + } + return rejectInstanceIds; + } + @Override public String cancelTempLineReport(BpmProcessInstanceCancelParam cancelReqVO) { //准备取消该流程,需要远程调用接口 diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineRunTestServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineRunTestServiceImpl.java index 3fa9ca279..f444e9fa3 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineRunTestServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/device/impl/SupervisionTempLineRunTestServiceImpl.java @@ -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 getAllRejectInstanceIds() { + Set rejectInstanceIds = new HashSet<>(); + // 查询所有走了流程,但是流程状态为不通过的流程实例id + LambdaQueryWrapper 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 supervisionTempLineRunTestPOList = this.baseMapper.selectList(lambdaQueryWrapper); + List 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 { Boolean deleteWarningLeaflet(List supervisionId); + List getTodoBusiness(); } diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/leaflet/impl/WarningLeafletServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/leaflet/impl/WarningLeafletServiceImpl.java index fd829dc62..af22e8931 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/leaflet/impl/WarningLeafletServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/leaflet/impl/WarningLeafletServiceImpl.java @@ -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 processInstanceVariables = new HashMap<>(); BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO(); @@ -176,7 +179,7 @@ public class WarningLeafletServiceImpl extends ServiceImpl getAllRejectInstanceIds() { + Set rejectInstanceIds = new HashSet<>(); + // 查询所有走了流程,但是流程状态为不通过的流程实例id + LambdaQueryWrapper 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 warningLeaflets = this.baseMapper.selectList(lambdaQueryWrapper); + List result = warningLeaflets.stream().map(WarningLeaflet::getProcessInstanceId).collect(Collectors.toList()); + if (CollectionUtil.isNotEmpty(result)) { + rejectInstanceIds.addAll(result); + } + return rejectInstanceIds; + } + @Override public Page alarmPageData(WarningLeafletParam.WarningLeafletQueryParam warningLeafletQueryParam) { QueryWrapper warningLeafletVOQueryWrapper = new QueryWrapper<>(); @@ -302,14 +323,14 @@ public class WarningLeafletServiceImpl extends ServiceImpl getTodoBusiness() { + List todoVOList = new ArrayList<>(); + QueryWrapper queryWrapper = new QueryWrapper<>(); + List 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 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 = ""; diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/plan/impl/SupervisionPlanPOServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/plan/impl/SupervisionPlanPOServiceImpl.java index 4b57f1370..130176d88 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/plan/impl/SupervisionPlanPOServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/plan/impl/SupervisionPlanPOServiceImpl.java @@ -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 getAllRejectInstanceIds() { + Set rejectInstanceIds = new HashSet<>(); + // 查询所有走了流程,但是流程状态为不通过的流程实例id + LambdaQueryWrapper 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 supervisionPlanPOS = this.baseMapper.selectList(lambdaQueryWrapper); + List result = supervisionPlanPOS.stream().map(SupervisionPlanPO::getProcessInstanceId).collect(Collectors.toList()); + if(CollectionUtil.isNotEmpty(result)){ + rejectInstanceIds.addAll(result); + } + return rejectInstanceIds; + } + @Override @Deprecated @Transactional(rollbackFor = Exception.class) diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/survey/impl/SupervisionGeneralSurveyPlanPOServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/survey/impl/SupervisionGeneralSurveyPlanPOServiceImpl.java index 79e274e04..3aacb7b05 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/survey/impl/SupervisionGeneralSurveyPlanPOServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/survey/impl/SupervisionGeneralSurveyPlanPOServiceImpl.java @@ -327,6 +327,14 @@ public class SupervisionGeneralSurveyPlanPOServiceImpl extends ServiceImpl getAllRejectInstanceIds() { + return new HashSet<>(); + } + @Override public String cancelGeneralSurvey(BpmProcessInstanceCancelParam cancelReqVO) { //准备取消该流程,需要远程调用接口 diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/survey/impl/SurveyPlanServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/survey/impl/SurveyPlanServiceImpl.java index 5ef375bf4..1ea6b0a39 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/survey/impl/SurveyPlanServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/survey/impl/SurveyPlanServiceImpl.java @@ -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 getAllRejectInstanceIds() { + Set rejectInstanceIds = new HashSet<>(); + // 查询所有走了流程,但是流程状态为不通过的流程实例id + LambdaQueryWrapper 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 surveyPlanList = this.baseMapper.selectList(lambdaQueryWrapper); + List 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); diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/survey/impl/SurveyTestServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/survey/impl/SurveyTestServiceImpl.java index 214540126..64f9d8ef4 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/survey/impl/SurveyTestServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/survey/impl/SurveyTestServiceImpl.java @@ -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 getAllRejectInstanceIds() { + Set rejectInstanceIds = new HashSet<>(); + // 查询所有走了流程,但是流程状态为不通过的流程实例id + LambdaQueryWrapper 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 surveyTestList = this.baseMapper.selectList(lambdaQueryWrapper); + List 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(); diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/IUserReportNormalService.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/IUserReportNormalService.java index 0998eb0b7..4a3c661ef 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/IUserReportNormalService.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/IUserReportNormalService.java @@ -31,4 +31,5 @@ public interface IUserReportNormalService extends IBpmService { Page getUserReport(UserReportParam.UserReportQueryParam userReportQueryParam); + UserReportVO getUserReportById(String id); + Boolean removeUserReport(List ids); UserReportVO.UserReportListVO getVOById(String id); diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportDeleteServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportDeleteServiceImpl.java index e5a8dfea7..32dc1cf85 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportDeleteServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportDeleteServiceImpl.java @@ -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 getAllRejectInstanceIds() { + return new HashSet<>(); + } + @Override @Transactional(rollbackFor = Exception.class) public String addEditor(UserReportParam userReportParam) { diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportNormalServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportNormalServiceImpl.java index eb4cc28a5..65d696a9d 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportNormalServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportNormalServiceImpl.java @@ -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 getAllRejectInstanceIds() { + Set rejectInstanceIds = new HashSet<>(); + //查询当前用户创建的createBy的流程审核不通过的 + LambdaQueryWrapper 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 userReportNormalPOList = this.baseMapper.selectList(lambdaQueryWrapper); + if (CollectionUtil.isNotEmpty(userReportNormalPOList)) { + List 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 list = this.baseMapper.selectList(new LambdaQueryWrapper() + .eq(UserReportNormalPO::getUserReportId, userReportNormalServiceById.getUserReportId()) + .eq(UserReportNormalPO::getStatus, BpmTaskStatusEnum.APPROVE.getStatus()) + .eq(UserReportNormalPO::getState, DataStateEnum.ENABLE.getCode()) + .orderByDesc(UserReportNormalPO::getCreateTime) + ); + Optional netInReport = list.stream().filter(x -> 0 == x.getType()).map(UserReportNormalPO::getReportUrl).findFirst(); + Optional 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; + } } diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportPOServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportPOServiceImpl.java index 65788c4fe..4b2e9a0ca 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportPOServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportPOServiceImpl.java @@ -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(PageFactory.getPageNum(userReportQueryParam), PageFactory.getPageSize(userReportQueryParam)), userReportVOQueryWrapper); } + @Override + public UserReportVO getUserReportById(String id) { + QueryWrapper userReportVOQueryWrapper = new QueryWrapper<>(); + userReportVOQueryWrapper.eq("supervision_user_report.id", id); + return this.baseMapper.getUserReportById(userReportVOQueryWrapper); + + } + @Override public Boolean removeUserReport(List ids) { this.lambdaUpdate().set(UserReportPO::getState, 0).in(UserReportPO::getId, ids).update(); @@ -413,6 +422,23 @@ public class UserReportPOServiceImpl extends ServiceImpl getAllRejectInstanceIds() { + Set rejectInstanceIds = new HashSet<>(); + // 查询所有走了流程,但是流程状态为不通过的流程实例id + LambdaQueryWrapper 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 userReportPOList = this.baseMapper.selectList(lambdaQueryWrapper); + List result = userReportPOList.stream().map(UserReportPO::getProcessInstanceId).collect(Collectors.toList()); + if(CollectionUtil.isNotEmpty(result)){ + rejectInstanceIds.addAll(result); + } + return rejectInstanceIds; + } + @Override public List getUserReportList() { String deptIndex = RequestUtil.getDeptIndex(); diff --git a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportRenewalServiceImpl.java b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportRenewalServiceImpl.java index a5e71f218..140f2a1e4 100644 --- a/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportRenewalServiceImpl.java +++ b/pqs-supervision/supervision-boot/src/main/java/com/njcn/supervision/service/user/impl/UserReportRenewalServiceImpl.java @@ -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; /** *

@@ -82,6 +83,23 @@ public class UserReportRenewalServiceImpl extends ServiceImpl getAllRejectInstanceIds() { + Set rejectInstanceIds = new HashSet<>(); + // 查询所有走了流程,但是流程状态为不通过的流程实例id + LambdaQueryWrapper 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 userReportRenewalPOList = this.baseMapper.selectList(lambdaQueryWrapper); + List 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