1.技术监督台账管理-台账管理,监测点终端数量bug解决
2.干扰源常态化用户,编辑新增功能流程
This commit is contained in:
@@ -2,6 +2,7 @@ package com.njcn.supervision.service.device.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
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.QueryWrapper;
|
||||
@@ -191,15 +192,18 @@ public class CheckDeviceServiceImpl extends MppServiceImpl<CheckDeviceMapper, Ch
|
||||
|
||||
@Override
|
||||
public BpmInstanceInfo getInstanceInfo(String businessId) {
|
||||
BpmInstanceInfo bpmInstanceInfo = new BpmInstanceInfo();
|
||||
BpmInstanceInfo bpmInstanceInfo= null;
|
||||
CheckDeviceVo checkDevice = this.getInfoById(businessId);
|
||||
bpmInstanceInfo.setHistoryInstanceId(checkDevice.getHistoryInstanceId());
|
||||
String sign = checkDevice.getDept()
|
||||
.concat(StrPool.SLASH)
|
||||
.concat(checkDevice.getSubstation())
|
||||
.concat(StrPool.SLASH)
|
||||
.concat(checkDevice.getDeviceName());
|
||||
bpmInstanceInfo.setInstanceSign(sign);
|
||||
if(ObjUtil.isNotNull(checkDevice)) {
|
||||
bpmInstanceInfo = new BpmInstanceInfo();
|
||||
bpmInstanceInfo.setHistoryInstanceId(checkDevice.getHistoryInstanceId());
|
||||
String sign = checkDevice.getDept()
|
||||
.concat(StrPool.SLASH)
|
||||
.concat(checkDevice.getSubstation())
|
||||
.concat(StrPool.SLASH)
|
||||
.concat(checkDevice.getDeviceName());
|
||||
bpmInstanceInfo.setInstanceSign(sign);
|
||||
}
|
||||
return bpmInstanceInfo;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
package com.njcn.supervision.service.user;
|
||||
|
||||
|
||||
import com.njcn.bpm.service.IBpmService;
|
||||
import com.njcn.supervision.pojo.param.user.UserReportParam;
|
||||
import com.njcn.supervision.pojo.po.user.UserReportPO;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 用户档案信息表 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author wr
|
||||
* @since 2024-06-26
|
||||
*/
|
||||
public interface IUserReportDeleteService extends IBpmService<UserReportPO> {
|
||||
|
||||
/**
|
||||
* 干扰源用户管理信息删除功能
|
||||
* @param userReportParam
|
||||
* @return
|
||||
*/
|
||||
String addEditor(UserReportParam userReportParam);
|
||||
|
||||
/**
|
||||
* 干扰源用户管理删除重新发送功能
|
||||
* @param userReportParam
|
||||
* @return
|
||||
*/
|
||||
String resend(UserReportParam userReportParam);
|
||||
}
|
||||
@@ -0,0 +1,41 @@
|
||||
package com.njcn.supervision.service.user;
|
||||
|
||||
|
||||
import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam;
|
||||
import com.njcn.bpm.service.IBpmService;
|
||||
import com.njcn.supervision.pojo.param.user.UserReportParam;
|
||||
import com.njcn.supervision.pojo.po.user.UserReportRenewalPO;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 用户档案信息表 服务类
|
||||
* </p>
|
||||
*
|
||||
* @author wr
|
||||
* @since 2024-06-26
|
||||
*/
|
||||
public interface IUserReportRenewalService extends IBpmService<UserReportRenewalPO> {
|
||||
|
||||
/**
|
||||
* 干扰源用户管理更新后信息查看
|
||||
* @param
|
||||
* @return
|
||||
*/
|
||||
UserReportRenewalPO getUserReportUpdateById(String id);
|
||||
|
||||
/**
|
||||
* 干扰源用户管理更新信息新增功能
|
||||
* @param userReportParam
|
||||
* @return
|
||||
*/
|
||||
String addEditor(UserReportParam userReportParam);
|
||||
|
||||
/**
|
||||
* 干扰源用户管理更新信息重新发送功能
|
||||
* @param userReportParam
|
||||
* @return
|
||||
*/
|
||||
String resend(UserReportParam userReportParam);
|
||||
|
||||
String cancelUserReportRenewal(BpmProcessInstanceCancelParam cancelReqVO);
|
||||
}
|
||||
@@ -0,0 +1,141 @@
|
||||
package com.njcn.supervision.service.user.impl;
|
||||
|
||||
import cn.hutool.core.util.ObjUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.bpm.api.BpmProcessFeignClient;
|
||||
import com.njcn.bpm.enums.BpmTaskStatusEnum;
|
||||
import com.njcn.bpm.pojo.dto.BpmInstanceInfo;
|
||||
import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO;
|
||||
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.supervision.enums.SupervisionKeyEnum;
|
||||
import com.njcn.supervision.mapper.user.UserReportPOMapper;
|
||||
import com.njcn.supervision.pojo.param.user.UserReportParam;
|
||||
import com.njcn.supervision.pojo.po.user.*;
|
||||
import com.njcn.supervision.service.user.*;
|
||||
import com.njcn.supervision.utils.InstanceUtil;
|
||||
import com.njcn.web.utils.RequestUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 用户档案信息表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author wr
|
||||
* @since 2024-06-26
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class UserReportDeleteServiceImpl extends ServiceImpl<UserReportPOMapper, UserReportPO> implements IUserReportDeleteService {
|
||||
|
||||
private final UserReportProjectPOService userReportProjectPOService;
|
||||
private final UserReportSubstationPOService userReportSubstationPOService;
|
||||
private final UserReportSensitivePOService userReportSensitivePOService;
|
||||
private final BpmProcessFeignClient bpmProcessFeignClient;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateProcessStatus(String businessId, Integer status) {
|
||||
if (status == 2) {
|
||||
//电网工程类用户额外数据
|
||||
userReportProjectPOService.update(new LambdaUpdateWrapper<UserReportProjectPO>()
|
||||
.set(UserReportProjectPO::getState, status)
|
||||
.eq(UserReportProjectPO::getId, businessId));
|
||||
//非线性负荷用户 & 新能源发电站用户
|
||||
userReportSubstationPOService.update(new LambdaUpdateWrapper<UserReportSubstationPO>()
|
||||
.set(UserReportSubstationPO::getState, 0)
|
||||
.eq(UserReportSubstationPO::getId, businessId));
|
||||
// 敏感及重要用户
|
||||
userReportSensitivePOService.update(new LambdaUpdateWrapper<UserReportSensitivePO>()
|
||||
.set(UserReportSensitivePO::getState, 0)
|
||||
.eq(UserReportSensitivePO::getId, businessId));
|
||||
this.update(new LambdaUpdateWrapper<UserReportPO>()
|
||||
.set(UserReportPO::getState, 0)
|
||||
.eq(UserReportPO::getId, businessId));
|
||||
}
|
||||
this.lambdaUpdate().set(UserReportPO::getStatus, status).eq(UserReportPO::getId, businessId).update();
|
||||
}
|
||||
|
||||
@Override
|
||||
public BpmInstanceInfo getInstanceInfo(String businessId) {
|
||||
BpmInstanceInfo bpmInstanceInfo = new BpmInstanceInfo();
|
||||
|
||||
//todo 删除展示信息暂未确定
|
||||
|
||||
// bpmInstanceInfo.setHistoryInstanceId(userReportPO.getHistoryInstanceId());
|
||||
// bpmInstanceInfo.setInstanceSign(userReportPO.getUserReportMessageJson().getProjectName());
|
||||
return bpmInstanceInfo;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public String addEditor(UserReportParam userReportParam) {
|
||||
UserReportPO po = this.getById(userReportParam.getId());
|
||||
if (ObjUtil.isNull(po)) {
|
||||
throw new BusinessException("当前信息不存在,请确认信息是否存在");
|
||||
}
|
||||
//处理历史流程id列表
|
||||
String historyInstanceIds = InstanceUtil.dealHistoryId(po.getProcessInstanceId(), po.getHistoryInstanceId());
|
||||
// 发起 BPM 流程
|
||||
Map<String, Object> processInstanceVariables = new HashMap<>();
|
||||
BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO();
|
||||
bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(SupervisionKeyEnum.USER_REPORT_DELETE.getKey());
|
||||
bpmProcessInstanceCreateReqDTO.setBusinessKey(userReportParam.getId());
|
||||
bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(userReportParam.getStartUserSelectAssignees());
|
||||
bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables);
|
||||
String processInstanceId = bpmProcessFeignClient.createProcessInstance(RequestUtil.getUserIndex(), bpmProcessInstanceCreateReqDTO).getData();
|
||||
// 将工作流的编号,更新到流程单中
|
||||
po.setProcessInstanceId(processInstanceId);
|
||||
po.setStatus(BpmTaskStatusEnum.RUNNING.getStatus());
|
||||
po.setState(DataStateEnum.ENABLE.getCode());
|
||||
//保存历史流程id列表
|
||||
po.setHistoryInstanceId(historyInstanceIds);
|
||||
if (this.updateById(po)) {
|
||||
return userReportParam.getId();
|
||||
}
|
||||
return "失败";
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public String resend(UserReportParam userReportParam) {
|
||||
UserReportPO po = this.getById(userReportParam.getId());
|
||||
if (ObjUtil.isNull(po)) {
|
||||
throw new BusinessException("当前信息不存在,请确认信息是否存在");
|
||||
}else{
|
||||
if (Objects.equals(po.getStatus(), BpmTaskStatusEnum.APPROVE.getStatus())) {
|
||||
throw new BusinessException("当前流程以完成审批,无法重新发起");
|
||||
}
|
||||
}
|
||||
//处理历史流程id列表
|
||||
String historyInstanceIds = InstanceUtil.dealHistoryId(po.getProcessInstanceId(), po.getHistoryInstanceId());
|
||||
// 发起 BPM 流程
|
||||
Map<String, Object> processInstanceVariables = new HashMap<>();
|
||||
BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO();
|
||||
bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(SupervisionKeyEnum.USER_REPORT_DELETE.getKey());
|
||||
bpmProcessInstanceCreateReqDTO.setBusinessKey(userReportParam.getId());
|
||||
bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(userReportParam.getStartUserSelectAssignees());
|
||||
bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables);
|
||||
String processInstanceId = bpmProcessFeignClient.createProcessInstance(RequestUtil.getUserIndex(), bpmProcessInstanceCreateReqDTO).getData();
|
||||
// 将工作流的编号,更新到流程单中
|
||||
po.setProcessInstanceId(processInstanceId);
|
||||
po.setStatus(BpmTaskStatusEnum.RUNNING.getStatus());
|
||||
po.setState(DataStateEnum.ENABLE.getCode());
|
||||
//保存历史流程id列表
|
||||
po.setHistoryInstanceId(historyInstanceIds);
|
||||
if (this.updateById(po)) {
|
||||
return userReportParam.getId();
|
||||
}
|
||||
return "失败";
|
||||
}
|
||||
|
||||
}
|
||||
@@ -104,22 +104,17 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
|
||||
BeanUtils.copyProperties(userReportParam, userReportPO);
|
||||
userReportPO.setState(DataStateEnum.ENABLE.getCode());
|
||||
if (Objects.equals(userReportParam.getSaveOrCheckflag(), "2")) {
|
||||
|
||||
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());
|
||||
|
||||
}
|
||||
if(ObjectUtil.isNotNull(userReportParam.getDataType())){
|
||||
userReportPO.setDataType(userReportParam.getDataType());
|
||||
@@ -174,7 +169,6 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
|
||||
userReportPO.setProcessInstanceId(processInstanceId);
|
||||
this.baseMapper.updateById(userReportPO);
|
||||
}
|
||||
|
||||
return userReportPO.getId();
|
||||
}
|
||||
|
||||
@@ -429,7 +423,12 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
|
||||
userReportVOQueryWrapper.orderByDesc("supervision_user_report.Update_Time");
|
||||
}
|
||||
userReportVOQueryWrapper.orderByDesc("supervision_user_report.create_time");
|
||||
Page<UserReportVO> page = this.baseMapper.page(new Page<>(PageFactory.getPageNum(userReportQueryParam), PageFactory.getPageSize(userReportQueryParam)), userReportVOQueryWrapper);
|
||||
Page<UserReportVO> page;
|
||||
if(!allDataFlag){
|
||||
page= this.baseMapper.page(new Page<>(PageFactory.getPageNum(userReportQueryParam), PageFactory.getPageSize(userReportQueryParam)), userReportVOQueryWrapper);
|
||||
}else{
|
||||
page = this.baseMapper.pageUpdate(new Page<>(PageFactory.getPageNum(userReportQueryParam), PageFactory.getPageSize(userReportQueryParam)), userReportVOQueryWrapper);
|
||||
}
|
||||
|
||||
page.getRecords().forEach(temp->{
|
||||
Integer needGovernance = 0;
|
||||
@@ -1005,7 +1004,7 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
|
||||
* @param userReportParam 用户申请数据
|
||||
* @param isExcludeSelf 是否排除自己,一般新增不排除,更新时需要排除自己
|
||||
*/
|
||||
private void checkProjectName(UserReportParam userReportParam, boolean isExcludeSelf) {
|
||||
protected void checkProjectName(UserReportParam userReportParam, boolean isExcludeSelf) {
|
||||
if (!StringUtils.isEmpty(userReportParam.getProjectName())) {
|
||||
LambdaQueryWrapper<UserReportPO> userReportPOLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||
userReportPOLambdaQueryWrapper
|
||||
|
||||
@@ -0,0 +1,207 @@
|
||||
package com.njcn.supervision.service.user.impl;
|
||||
|
||||
import cn.hutool.core.bean.BeanUtil;
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
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.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.bpm.api.BpmProcessFeignClient;
|
||||
import com.njcn.bpm.enums.BpmProcessInstanceStatusEnum;
|
||||
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.common.pojo.enums.common.DataStateEnum;
|
||||
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.SupervisionDevMainReportPO;
|
||||
import com.njcn.supervision.pojo.po.user.*;
|
||||
import com.njcn.supervision.pojo.vo.user.UserReportVO;
|
||||
import com.njcn.supervision.service.user.*;
|
||||
import com.njcn.supervision.utils.InstanceUtil;
|
||||
import com.njcn.web.utils.RequestUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
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;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* 用户档案信息表 服务实现类
|
||||
* </p>
|
||||
*
|
||||
* @author wr
|
||||
* @since 2024-06-26
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class UserReportRenewalServiceImpl extends ServiceImpl<UserReportRenewalMapper, UserReportRenewalPO> implements IUserReportRenewalService {
|
||||
|
||||
private final UserReportPOServiceImpl userReportPOService;
|
||||
private final BpmProcessFeignClient bpmProcessFeignClient;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public void updateProcessStatus(String businessId, Integer status) {
|
||||
UserReportRenewalPO userReportPO = this.getById(businessId);
|
||||
if (ObjUtil.isNotNull(userReportPO)) {
|
||||
if (BpmTaskStatusEnum.APPROVE.getStatus() == status) {
|
||||
UserReportParam userReportParam = new UserReportParam();
|
||||
userReportParam.setId(businessId);
|
||||
BeanUtil.copyProperties(userReportPO, userReportParam);
|
||||
userReportPOService.addUserReport(userReportParam);
|
||||
}
|
||||
this.lambdaUpdate().set(UserReportRenewalPO::getStatus, status).eq(UserReportRenewalPO::getId, businessId).update();
|
||||
} else {
|
||||
throw new BusinessException(SupervisionResponseEnum.NO_USER_REPORT_UPDATE);
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public BpmInstanceInfo getInstanceInfo(String businessId) {
|
||||
BpmInstanceInfo bpmInstanceInfo = new BpmInstanceInfo();
|
||||
UserReportRenewalPO userReportPO = this.getById(businessId);
|
||||
bpmInstanceInfo.setHistoryInstanceId(userReportPO.getHistoryInstanceId());
|
||||
bpmInstanceInfo.setInstanceSign(userReportPO.getUserReportMessageJson().getProjectName());
|
||||
return bpmInstanceInfo;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public UserReportRenewalPO getUserReportUpdateById(String id) {
|
||||
return this.getById(id);
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public String addEditor(UserReportParam userReportParam) {
|
||||
UserReportRenewalPO po = new UserReportRenewalPO();
|
||||
UserReportPO userReportPO = new UserReportPO();
|
||||
BeanUtils.copyProperties(userReportParam, userReportPO);
|
||||
userReportPO.setState(DataStateEnum.ENABLE.getCode());
|
||||
if (Objects.equals(userReportParam.getSaveOrCheckflag(), "2")) {
|
||||
po.setStatus(BpmTaskStatusEnum.RUNNING.getStatus());
|
||||
if (StringUtils.isEmpty(userReportParam.getId())) {
|
||||
userReportPOService.checkProjectName(userReportParam, false);
|
||||
} else {
|
||||
userReportPOService.checkProjectName(userReportParam, true);
|
||||
}
|
||||
}else {
|
||||
po.setStatus(BpmTaskStatusEnum.WAIT.getStatus());
|
||||
}
|
||||
if (ObjectUtil.isNotNull(userReportParam.getDataType())) {
|
||||
userReportPO.setDataType(userReportParam.getDataType());
|
||||
if (userReportParam.getDataType() == 1) {
|
||||
userReportPO.setStatus(FlowStatusEnum.APPROVE.getCode());
|
||||
}
|
||||
} else {
|
||||
userReportPO.setDataType(0);
|
||||
}
|
||||
addition(userReportParam, userReportPO.getUserType());
|
||||
// 如何未提交审则不需要发起 BPM 流程
|
||||
if (Objects.equals(userReportParam.getSaveOrCheckflag(), "2")) {
|
||||
Map<String, Object> processInstanceVariables = new HashMap<>();
|
||||
BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO();
|
||||
bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(SupervisionKeyEnum.USER_REPORT_RENEWAL.getKey());
|
||||
bpmProcessInstanceCreateReqDTO.setBusinessKey(userReportPO.getId());
|
||||
bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(userReportParam.getStartUserSelectAssignees());
|
||||
bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables);
|
||||
String processInstanceId = bpmProcessFeignClient.createProcessInstance(RequestUtil.getUserIndex(), bpmProcessInstanceCreateReqDTO).getData();
|
||||
// 将工作流的编号,更新到流程单中
|
||||
po.setProcessInstanceId(processInstanceId);
|
||||
}
|
||||
String userReport = JSONObject.toJSONStringWithDateFormat(userReportParam, JSON.DEFFAULT_DATE_FORMAT);
|
||||
po.setId(userReportParam.getId());
|
||||
po.setUserReportMessage(userReport);
|
||||
po.setState(DataStateEnum.ENABLE.getCode());
|
||||
if (this.saveOrUpdate(po)) {
|
||||
return userReportParam.getId();
|
||||
}
|
||||
return "失败";
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public String resend(UserReportParam userReportParam) {
|
||||
UserReportRenewalPO po = this.getById(userReportParam.getId());
|
||||
//判断是否有权限操作
|
||||
InstanceUtil.judgeUserPower(RequestUtil.getUserIndex(), po.getCreateBy());
|
||||
if (Objects.equals(po.getStatus(), BpmTaskStatusEnum.APPROVE.getStatus())) {
|
||||
throw new BusinessException("当前流程以完成审批,无法重新发起");
|
||||
}
|
||||
//处理历史流程id列表
|
||||
String historyInstanceIds = InstanceUtil.dealHistoryId(po.getProcessInstanceId(), po.getHistoryInstanceId());
|
||||
addition(userReportParam, userReportParam.getUserType());
|
||||
|
||||
// 发起 BPM 流程
|
||||
Map<String, Object> processInstanceVariables = new HashMap<>();
|
||||
BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO();
|
||||
bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(SupervisionKeyEnum.USER_REPORT_RENEWAL.getKey());
|
||||
bpmProcessInstanceCreateReqDTO.setBusinessKey(userReportParam.getId());
|
||||
bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(userReportParam.getStartUserSelectAssignees());
|
||||
bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables);
|
||||
String processInstanceId = bpmProcessFeignClient.createProcessInstance(po.getCreateBy(), bpmProcessInstanceCreateReqDTO).getData();
|
||||
// 将工作流的编号,更新到流程单中
|
||||
po.setProcessInstanceId(processInstanceId);
|
||||
po.setStatus(BpmTaskStatusEnum.RUNNING.getStatus());
|
||||
po.setState(DataStateEnum.ENABLE.getCode());
|
||||
//保存历史流程id列表
|
||||
po.setHistoryInstanceId(historyInstanceIds);
|
||||
String userReport = JSONObject.toJSONStringWithDateFormat(userReportParam, JSON.DEFFAULT_DATE_FORMAT);
|
||||
po.setUserReportMessage(userReport);
|
||||
if (this.updateById(po)) {
|
||||
return userReportParam.getId();
|
||||
}
|
||||
return "失败";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String cancelUserReportRenewal(BpmProcessInstanceCancelParam cancelReqVO) {
|
||||
//准备取消该流程,需要远程调用接口
|
||||
UserReportRenewalPO userReportRenewalPO = this.baseMapper.selectById(cancelReqVO.getId());
|
||||
//取消流程
|
||||
bpmProcessFeignClient.cancelProcessInstanceByStartUser(cancelReqVO);
|
||||
//更新状态
|
||||
userReportRenewalPO.setStatus(BpmProcessInstanceStatusEnum.CANCEL.getStatus());
|
||||
this.updateById(userReportRenewalPO);
|
||||
return userReportRenewalPO.getId();
|
||||
}
|
||||
|
||||
private void addition(UserReportParam userReportParam, Integer userType) {
|
||||
if (
|
||||
CollectionUtil.newArrayList(
|
||||
UserNatureEnum.BUILD_POWER_GRID.getCode(),
|
||||
UserNatureEnum.EXTEND_POWER_GRID.getCode()
|
||||
).contains(userType)) {
|
||||
//电网工程类用户额外数据
|
||||
UserReportProjectPO userReportProjectPO = userReportParam.getUserReportProjectPO();
|
||||
userReportProjectPO.setId(userReportParam.getId());
|
||||
userReportProjectPO.setState(DataStateEnum.ENABLE.getCode());
|
||||
} else if (
|
||||
CollectionUtil.newArrayList(
|
||||
UserNatureEnum.BUILD_NON_LINEAR_LOAD.getCode(),
|
||||
UserNatureEnum.EXTEND_NON_LINEAR_LOAD.getCode(),
|
||||
UserNatureEnum.BUILD_NEW_ENERGY_POWER_STATION.getCode(),
|
||||
UserNatureEnum.EXTEND_NEW_ENERGY_POWER_STATION.getCode()
|
||||
).contains(userType)) {
|
||||
//非线性负荷用户 & 新能源发电站用户
|
||||
UserReportSubstationPO userReportSubstationPO = userReportParam.getUserReportSubstationPO();
|
||||
userReportSubstationPO.setId(userReportParam.getId());
|
||||
userReportSubstationPO.setState(DataStateEnum.ENABLE.getCode());
|
||||
} else if (UserNatureEnum.SENSITIVE_USER.getCode().equals(userType)) {
|
||||
// 敏感及重要用户
|
||||
UserReportSensitivePO userReportSensitivePO = userReportParam.getUserReportSensitivePO();
|
||||
userReportSensitivePO.setId(userReportParam.getId());
|
||||
userReportSensitivePO.setState(DataStateEnum.ENABLE.getCode());
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user