草稿功能
This commit is contained in:
@@ -31,7 +31,7 @@ public enum BpmTaskStatusEnum {
|
|||||||
* 1. 任务被向前【加签】时,它会变成 WAIT 状态,需要等待【加签】出来的任务被审批后,它才能继续变为 RUNNING 继续审批
|
* 1. 任务被向前【加签】时,它会变成 WAIT 状态,需要等待【加签】出来的任务被审批后,它才能继续变为 RUNNING 继续审批
|
||||||
* 2. 任务被向后【加签】时,【加签】出来的任务处于 WAIT 状态,它们需要等待该任务被审批后,它们才能继续变为 RUNNING 继续审批
|
* 2. 任务被向后【加签】时,【加签】出来的任务处于 WAIT 状态,它们需要等待该任务被审批后,它们才能继续变为 RUNNING 继续审批
|
||||||
*/
|
*/
|
||||||
WAIT(0, "待审批");
|
WAIT(0, "待提交审批");
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 状态
|
* 状态
|
||||||
|
|||||||
@@ -10,7 +10,7 @@ import java.util.Objects;
|
|||||||
@Getter
|
@Getter
|
||||||
public enum FlowStatusEnum {
|
public enum FlowStatusEnum {
|
||||||
|
|
||||||
NEW(0, "新建"),
|
NEW(0, "待提交审批"),
|
||||||
AUDIT(1, "审批中"),
|
AUDIT(1, "审批中"),
|
||||||
APPROVE(2, "审批通过"),
|
APPROVE(2, "审批通过"),
|
||||||
OPPOSE(3, "审批不通过"),
|
OPPOSE(3, "审批不通过"),
|
||||||
|
|||||||
@@ -23,7 +23,10 @@ import java.util.Map;
|
|||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
public class SupervisionDevMainReportParam {
|
public class SupervisionDevMainReportParam {
|
||||||
|
|
||||||
|
private String id;
|
||||||
|
|
||||||
|
@ApiModelProperty(value = "保存1,提交审批2")
|
||||||
|
private String saveOrCheckflag;
|
||||||
/**
|
/**
|
||||||
* 填报人
|
* 填报人
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
package com.njcn.supervision.pojo.param.user;
|
package com.njcn.supervision.pojo.param.user;
|
||||||
|
|
||||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||||
import com.njcn.db.bo.BaseEntity;
|
|
||||||
import com.njcn.supervision.pojo.po.user.UserReportProjectPO;
|
import com.njcn.supervision.pojo.po.user.UserReportProjectPO;
|
||||||
import com.njcn.supervision.pojo.po.user.UserReportSensitivePO;
|
import com.njcn.supervision.pojo.po.user.UserReportSensitivePO;
|
||||||
import com.njcn.supervision.pojo.po.user.UserReportSubstationPO;
|
import com.njcn.supervision.pojo.po.user.UserReportSubstationPO;
|
||||||
@@ -29,6 +28,7 @@ import java.util.Map;
|
|||||||
@NoArgsConstructor
|
@NoArgsConstructor
|
||||||
public class UserReportParam {
|
public class UserReportParam {
|
||||||
|
|
||||||
|
private String id;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 填报人
|
* 填报人
|
||||||
@@ -112,6 +112,8 @@ public class UserReportParam {
|
|||||||
|
|
||||||
@ApiModelProperty("发起人自选审批人 Map")
|
@ApiModelProperty("发起人自选审批人 Map")
|
||||||
private Map<String, List<String>> startUserSelectAssignees;
|
private Map<String, List<String>> startUserSelectAssignees;
|
||||||
|
@ApiModelProperty(value = "保存1,提交审批2")
|
||||||
|
private String saveOrCheckflag;
|
||||||
|
|
||||||
|
|
||||||
private UserReportProjectPO userReportProjectPO;
|
private UserReportProjectPO userReportProjectPO;
|
||||||
|
|||||||
@@ -27,7 +27,6 @@ import com.njcn.supervision.pojo.param.device.SupervisionTempLineDebugParam;
|
|||||||
import com.njcn.supervision.pojo.po.device.SupervisionTempDeviceReport;
|
import com.njcn.supervision.pojo.po.device.SupervisionTempDeviceReport;
|
||||||
import com.njcn.supervision.pojo.po.device.SupervisionTempLineDebugPO;
|
import com.njcn.supervision.pojo.po.device.SupervisionTempLineDebugPO;
|
||||||
import com.njcn.supervision.pojo.po.device.SupervisionTempLineReport;
|
import com.njcn.supervision.pojo.po.device.SupervisionTempLineReport;
|
||||||
import com.njcn.supervision.pojo.vo.device.CheckDeviceVo;
|
|
||||||
import com.njcn.supervision.pojo.vo.device.SupervisionDevMainReportVO;
|
import com.njcn.supervision.pojo.vo.device.SupervisionDevMainReportVO;
|
||||||
import com.njcn.supervision.pojo.vo.device.SupervisionTempLineDebugVO;
|
import com.njcn.supervision.pojo.vo.device.SupervisionTempLineDebugVO;
|
||||||
import com.njcn.supervision.service.device.SupervisionDevMainReportPOService;
|
import com.njcn.supervision.service.device.SupervisionDevMainReportPOService;
|
||||||
@@ -95,7 +94,7 @@ public class SupervisionTempLineDebugPOServiceImpl extends ServiceImpl<Supervisi
|
|||||||
BeanUtils.copyProperties(supervisionTempLineReportParam,supervisionTempLineDebugPO);
|
BeanUtils.copyProperties(supervisionTempLineReportParam,supervisionTempLineDebugPO);
|
||||||
supervisionTempLineDebugPO.setState(DataStateEnum.ENABLE.getCode());
|
supervisionTempLineDebugPO.setState(DataStateEnum.ENABLE.getCode());
|
||||||
supervisionTempLineDebugPO.setStatus(BpmTaskStatusEnum.RUNNING.getStatus());
|
supervisionTempLineDebugPO.setStatus(BpmTaskStatusEnum.RUNNING.getStatus());
|
||||||
this.save(supervisionTempLineDebugPO);
|
this.saveOrUpdate(supervisionTempLineDebugPO);
|
||||||
String id = supervisionTempLineDebugPO.getId();
|
String id = supervisionTempLineDebugPO.getId();
|
||||||
// 发起 BPM 流程
|
// 发起 BPM 流程
|
||||||
Map<String, Object> processInstanceVariables = new HashMap<>();
|
Map<String, Object> processInstanceVariables = new HashMap<>();
|
||||||
@@ -153,7 +152,7 @@ public class SupervisionTempLineDebugPOServiceImpl extends ServiceImpl<Supervisi
|
|||||||
queryWrapper.in("supervision_temp_line_report.org_id", data);
|
queryWrapper.in("supervision_temp_line_report.org_id", data);
|
||||||
}
|
}
|
||||||
if (Objects.nonNull(supervisionTempLineDebugQuery.getStatus())) {
|
if (Objects.nonNull(supervisionTempLineDebugQuery.getStatus())) {
|
||||||
queryWrapper.eq("supervision_temp_line_report.status", supervisionTempLineDebugQuery.getStatus());
|
queryWrapper.eq("supervision_temp_line_debug.status", supervisionTempLineDebugQuery.getStatus());
|
||||||
}
|
}
|
||||||
if (StrUtil.isNotBlank(supervisionTempLineDebugQuery.getSearchValue())) {
|
if (StrUtil.isNotBlank(supervisionTempLineDebugQuery.getSearchValue())) {
|
||||||
queryWrapper.and(x->x
|
queryWrapper.and(x->x
|
||||||
|
|||||||
@@ -19,8 +19,10 @@ import com.njcn.common.pojo.exception.BusinessException;
|
|||||||
import com.njcn.supervision.enums.FlowStatusEnum;
|
import com.njcn.supervision.enums.FlowStatusEnum;
|
||||||
import com.njcn.supervision.enums.SupervisionKeyEnum;
|
import com.njcn.supervision.enums.SupervisionKeyEnum;
|
||||||
import com.njcn.supervision.enums.SupervisionUserStatusEnum;
|
import com.njcn.supervision.enums.SupervisionUserStatusEnum;
|
||||||
|
import com.njcn.supervision.mapper.device.SupervisionTempLineDebugPOMapper;
|
||||||
import com.njcn.supervision.mapper.device.SupervisionTempLineReportMapper;
|
import com.njcn.supervision.mapper.device.SupervisionTempLineReportMapper;
|
||||||
import com.njcn.supervision.pojo.param.device.SupervisionTempLineReportParam;
|
import com.njcn.supervision.pojo.param.device.SupervisionTempLineReportParam;
|
||||||
|
import com.njcn.supervision.pojo.po.device.SupervisionTempLineDebugPO;
|
||||||
import com.njcn.supervision.pojo.po.device.SupervisionTempLineReport;
|
import com.njcn.supervision.pojo.po.device.SupervisionTempLineReport;
|
||||||
import com.njcn.supervision.pojo.vo.device.CheckDeviceVo;
|
import com.njcn.supervision.pojo.vo.device.CheckDeviceVo;
|
||||||
import com.njcn.supervision.pojo.vo.device.SupervisionTempLineReportVO;
|
import com.njcn.supervision.pojo.vo.device.SupervisionTempLineReportVO;
|
||||||
@@ -62,6 +64,8 @@ public class SupervisionTempLineReportServiceImpl extends ServiceImpl<Supervisio
|
|||||||
private final UserFeignClient userFeignClient;
|
private final UserFeignClient userFeignClient;
|
||||||
private final DictTreeFeignClient dictTreeFeignClient;
|
private final DictTreeFeignClient dictTreeFeignClient;
|
||||||
private final UserReportPOService userReportPOService;
|
private final UserReportPOService userReportPOService;
|
||||||
|
private final SupervisionTempLineDebugPOMapper supervisionTempLineDebugPOMapper;
|
||||||
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
@@ -162,6 +166,13 @@ public class SupervisionTempLineReportServiceImpl extends ServiceImpl<Supervisio
|
|||||||
this.lambdaUpdate().set(SupervisionTempLineReport::getStatus,status).eq(SupervisionTempLineReport::getId,businessKey).update();
|
this.lambdaUpdate().set(SupervisionTempLineReport::getStatus,status).eq(SupervisionTempLineReport::getId,businessKey).update();
|
||||||
if(status.equals(BpmProcessInstanceStatusEnum.APPROVE.getStatus())){
|
if(status.equals(BpmProcessInstanceStatusEnum.APPROVE.getStatus())){
|
||||||
userReportPOService.updateUserStatus(businessKey, SupervisionUserStatusEnum.BUILD.getCode());
|
userReportPOService.updateUserStatus(businessKey, SupervisionUserStatusEnum.BUILD.getCode());
|
||||||
|
//新增监测点联调
|
||||||
|
SupervisionTempLineDebugPO supervisionTempLineDebugPO = new SupervisionTempLineDebugPO();
|
||||||
|
supervisionTempLineDebugPO.setId(businessKey);
|
||||||
|
|
||||||
|
supervisionTempLineDebugPO.setState(DataStateEnum.ENABLE.getCode());
|
||||||
|
supervisionTempLineDebugPO.setStatus(BpmTaskStatusEnum.WAIT.getStatus());
|
||||||
|
supervisionTempLineDebugPOMapper.insert(supervisionTempLineDebugPO);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -22,7 +22,6 @@ import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
|||||||
import com.njcn.common.pojo.exception.BusinessException;
|
import com.njcn.common.pojo.exception.BusinessException;
|
||||||
import com.njcn.device.pms.utils.PubUtil;
|
import com.njcn.device.pms.utils.PubUtil;
|
||||||
import com.njcn.device.pq.api.LineFeignClient;
|
import com.njcn.device.pq.api.LineFeignClient;
|
||||||
import com.njcn.device.pq.pojo.bo.excel.OracleTerminalExcel;
|
|
||||||
import com.njcn.device.pq.pojo.po.LineDetail;
|
import com.njcn.device.pq.pojo.po.LineDetail;
|
||||||
import com.njcn.poi.excel.ExcelUtil;
|
import com.njcn.poi.excel.ExcelUtil;
|
||||||
import com.njcn.poi.excel.PullDown;
|
import com.njcn.poi.excel.PullDown;
|
||||||
@@ -49,7 +48,6 @@ import com.njcn.system.enums.DicDataTypeEnum;
|
|||||||
import com.njcn.system.pojo.po.DictData;
|
import com.njcn.system.pojo.po.DictData;
|
||||||
import com.njcn.user.api.DeptFeignClient;
|
import com.njcn.user.api.DeptFeignClient;
|
||||||
import com.njcn.user.api.UserFeignClient;
|
import com.njcn.user.api.UserFeignClient;
|
||||||
import com.njcn.user.enums.UserStatusEnum;
|
|
||||||
import com.njcn.user.pojo.vo.UserVO;
|
import com.njcn.user.pojo.vo.UserVO;
|
||||||
import com.njcn.web.factory.PageFactory;
|
import com.njcn.web.factory.PageFactory;
|
||||||
import com.njcn.web.utils.RequestUtil;
|
import com.njcn.web.utils.RequestUtil;
|
||||||
@@ -93,14 +91,27 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
|
|||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public String addUserReport(UserReportParam userReportParam) {
|
public String addUserReport(UserReportParam userReportParam) {
|
||||||
//判断工程名称是否有重复的
|
|
||||||
checkProjectName(userReportParam, false);
|
|
||||||
UserReportPO userReportPO = new UserReportPO();
|
UserReportPO userReportPO = new UserReportPO();
|
||||||
BeanUtils.copyProperties(userReportParam, userReportPO);
|
BeanUtils.copyProperties(userReportParam, userReportPO);
|
||||||
userReportPO.setState(DataStateEnum.ENABLE.getCode());
|
userReportPO.setState(DataStateEnum.ENABLE.getCode());
|
||||||
userReportPO.setStatus(BpmTaskStatusEnum.RUNNING.getStatus());
|
if(StringUtils.isEmpty(userReportParam.getId())){
|
||||||
|
checkProjectName(userReportParam, false);
|
||||||
|
|
||||||
|
}else {
|
||||||
|
checkProjectName(userReportParam, true);
|
||||||
|
|
||||||
|
}
|
||||||
|
//判断工程名称是否有重复的
|
||||||
|
if(Objects.equals(userReportParam.getSaveOrCheckflag(),"1")){
|
||||||
|
userReportPO.setStatus(BpmTaskStatusEnum.WAIT.getStatus());
|
||||||
|
|
||||||
|
}else {
|
||||||
|
userReportPO.setStatus(BpmTaskStatusEnum.RUNNING.getStatus());
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
userReportPO.setDataType(0);
|
userReportPO.setDataType(0);
|
||||||
this.save(userReportPO);
|
this.saveOrUpdate(userReportPO);
|
||||||
if (
|
if (
|
||||||
CollectionUtil.newArrayList(
|
CollectionUtil.newArrayList(
|
||||||
UserNatureEnum.BUILD_POWER_GRID.getCode(),
|
UserNatureEnum.BUILD_POWER_GRID.getCode(),
|
||||||
@@ -130,17 +141,21 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
|
|||||||
userReportSensitivePO.setState(DataStateEnum.ENABLE.getCode());
|
userReportSensitivePO.setState(DataStateEnum.ENABLE.getCode());
|
||||||
userReportSensitivePOService.saveOrUpdate(userReportSensitivePO);
|
userReportSensitivePOService.saveOrUpdate(userReportSensitivePO);
|
||||||
}
|
}
|
||||||
// 发起 BPM 流程
|
|
||||||
Map<String, Object> processInstanceVariables = new HashMap<>();
|
// 如何未提交审则不需要发起 BPM 流程
|
||||||
BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO();
|
if(Objects.equals(userReportParam.getSaveOrCheckflag(),"2")){
|
||||||
bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(SupervisionKeyEnum.BUILD_USER_INFO.getKey());
|
Map<String, Object> processInstanceVariables = new HashMap<>();
|
||||||
bpmProcessInstanceCreateReqDTO.setBusinessKey(userReportPO.getId());
|
BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO();
|
||||||
bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(userReportParam.getStartUserSelectAssignees());
|
bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(SupervisionKeyEnum.BUILD_USER_INFO.getKey());
|
||||||
bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables);
|
bpmProcessInstanceCreateReqDTO.setBusinessKey(userReportPO.getId());
|
||||||
String processInstanceId = bpmProcessFeignClient.createProcessInstance(userReportPO.getCreateBy(), bpmProcessInstanceCreateReqDTO).getData();
|
bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(userReportParam.getStartUserSelectAssignees());
|
||||||
// 将工作流的编号,更新到流程单中
|
bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables);
|
||||||
userReportPO.setProcessInstanceId(processInstanceId);
|
String processInstanceId = bpmProcessFeignClient.createProcessInstance(userReportPO.getCreateBy(), bpmProcessInstanceCreateReqDTO).getData();
|
||||||
this.baseMapper.updateById(userReportPO);
|
// 将工作流的编号,更新到流程单中
|
||||||
|
userReportPO.setProcessInstanceId(processInstanceId);
|
||||||
|
this.baseMapper.updateById(userReportPO);
|
||||||
|
}
|
||||||
|
|
||||||
return userReportPO.getId();
|
return userReportPO.getId();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -646,28 +661,31 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
|
|||||||
* @param isExcludeSelf 是否排除自己,一般新增不排除,更新时需要排除自己
|
* @param isExcludeSelf 是否排除自己,一般新增不排除,更新时需要排除自己
|
||||||
*/
|
*/
|
||||||
private void checkProjectName(UserReportParam userReportParam, boolean isExcludeSelf) {
|
private void checkProjectName(UserReportParam userReportParam, boolean isExcludeSelf) {
|
||||||
LambdaQueryWrapper<UserReportPO> userReportPOLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
if(!StringUtils.isEmpty(userReportParam.getProjectName())){
|
||||||
userReportPOLambdaQueryWrapper
|
LambdaQueryWrapper<UserReportPO> userReportPOLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
.eq(UserReportPO::getProjectName, userReportParam.getProjectName())
|
userReportPOLambdaQueryWrapper
|
||||||
.in(UserReportPO::getStatus, CollectionUtil.newArrayList(BpmProcessInstanceStatusEnum.RUNNING.getStatus(), BpmProcessInstanceStatusEnum.APPROVE.getStatus()))
|
.eq(UserReportPO::getProjectName, userReportParam.getProjectName())
|
||||||
.eq(UserReportPO::getState, DataStateEnum.ENABLE.getCode());
|
.in(UserReportPO::getStatus, CollectionUtil.newArrayList(BpmProcessInstanceStatusEnum.RUNNING.getStatus(), BpmProcessInstanceStatusEnum.APPROVE.getStatus()))
|
||||||
//更新的时候,需排除当前记录
|
.eq(UserReportPO::getState, DataStateEnum.ENABLE.getCode());
|
||||||
if (isExcludeSelf) {
|
//更新的时候,需排除当前记录
|
||||||
if (userReportParam instanceof UserReportParam.UserReportUpdate) {
|
if (isExcludeSelf) {
|
||||||
userReportPOLambdaQueryWrapper.ne(UserReportPO::getId, ((UserReportParam.UserReportUpdate) userReportParam).getId());
|
if (userReportParam instanceof UserReportParam.UserReportUpdate) {
|
||||||
|
userReportPOLambdaQueryWrapper.ne(UserReportPO::getId, ((UserReportParam.UserReportUpdate) userReportParam).getId());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
List<UserReportPO> userReportPOList = this.baseMapper.selectList(userReportPOLambdaQueryWrapper);
|
||||||
List<UserReportPO> userReportPOList = this.baseMapper.selectList(userReportPOLambdaQueryWrapper);
|
|
||||||
if (CollectionUtil.isNotEmpty(userReportPOList)) {
|
|
||||||
//过滤已取消的申请
|
|
||||||
userReportPOList = userReportPOList.stream()
|
|
||||||
.filter(userReportPO -> !userReportPO.getStatus().equals(FlowStatusEnum.CANCEL.getCode()))
|
|
||||||
.collect(Collectors.toList());
|
|
||||||
//如果还存在,则说明有人申请过了
|
|
||||||
if (CollectionUtil.isNotEmpty(userReportPOList)) {
|
if (CollectionUtil.isNotEmpty(userReportPOList)) {
|
||||||
throw new BusinessException(userReportParam.getProjectName().concat(",该工程已被").concat(userReportPOList.get(0).getReporter()).concat("申请"));
|
//过滤已取消的申请
|
||||||
|
userReportPOList = userReportPOList.stream()
|
||||||
|
.filter(userReportPO -> !userReportPO.getStatus().equals(FlowStatusEnum.CANCEL.getCode()))
|
||||||
|
.collect(Collectors.toList());
|
||||||
|
//如果还存在,则说明有人申请过了
|
||||||
|
if (CollectionUtil.isNotEmpty(userReportPOList)) {
|
||||||
|
throw new BusinessException(userReportParam.getProjectName().concat(",该工程已被").concat(userReportPOList.get(0).getReporter()).concat("申请"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user