草稿功能
This commit is contained in:
@@ -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.SupervisionTempLineDebugPO;
|
||||
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.SupervisionTempLineDebugVO;
|
||||
import com.njcn.supervision.service.device.SupervisionDevMainReportPOService;
|
||||
@@ -95,7 +94,7 @@ public class SupervisionTempLineDebugPOServiceImpl extends ServiceImpl<Supervisi
|
||||
BeanUtils.copyProperties(supervisionTempLineReportParam,supervisionTempLineDebugPO);
|
||||
supervisionTempLineDebugPO.setState(DataStateEnum.ENABLE.getCode());
|
||||
supervisionTempLineDebugPO.setStatus(BpmTaskStatusEnum.RUNNING.getStatus());
|
||||
this.save(supervisionTempLineDebugPO);
|
||||
this.saveOrUpdate(supervisionTempLineDebugPO);
|
||||
String id = supervisionTempLineDebugPO.getId();
|
||||
// 发起 BPM 流程
|
||||
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);
|
||||
}
|
||||
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())) {
|
||||
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.SupervisionKeyEnum;
|
||||
import com.njcn.supervision.enums.SupervisionUserStatusEnum;
|
||||
import com.njcn.supervision.mapper.device.SupervisionTempLineDebugPOMapper;
|
||||
import com.njcn.supervision.mapper.device.SupervisionTempLineReportMapper;
|
||||
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.vo.device.CheckDeviceVo;
|
||||
import com.njcn.supervision.pojo.vo.device.SupervisionTempLineReportVO;
|
||||
@@ -62,6 +64,8 @@ public class SupervisionTempLineReportServiceImpl extends ServiceImpl<Supervisio
|
||||
private final UserFeignClient userFeignClient;
|
||||
private final DictTreeFeignClient dictTreeFeignClient;
|
||||
private final UserReportPOService userReportPOService;
|
||||
private final SupervisionTempLineDebugPOMapper supervisionTempLineDebugPOMapper;
|
||||
|
||||
|
||||
@Override
|
||||
@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();
|
||||
if(status.equals(BpmProcessInstanceStatusEnum.APPROVE.getStatus())){
|
||||
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.device.pms.utils.PubUtil;
|
||||
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.poi.excel.ExcelUtil;
|
||||
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.user.api.DeptFeignClient;
|
||||
import com.njcn.user.api.UserFeignClient;
|
||||
import com.njcn.user.enums.UserStatusEnum;
|
||||
import com.njcn.user.pojo.vo.UserVO;
|
||||
import com.njcn.web.factory.PageFactory;
|
||||
import com.njcn.web.utils.RequestUtil;
|
||||
@@ -93,14 +91,27 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public String addUserReport(UserReportParam userReportParam) {
|
||||
//判断工程名称是否有重复的
|
||||
checkProjectName(userReportParam, false);
|
||||
UserReportPO userReportPO = new UserReportPO();
|
||||
BeanUtils.copyProperties(userReportParam, userReportPO);
|
||||
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);
|
||||
this.save(userReportPO);
|
||||
this.saveOrUpdate(userReportPO);
|
||||
if (
|
||||
CollectionUtil.newArrayList(
|
||||
UserNatureEnum.BUILD_POWER_GRID.getCode(),
|
||||
@@ -130,17 +141,21 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
|
||||
userReportSensitivePO.setState(DataStateEnum.ENABLE.getCode());
|
||||
userReportSensitivePOService.saveOrUpdate(userReportSensitivePO);
|
||||
}
|
||||
// 发起 BPM 流程
|
||||
Map<String, Object> processInstanceVariables = new HashMap<>();
|
||||
BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO();
|
||||
bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(SupervisionKeyEnum.BUILD_USER_INFO.getKey());
|
||||
bpmProcessInstanceCreateReqDTO.setBusinessKey(userReportPO.getId());
|
||||
bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(userReportParam.getStartUserSelectAssignees());
|
||||
bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables);
|
||||
String processInstanceId = bpmProcessFeignClient.createProcessInstance(userReportPO.getCreateBy(), bpmProcessInstanceCreateReqDTO).getData();
|
||||
// 将工作流的编号,更新到流程单中
|
||||
userReportPO.setProcessInstanceId(processInstanceId);
|
||||
this.baseMapper.updateById(userReportPO);
|
||||
|
||||
// 如何未提交审则不需要发起 BPM 流程
|
||||
if(Objects.equals(userReportParam.getSaveOrCheckflag(),"2")){
|
||||
Map<String, Object> processInstanceVariables = new HashMap<>();
|
||||
BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO();
|
||||
bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(SupervisionKeyEnum.BUILD_USER_INFO.getKey());
|
||||
bpmProcessInstanceCreateReqDTO.setBusinessKey(userReportPO.getId());
|
||||
bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(userReportParam.getStartUserSelectAssignees());
|
||||
bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables);
|
||||
String processInstanceId = bpmProcessFeignClient.createProcessInstance(userReportPO.getCreateBy(), bpmProcessInstanceCreateReqDTO).getData();
|
||||
// 将工作流的编号,更新到流程单中
|
||||
userReportPO.setProcessInstanceId(processInstanceId);
|
||||
this.baseMapper.updateById(userReportPO);
|
||||
}
|
||||
|
||||
return userReportPO.getId();
|
||||
}
|
||||
|
||||
@@ -646,28 +661,31 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
|
||||
* @param isExcludeSelf 是否排除自己,一般新增不排除,更新时需要排除自己
|
||||
*/
|
||||
private void checkProjectName(UserReportParam userReportParam, boolean isExcludeSelf) {
|
||||
LambdaQueryWrapper<UserReportPO> userReportPOLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
userReportPOLambdaQueryWrapper
|
||||
.eq(UserReportPO::getProjectName, userReportParam.getProjectName())
|
||||
.in(UserReportPO::getStatus, CollectionUtil.newArrayList(BpmProcessInstanceStatusEnum.RUNNING.getStatus(), BpmProcessInstanceStatusEnum.APPROVE.getStatus()))
|
||||
.eq(UserReportPO::getState, DataStateEnum.ENABLE.getCode());
|
||||
//更新的时候,需排除当前记录
|
||||
if (isExcludeSelf) {
|
||||
if (userReportParam instanceof UserReportParam.UserReportUpdate) {
|
||||
userReportPOLambdaQueryWrapper.ne(UserReportPO::getId, ((UserReportParam.UserReportUpdate) userReportParam).getId());
|
||||
if(!StringUtils.isEmpty(userReportParam.getProjectName())){
|
||||
LambdaQueryWrapper<UserReportPO> userReportPOLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
userReportPOLambdaQueryWrapper
|
||||
.eq(UserReportPO::getProjectName, userReportParam.getProjectName())
|
||||
.in(UserReportPO::getStatus, CollectionUtil.newArrayList(BpmProcessInstanceStatusEnum.RUNNING.getStatus(), BpmProcessInstanceStatusEnum.APPROVE.getStatus()))
|
||||
.eq(UserReportPO::getState, DataStateEnum.ENABLE.getCode());
|
||||
//更新的时候,需排除当前记录
|
||||
if (isExcludeSelf) {
|
||||
if (userReportParam instanceof UserReportParam.UserReportUpdate) {
|
||||
userReportPOLambdaQueryWrapper.ne(UserReportPO::getId, ((UserReportParam.UserReportUpdate) userReportParam).getId());
|
||||
}
|
||||
}
|
||||
}
|
||||
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());
|
||||
//如果还存在,则说明有人申请过了
|
||||
List<UserReportPO> userReportPOList = this.baseMapper.selectList(userReportPOLambdaQueryWrapper);
|
||||
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