diff --git a/pqs-process/process-api/src/main/java/com/njcn/process/enums/AuditProcessEnum.java b/pqs-process/process-api/src/main/java/com/njcn/process/enums/AuditProcessEnum.java index 4717e0356..75864d67a 100644 --- a/pqs-process/process-api/src/main/java/com/njcn/process/enums/AuditProcessEnum.java +++ b/pqs-process/process-api/src/main/java/com/njcn/process/enums/AuditProcessEnum.java @@ -17,8 +17,7 @@ public enum AuditProcessEnum { WaitAudit(1,"待审核"), AuditPass(2,"审核通过"), AuditRefuse(3,"审核未通过"), - Release(4,"已发布"), - Finish(5,"已完成") + Release(4,"已完成") ; diff --git a/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/FlowableAss.java b/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/FlowableAss.java index c55969e5f..ffefab7f2 100644 --- a/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/FlowableAss.java +++ b/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/FlowableAss.java @@ -34,7 +34,7 @@ public class FlowableAss{ private String proIndex; /** - * 步骤主键 + * 每个流程唯一id, */ private String execIndex; diff --git a/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/RGeneralSurveyPlanPO.java b/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/RGeneralSurveyPlanPO.java index ee961fa0c..8beee563d 100644 --- a/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/RGeneralSurveyPlanPO.java +++ b/pqs-process/process-api/src/main/java/com/njcn/process/pojo/po/RGeneralSurveyPlanPO.java @@ -1,6 +1,7 @@ package com.njcn.process.pojo.po; import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import com.github.jeffreyning.mybatisplus.anno.MppMultiId; @@ -83,7 +84,7 @@ public class RGeneralSurveyPlanPO { private String leader; /** - * 计划状态(0:新建 1:待审核 2:审核未通过 3:已发布 4:已完成) + * 计划状态(0:新建 1:待审核 2:审核未通过 3.审核未通过 4:已完成) */ @TableField(value = "status") private int status; diff --git a/pqs-process/process-boot/src/main/java/com/njcn/process/controller/RGeneralSurveyPlanController.java b/pqs-process/process-boot/src/main/java/com/njcn/process/controller/RGeneralSurveyPlanController.java index 7580c9e52..b5a3da133 100644 --- a/pqs-process/process-boot/src/main/java/com/njcn/process/controller/RGeneralSurveyPlanController.java +++ b/pqs-process/process-boot/src/main/java/com/njcn/process/controller/RGeneralSurveyPlanController.java @@ -137,6 +137,17 @@ public class RGeneralSurveyPlanController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rGeneralSurveyPlanVOS, methodDescribe); } + + @OperateInfo(info = LogEnum.BUSINESS_COMMON) + @PostMapping("/queryPlanOne") + @ApiOperation("查询普测计划详情") + @ApiImplicitParam(name = "planId", value = "计划id", required = true) + public HttpResult queryPlanOne(@RequestParam("planId")String planId) { + String methodDescribe = getMethodDescribe("queryPlanOne"); + RGeneralSurveyPlanVO rGeneralSurveyPlanVO = rGeneralSurveyPlanPOService.queryPlanOne( planId); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, rGeneralSurveyPlanVO, methodDescribe); + } + @OperateInfo(info = LogEnum.BUSINESS_COMMON) @PostMapping("/queryPlanAudit") @ApiOperation("查询普测计划-审核页面") @@ -281,4 +292,19 @@ public class RGeneralSurveyPlanController extends BaseController { return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe); } + + + /** + * 删除新建驳回的计划 + * @author cdf + * @date 2024/4/7 + */ + @ApiOperation("删除计划") + @PostMapping(value = "deletePlan") + @ApiImplicitParam(name = "planIds", value = "实体参数", required = true) + public HttpResult deletePlan(@RequestBody List planIds) { + String methodDescribe = getMethodDescribe("deletePlan"); + rGeneralSurveyPlanPOService.deletePlan(planIds); + return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe); + } } diff --git a/pqs-process/process-boot/src/main/java/com/njcn/process/controller/flowable/FlowInstanceController.java b/pqs-process/process-boot/src/main/java/com/njcn/process/controller/flowable/FlowInstanceController.java index ded6bf707..74b2c639e 100644 --- a/pqs-process/process-boot/src/main/java/com/njcn/process/controller/flowable/FlowInstanceController.java +++ b/pqs-process/process-boot/src/main/java/com/njcn/process/controller/flowable/FlowInstanceController.java @@ -72,7 +72,7 @@ public class FlowInstanceController extends BaseController { String methodDescribe = getMethodDescribe("delete"); - flowInstanceService.delete(instanceIds,"测试删除666"); + flowInstanceService.delete(instanceIds,"测试删除"); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, methodDescribe); diff --git a/pqs-process/process-boot/src/main/java/com/njcn/process/service/RGeneralSurveyPlanPOService.java b/pqs-process/process-boot/src/main/java/com/njcn/process/service/RGeneralSurveyPlanPOService.java index 62706388c..3283d8f5c 100644 --- a/pqs-process/process-boot/src/main/java/com/njcn/process/service/RGeneralSurveyPlanPOService.java +++ b/pqs-process/process-boot/src/main/java/com/njcn/process/service/RGeneralSurveyPlanPOService.java @@ -6,6 +6,7 @@ import com.njcn.minioss.bo.MinIoUploadResDTO; import com.njcn.process.pojo.param.*; import com.njcn.process.pojo.po.RGeneralSurveyPlanPO; import com.njcn.process.pojo.vo.*; +import liquibase.pro.packaged.S; import java.util.List; @@ -37,6 +38,9 @@ public interface RGeneralSurveyPlanPOService extends IMppService query(RGeneralSurveyPlanQueryParm rGeneralSurveyPlanQueryParm, List statusList, String type); + + RGeneralSurveyPlanVO queryPlanOne(String planId); + /** * @Description: surveyResultUpload * @Param: [surveyResultUploadParam] @@ -106,4 +110,7 @@ public interface RGeneralSurveyPlanPOService extends IMppService planIds); } diff --git a/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/RGeneralSurveyPlanPOServiceImpl.java b/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/RGeneralSurveyPlanPOServiceImpl.java index 9637b9109..3f98a13b2 100644 --- a/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/RGeneralSurveyPlanPOServiceImpl.java +++ b/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/RGeneralSurveyPlanPOServiceImpl.java @@ -27,6 +27,7 @@ import com.njcn.process.pojo.vo.flowable.FlowTaskVo; import com.njcn.process.service.RGeneralSurveyPlanDetailService; import com.njcn.process.service.RGeneralSurveyPlanPOService; import com.njcn.process.service.flowable.IFlowDefinitionService; +import com.njcn.process.service.flowable.IFlowInstanceService; import com.njcn.process.service.flowable.IFlowTaskService; import com.njcn.process.service.impl.flowable.FlowDefinitionServiceImpl; @@ -35,6 +36,7 @@ import com.njcn.user.api.UserFeignClient; import com.njcn.user.pojo.po.Dept; import com.njcn.user.pojo.po.User; import com.njcn.user.pojo.vo.PvTerminalTreeVO; +import com.njcn.user.pojo.vo.UserVO; import com.njcn.web.utils.RequestUtil; import liquibase.pro.packaged.S; import lombok.RequiredArgsConstructor; @@ -75,6 +77,8 @@ public class RGeneralSurveyPlanPOServiceImpl extends MppServiceImpl() .eq(RGeneralSurveyPlanPO::getPlanNo, rGeneralSurveyPlanAddParm.getPlanNo())); @@ -119,9 +122,9 @@ public class RGeneralSurveyPlanPOServiceImpl extends MppServiceImpl().eq(RGeneralSurveyPlanPO::getPlanNo, planId)); + + LambdaQueryWrapper lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(RGeneralSurveyPlanDetail::getPlanNo, planId); + List rGeneralSurveyPlanDetails = rGeneralSurveyPlanDetailMapper.selectList(lambdaQueryWrapper); + + RGeneralSurveyPlanVO rGeneralSurveyPlanVO = new RGeneralSurveyPlanVO(); + BeanUtils.copyProperties(rGeneralSurveyPlanPO, rGeneralSurveyPlanVO); + + rGeneralSurveyPlanVO.setSubCount(rGeneralSurveyPlanDetails.size()); + rGeneralSurveyPlanVO.setSubIds(rGeneralSurveyPlanDetails.stream().map(RGeneralSurveyPlanDetail::getSubId).collect(Collectors.toList())); + rGeneralSurveyPlanVO.setIsFileUpload(ObjectUtil.isNull(rGeneralSurveyPlanPO.getIsFileUpload()) ? 0 : rGeneralSurveyPlanPO.getIsFileUpload()); + + + Dept dept = deptFeignClient.getDeptById(rGeneralSurveyPlanPO.getOrgNo()).getData(); + UserVO user = userFeignClient.getUserById(rGeneralSurveyPlanPO.getCreatePerson()).getData(); + + rGeneralSurveyPlanVO.setOrgName(dept.getName()); //单位名称 + rGeneralSurveyPlanVO.setCreatePersonName(user.getName()); + + if (StrUtil.isNotBlank(rGeneralSurveyPlanPO.getCheckPerson())) { + UserVO checkUser = userFeignClient.getUserById(rGeneralSurveyPlanPO.getCheckPerson()).getData(); + rGeneralSurveyPlanVO.setCheckPerson(checkUser.getName()); + } + + return rGeneralSurveyPlanVO; + } + /** * @param surveyResultUploadParam * @Description: surveyResultUpload @@ -432,8 +466,8 @@ public class RGeneralSurveyPlanPOServiceImpl extends MppServiceImpl().eq(FlowableAss::getThsIndex,rGeneralSurveyPlanChcekParm.getPlanNo())); + FlowableAss flowableAss = flowableAssMapper.selectOne(new LambdaQueryWrapper().eq(FlowableAss::getThsIndex, rGeneralSurveyPlanChcekParm.getPlanNo())); String auditResult = Objects.equals("1", rGeneralSurveyPlanChcekParm.getCheckResult()) ? "同意" : "拒绝"; - if(Objects.equals("0", rGeneralSurveyPlanChcekParm.getCheckResult())){ + + Task task = iFlowTaskService.getTask(flowableAss.getExecIndex()); + FlowTaskVo flowTaskVo = new FlowTaskVo(); + flowTaskVo.setTaskId(task.getId()); + flowTaskVo.setComment(RequestUtil.getUserNickname() + auditResult + " 编号为" + rGeneralSurveyPlanChcekParm.getPlanNo() + "的计划,理由:" + rGeneralSurveyPlanChcekParm.getCheckComment()); + + if (Objects.equals("0", rGeneralSurveyPlanChcekParm.getCheckResult())) { //拒绝,则回退到申请步骤 - Task task = iFlowTaskService.getTask(flowableAss.getExecIndex()); - FlowTaskVo flowTaskVo = new FlowTaskVo(); - flowTaskVo.setTaskId(task.getId()); - flowTaskVo.setComment(rGeneralSurveyPlanChcekParm.getCheckComment()); iFlowTaskService.taskReject(flowTaskVo); - - - }else { - Task task = iFlowTaskService.getTask(flowableAss.getExecIndex()); - FlowTaskVo flowTaskVo = new FlowTaskVo(); - flowTaskVo.setTaskId(task.getId()); - + } else { + //同意 flowTaskVo.setInstanceId(flowableAss.getExecIndex()); - flowTaskVo.setComment(RequestUtil.getUserNickname() + auditResult+"编号为"+rGeneralSurveyPlanChcekParm.getPlanNo()+"的计划,结论:"+rGeneralSurveyPlanChcekParm.getCheckComment()); - - - Map map = new HashMap<>(); - map.put("auditFlag",1); + Map map = new HashMap<>(); + map.put("auditFlag", 1); flowTaskVo.setVariables(map); iFlowTaskService.complete(flowTaskVo); - } - - - return result; } @@ -691,8 +715,8 @@ public class RGeneralSurveyPlanPOServiceImpl extends MppServiceImpl().eq(FlowableAss::getThsIndex,planId)); - if(Objects.nonNull(flowableAss)){ + FlowableAss flowableAss = flowableAssMapper.selectOne(new LambdaQueryWrapper().eq(FlowableAss::getThsIndex, planId)); + if (Objects.nonNull(flowableAss)) { //不为空则认为是驳回后的重新发起 Task task = iFlowTaskService.getTask(flowableAss.getExecIndex()); FlowTaskVo flowTaskVo = new FlowTaskVo(); @@ -706,10 +730,10 @@ public class RGeneralSurveyPlanPOServiceImpl extends MppServiceImpl().eq(FlowFormAss::getFormId,1)); - if(Objects.isNull(flowFormAss)){ + FlowFormAss flowFormAss = flowFormAssMapper.selectOne(new LambdaQueryWrapper().eq(FlowFormAss::getFormId, 1)); + if (Objects.isNull(flowFormAss)) { throw new BusinessException("当前功能未绑定流程,请先绑定流程"); } @@ -718,7 +742,6 @@ public class RGeneralSurveyPlanPOServiceImpl extends MppServiceImpl planIds) { + //判断是否满足删除条件 + long count = this.lambdaQuery().in(RGeneralSurveyPlanPO::getPlanNo, planIds).notIn(RGeneralSurveyPlanPO::getStatus, Stream.of(AuditProcessEnum.New.getStatus(), AuditProcessEnum.AuditRefuse.getStatus()).collect(Collectors.toList())).count(); + if (count > 0) { + throw new BusinessException("无法删除新建和未通过状态之外的计划"); + } + this.remove(new LambdaQueryWrapper().in(RGeneralSurveyPlanPO::getPlanNo, planIds)); + //删除相关的电站关联信息 + + rGeneralSurveyPlanDetailMapper.delete(new LambdaQueryWrapper().in(RGeneralSurveyPlanDetail::getPlanNo, planIds)); + + //删除同时如果是驳回状态需要同时删除流程 + for (String plan : planIds) { + FlowableAss flowableAss = flowableAssMapper.selectOne(new LambdaQueryWrapper().eq(FlowableAss::getThsIndex, plan)); + if (Objects.nonNull(flowableAss)) { + iFlowInstanceService.delete(flowableAss.getExecIndex(), "测试删除"); + flowableAssMapper.deleteById(flowableAss.getThsIndex()); + } + + + } + return true; + } + + public List recursion(DeptSubstationVO result, String orgdid) { List deptSubstationVOList = new ArrayList<>(); if (Objects.equals(result.getId(), orgdid)) { diff --git a/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/flowable/FlowTaskServiceImpl.java b/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/flowable/FlowTaskServiceImpl.java index 0e6e45523..6e8659052 100644 --- a/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/flowable/FlowTaskServiceImpl.java +++ b/pqs-process/process-boot/src/main/java/com/njcn/process/service/impl/flowable/FlowTaskServiceImpl.java @@ -88,7 +88,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask try { List flowViewerList = new ArrayList<>(); // 获取已经完成的节点 - List listFinished = historyService.createHistoricActivityInstanceQuery() + /* List listFinished = historyService.createHistoricActivityInstanceQuery() .processInstanceId(procInsId) .finished() .list(); @@ -99,7 +99,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask flowViewerDto.setKey(s.getActivityId()); flowViewerDto.setCompleted(true); flowViewerList.add(flowViewerDto); - }); + });*/ // 获取代办节点 List listUnFinished = historyService.createHistoricActivityInstanceQuery() @@ -225,11 +225,11 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask flowTask.setTaskName(taskList.get(0).getName()); if (StringUtils.isNotBlank(taskList.get(0).getAssignee())) { // 当前任务节点办理人信息 - List userList = userFeignClient.getUserByIdList(Stream.of(taskList.get(0).getAssignee()).collect(Collectors.toList())).getData(); - if (CollectionUtil.isNotEmpty(userList)) { - flowTask.setAssigneeId(userList.get(0).getId()); - flowTask.setAssigneeName(userList.get(0).getName()); - flowTask.setAssigneeDeptName(Objects.nonNull(userList.get(0).getDeptId()) ? userList.get(0).getDeptId() : ""); + UserVO user = userFeignClient.getUserById(taskList.get(0).getAssignee()).getData(); + if (Objects.nonNull(user)) { + flowTask.setAssigneeId(user.getId()); + flowTask.setAssigneeName(user.getName()); + flowTask.setAssigneeDeptName(user.getDeptName()); } } } else {