修改干扰源用户状态

This commit is contained in:
hzj
2024-05-30 19:49:57 +08:00
parent 1060b94e7a
commit 17f220b536
13 changed files with 117 additions and 13 deletions

View File

@@ -19,4 +19,7 @@ public interface UserReportFeignClient {
@GetMapping("/updateUserReportStatus") @GetMapping("/updateUserReportStatus")
HttpResult<Object> updateUserReportStatus(@RequestParam("businessKey") String businessKey, @RequestParam("status")Integer status); HttpResult<Object> updateUserReportStatus(@RequestParam("businessKey") String businessKey, @RequestParam("status")Integer status);
@GetMapping("/updateUserStatus")
HttpResult<Object> updateUserStatus(String businessKey,Integer userStatus) ;
} }

View File

@@ -32,6 +32,12 @@ public class UserReportFeignClientFallbackFactory implements FallbackFactory<Use
log.error("{}异常,降级处理,异常为:{}", "更新用户数据流程状态", throwable.toString()); log.error("{}异常,降级处理,异常为:{}", "更新用户数据流程状态", throwable.toString());
throw new BusinessException(finalExceptionEnum); throw new BusinessException(finalExceptionEnum);
} }
@Override
public HttpResult<Object> updateUserStatus(String businessKey, Integer userStatus) {
log.error("{}异常,降级处理,异常为:{}", "更新干扰源用户状态", throwable.toString());
throw new BusinessException(finalExceptionEnum);
}
}; };
} }
} }

View File

@@ -32,6 +32,19 @@ public class SupervisionTempDeviceReportParam {
@ApiModelProperty(value="所属供电公司") @ApiModelProperty(value="所属供电公司")
private String powerCompany; private String powerCompany;
/**
* 0 关联系统内变电站;1用户手动输入变电站
*/
@ApiModelProperty(value = " 0 关联系统内变电站;1用户手动输入变电站")
private Integer customubstaionlag;
/**
* 所属变电站
*/
@ApiModelProperty(value = "所属变电站名称")
private String substationName;
/** /**
* 所属变电站 * 所属变电站
*/ */

View File

@@ -222,7 +222,7 @@ public class SupervisionTempLineReportParam {
private Integer num; private Integer num;
/** /**
* 线路号 * 接线方式
*/ */
private Integer ptType; private Integer ptType;

View File

@@ -32,12 +32,23 @@ public class SupervisionTempDeviceReport {
*/ */
@TableField(value = "power_company") @TableField(value = "power_company")
private String powerCompany; private String powerCompany;
/**
* 0 关联系统内变电站;1用户手动输入变电站
*/
@TableField(value = "custom_substaion_flag")
private Integer customubstaionlag;
/** /**
* 所属变电站 * 所属变电站
*/ */
@TableField(value = "substation") @TableField(value = "substation")
private String substation; private String substation;
/**
* 所属变电站
*/
@TableField(value = "substation_name")
private String substationName;
/** /**
* 变电站电压等级 * 变电站电压等级

View File

@@ -223,6 +223,18 @@ public class SupervisionTempLineReportVO {
private String processInstanceId; private String processInstanceId;
/**
* 线路号
*/
private Integer num;
/**
* 接线方式
*/
private Integer ptType;
/** /**
* 1:审批中2审批通过3审批不通过4已取消 * 1:审批中2审批通过3审批不通过4已取消
*/ */

View File

@@ -100,6 +100,15 @@ public class UserReportManageController extends BaseController {
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe); return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
} }
@GetMapping("/updateUserStatus")
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
@Operation(summary = "更新干扰源用户状态")
public HttpResult<Object> updateUserStatus(String lineId,Integer userStatus) {
String methodDescribe = getMethodDescribe("updateUserStatus");
userReportPOService.updateUserStatus(lineId,userStatus);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON) @OperateInfo(info = LogEnum.BUSINESS_COMMON)
@PostMapping("/getUserReportList") @PostMapping("/getUserReportList")
@ApiOperation("查询干扰源下拉列表") @ApiOperation("查询干扰源下拉列表")

View File

@@ -11,22 +11,20 @@ import com.njcn.bpm.enums.BpmProcessInstanceStatusEnum;
import com.njcn.bpm.enums.BpmResponseEnum; import com.njcn.bpm.enums.BpmResponseEnum;
import com.njcn.bpm.enums.BpmTaskStatusEnum; import com.njcn.bpm.enums.BpmTaskStatusEnum;
import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO; import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO;
import com.njcn.bpm.pojo.param.BpmCategoryParam;
import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam; import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam;
import com.njcn.bpm.pojo.po.BpmCategory;
import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.device.biz.enums.RunFlagEnum; import com.njcn.device.biz.enums.RunFlagEnum;
import com.njcn.device.pq.api.LineFeignClient; import com.njcn.device.pq.api.LineFeignClient;
import com.njcn.device.pq.pojo.po.line.LineInfoVO; import com.njcn.device.pq.pojo.po.line.LineInfoVO;
import com.njcn.device.pq.pojo.vo.DeviceVO; import com.njcn.device.pq.pojo.vo.DeviceVO;
import com.njcn.device.pq.pojo.vo.LineDetailDataVO; import com.njcn.supervision.enums.SupervisionUserStatusEnum;
import com.njcn.device.pq.pojo.vo.LineDetailVO;
import com.njcn.supervision.mapper.device.QuitRunningDeviceMapper; import com.njcn.supervision.mapper.device.QuitRunningDeviceMapper;
import com.njcn.supervision.pojo.param.device.QuitRunningDeviceParam; import com.njcn.supervision.pojo.param.device.QuitRunningDeviceParam;
import com.njcn.supervision.pojo.po.device.QuitRunningDevice; import com.njcn.supervision.pojo.po.device.QuitRunningDevice;
import com.njcn.supervision.pojo.vo.device.QuitRunningDeviceVO; import com.njcn.supervision.pojo.vo.device.QuitRunningDeviceVO;
import com.njcn.supervision.service.device.IQuitRunningDeviceService; import com.njcn.supervision.service.device.IQuitRunningDeviceService;
import com.njcn.supervision.service.user.UserReportPOService;
import com.njcn.supervision.utils.InstanceUtil; import com.njcn.supervision.utils.InstanceUtil;
import com.njcn.user.api.UserFeignClient; import com.njcn.user.api.UserFeignClient;
import com.njcn.web.factory.PageFactory; import com.njcn.web.factory.PageFactory;
@@ -59,6 +57,7 @@ public class QuitRunningDeviceServiceImpl extends ServiceImpl<QuitRunningDeviceM
private final LineFeignClient lineFeignClient; private final LineFeignClient lineFeignClient;
private final UserFeignClient userFeignClient; private final UserFeignClient userFeignClient;
private final UserReportPOService userReportPOService;
/** /**
* 设备退运对应的流程定义 KEY * 设备退运对应的流程定义 KEY
@@ -169,6 +168,7 @@ public class QuitRunningDeviceServiceImpl extends ServiceImpl<QuitRunningDeviceM
* 监听该流程的状态 * 监听该流程的状态
*/ */
@Override @Override
@Transactional(rollbackFor = Exception.class)
public void updateDeviceStatus(String businessKey, Integer status) { public void updateDeviceStatus(String businessKey, Integer status) {
QuitRunningDevice quitRunningDevice = this.baseMapper.selectById(businessKey); QuitRunningDevice quitRunningDevice = this.baseMapper.selectById(businessKey);
//如果状态为审批通过 //如果状态为审批通过
@@ -177,9 +177,12 @@ public class QuitRunningDeviceServiceImpl extends ServiceImpl<QuitRunningDeviceM
if (quitRunningDevice.getDeviceType() == 1) { if (quitRunningDevice.getDeviceType() == 1) {
//修改装置 //修改装置
lineFeignClient.updateDeviceRunFlag(quitRunningDevice.getDeviceId(), RunFlagEnum.QUIT.getStatus()); lineFeignClient.updateDeviceRunFlag(quitRunningDevice.getDeviceId(), RunFlagEnum.QUIT.getStatus());
} else if (quitRunningDevice.getDeviceType() == 2) { } else if (quitRunningDevice.getDeviceType() == 2) {
//修改监测点 //修改监测点
lineFeignClient.updateLineRunFlag(quitRunningDevice.getDeviceId(), RunFlagEnum.QUIT.getStatus()); lineFeignClient.updateLineRunFlag(quitRunningDevice.getDeviceId(), RunFlagEnum.QUIT.getStatus());
userReportPOService.updateUserStatus(businessKey, SupervisionUserStatusEnum.QUIT.getCode());
} }
} }
quitRunningDevice.setStatus(status); quitRunningDevice.setStatus(status);

View File

@@ -14,10 +14,7 @@ import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.device.pq.api.LineFeignClient; import com.njcn.device.pq.api.LineFeignClient;
import com.njcn.device.pq.api.TerminalBaseClient; import com.njcn.device.pq.api.TerminalBaseClient;
import com.njcn.device.pq.pojo.param.DeviceParam; import com.njcn.device.pq.pojo.param.*;
import com.njcn.device.pq.pojo.param.LineParam;
import com.njcn.device.pq.pojo.param.SubVoltageParam;
import com.njcn.device.pq.pojo.param.SyncTerminalParam;
import com.njcn.device.pq.pojo.po.Line; import com.njcn.device.pq.pojo.po.Line;
import com.njcn.supervision.mapper.device.SupervisionTempLineDebugPOMapper; import com.njcn.supervision.mapper.device.SupervisionTempLineDebugPOMapper;
import com.njcn.supervision.pojo.param.device.SupervisionTempLineDebugParam; import com.njcn.supervision.pojo.param.device.SupervisionTempLineDebugParam;
@@ -216,6 +213,8 @@ public class SupervisionTempLineDebugPOServiceImpl extends ServiceImpl<Supervisi
//用于绑定监测点部门 //用于绑定监测点部门
syncTerminalParam.setDeptId(tempDevice.getPowerCompany()); syncTerminalParam.setDeptId(tempDevice.getPowerCompany());
//电站可能后期要录 todo //电站可能后期要录 todo
SubStationParam subStationParam = new SubStationParam();
//syncTerminalParam.setSubStationParam(); //syncTerminalParam.setSubStationParam();
DeviceParam deviceParam = new DeviceParam(); DeviceParam deviceParam = new DeviceParam();
SubVoltageParam subVoltageParam = new SubVoltageParam(); SubVoltageParam subVoltageParam = new SubVoltageParam();

View File

@@ -15,11 +15,13 @@ import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam;
import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.supervision.enums.FlowStatusEnum; import com.njcn.supervision.enums.FlowStatusEnum;
import com.njcn.supervision.enums.SupervisionUserStatusEnum;
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.SupervisionTempLineReport; import com.njcn.supervision.pojo.po.device.SupervisionTempLineReport;
import com.njcn.supervision.pojo.vo.device.SupervisionTempLineReportVO; import com.njcn.supervision.pojo.vo.device.SupervisionTempLineReportVO;
import com.njcn.supervision.service.device.SupervisionTempLineReportService; import com.njcn.supervision.service.device.SupervisionTempLineReportService;
import com.njcn.supervision.service.user.UserReportPOService;
import com.njcn.system.api.DictTreeFeignClient; import com.njcn.system.api.DictTreeFeignClient;
import com.njcn.user.api.DeptFeignClient; import com.njcn.user.api.DeptFeignClient;
import com.njcn.user.api.UserFeignClient; import com.njcn.user.api.UserFeignClient;
@@ -58,6 +60,8 @@ public class SupervisionTempLineReportServiceImpl extends ServiceImpl<Supervisio
private final DeptFeignClient deptFeignClient; private final DeptFeignClient deptFeignClient;
private final UserFeignClient userFeignClient; private final UserFeignClient userFeignClient;
private final DictTreeFeignClient dictTreeFeignClient; private final DictTreeFeignClient dictTreeFeignClient;
private final UserReportPOService userReportPOService;
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public String addTempLineReport(SupervisionTempLineReportParam supervisionTempLineReportParam) { public String addTempLineReport(SupervisionTempLineReportParam supervisionTempLineReportParam) {
@@ -119,9 +123,12 @@ public class SupervisionTempLineReportServiceImpl extends ServiceImpl<Supervisio
} }
@Override @Override
@Transactional(rollbackFor = Exception.class)
public void updateStatus(String businessKey, Integer status) { public void updateStatus(String businessKey, Integer status) {
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())){
userReportPOService.updateUserStatus(businessKey, SupervisionUserStatusEnum.BUILD.getCode());
}
} }
@Override @Override
@@ -175,7 +182,7 @@ public class SupervisionTempLineReportServiceImpl extends ServiceImpl<Supervisio
.collect(Collectors.toList()); .collect(Collectors.toList());
//如果还存在,则说明有人申请过了 //如果还存在,则说明有人申请过了
if (CollectionUtil.isNotEmpty(list)) { if (CollectionUtil.isNotEmpty(list)) {
throw new BusinessException(supervisionTempLineReportParam.getUserName().concat(",监测点线路号或监测点名称").concat(list.get(0).getReporter()).concat("以使用")); throw new BusinessException(supervisionTempLineReportParam.getLineName().concat(",监测点线路号或监测点名称").concat("以使用"));
} }
} }
} }

View File

@@ -16,6 +16,7 @@ import com.njcn.device.biz.pojo.dto.LineDTO;
import com.njcn.device.pq.api.LineIntegrityClient; import com.njcn.device.pq.api.LineIntegrityClient;
import com.njcn.device.pq.pojo.dto.LineDataQualityDTO; import com.njcn.device.pq.pojo.dto.LineDataQualityDTO;
import com.njcn.device.pq.pojo.param.LineDataQualityParam; import com.njcn.device.pq.pojo.param.LineDataQualityParam;
import com.njcn.supervision.enums.SupervisionUserStatusEnum;
import com.njcn.supervision.mapper.device.SupervisionTempLineReportMapper; import com.njcn.supervision.mapper.device.SupervisionTempLineReportMapper;
import com.njcn.supervision.mapper.device.SupervisionTempLineRunTestMapper; import com.njcn.supervision.mapper.device.SupervisionTempLineRunTestMapper;
import com.njcn.supervision.pojo.param.device.SupervisionTempLineRunTestParam; import com.njcn.supervision.pojo.param.device.SupervisionTempLineRunTestParam;
@@ -23,8 +24,10 @@ import com.njcn.supervision.pojo.po.device.SupervisionTempLineReport;
import com.njcn.supervision.pojo.po.device.SupervisionTempLineRunTestPO; import com.njcn.supervision.pojo.po.device.SupervisionTempLineRunTestPO;
import com.njcn.supervision.pojo.vo.device.SupervisionTempLineRunTestVO; import com.njcn.supervision.pojo.vo.device.SupervisionTempLineRunTestVO;
import com.njcn.supervision.service.device.ISupervisionTempLineRunTestService; import com.njcn.supervision.service.device.ISupervisionTempLineRunTestService;
import com.njcn.supervision.service.user.UserReportPOService;
import lombok.RequiredArgsConstructor; import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
@@ -58,8 +61,10 @@ public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl<Supervisi
private final BpmProcessFeignClient bpmProcessFeignClient; private final BpmProcessFeignClient bpmProcessFeignClient;
private final UserReportPOService userReportPOService;
@Override @Override
@Transactional(rollbackFor = Exception.class)
public Boolean addRunTest(SupervisionTempLineRunTestParam supervisionTempLineRunTestParam) { public Boolean addRunTest(SupervisionTempLineRunTestParam supervisionTempLineRunTestParam) {
List<String> ids = supervisionTempLineRunTestParam.getLineIds(); List<String> ids = supervisionTempLineRunTestParam.getLineIds();
@@ -160,13 +165,14 @@ public class SupervisionTempLineRunTestServiceImpl extends ServiceImpl<Supervisi
} }
@Override @Override
@Transactional(rollbackFor = Exception.class)
public void updateStatus(String businessKey, Integer status) { public void updateStatus(String businessKey, Integer status) {
SupervisionTempLineRunTestPO supervisionTempLineRunTestPO = this.baseMapper.selectById(businessKey); SupervisionTempLineRunTestPO supervisionTempLineRunTestPO = this.baseMapper.selectById(businessKey);
//如果状态为审批通过 //如果状态为审批通过
if (status.equals(BpmProcessInstanceStatusEnum.APPROVE.getStatus())) { if (status.equals(BpmProcessInstanceStatusEnum.APPROVE.getStatus())) {
//通过,则需要远程将该装置调整为退运 userReportPOService.updateUserStatus(businessKey, SupervisionUserStatusEnum.PRODUCT.getCode());
supervisionTempLineRunTestPO.setStatus(status);
} }
supervisionTempLineRunTestPO.setStatus(status);
this.updateById(supervisionTempLineRunTestPO); this.updateById(supervisionTempLineRunTestPO);
} }

View File

@@ -37,4 +37,6 @@ public interface UserReportPOService extends IService<UserReportPO> {
Page<UserReportVO> getInterferenceUserPage(UserReportParam.UserReportQueryParam userReportQueryParam); Page<UserReportVO> getInterferenceUserPage(UserReportParam.UserReportQueryParam userReportQueryParam);
String cancelUserReport(BpmProcessInstanceCancelParam cancelReqVO); String cancelUserReport(BpmProcessInstanceCancelParam cancelReqVO);
void updateUserStatus(String lineId, Integer userStatus);
} }

View File

@@ -14,10 +14,14 @@ import com.njcn.bpm.pojo.dto.BpmProcessInstanceCreateReqDTO;
import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam; import com.njcn.bpm.pojo.param.instance.BpmProcessInstanceCancelParam;
import com.njcn.common.pojo.enums.common.DataStateEnum; import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.common.pojo.exception.BusinessException; import com.njcn.common.pojo.exception.BusinessException;
import com.njcn.device.pq.api.LineFeignClient;
import com.njcn.device.pq.pojo.po.LineDetail;
import com.njcn.supervision.enums.FlowStatusEnum; import com.njcn.supervision.enums.FlowStatusEnum;
import com.njcn.supervision.enums.UserNatureEnum; import com.njcn.supervision.enums.UserNatureEnum;
import com.njcn.supervision.mapper.device.SupervisionTempLineReportMapper;
import com.njcn.supervision.mapper.user.UserReportPOMapper; import com.njcn.supervision.mapper.user.UserReportPOMapper;
import com.njcn.supervision.pojo.param.user.UserReportParam; import com.njcn.supervision.pojo.param.user.UserReportParam;
import com.njcn.supervision.pojo.po.device.SupervisionTempLineReport;
import com.njcn.supervision.pojo.po.user.UserReportPO; import com.njcn.supervision.pojo.po.user.UserReportPO;
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;
@@ -66,6 +70,8 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
private final BpmProcessFeignClient bpmProcessFeignClient; private final BpmProcessFeignClient bpmProcessFeignClient;
private final UserFeignClient userFeignClient; private final UserFeignClient userFeignClient;
private final DeptFeignClient deptFeignClient; private final DeptFeignClient deptFeignClient;
private final SupervisionTempLineReportMapper supervisionTempLineReportMapper;
private final LineFeignClient lineFeignClient;
@@ -307,6 +313,33 @@ public class UserReportPOServiceImpl extends ServiceImpl<UserReportPOMapper, Use
return userReportPO.getId(); return userReportPO.getId();
} }
@Override
@Transactional(rollbackFor = Exception.class)
public void updateUserStatus(String lineId, Integer userStatus) {
SupervisionTempLineReport supervisionTempLineReport = supervisionTempLineReportMapper.selectById(lineId);
String userId = supervisionTempLineReport.getUserId();
UserReportPO userReportPO = this.baseMapper.selectById(userId);
//如果目前的干扰源用户状态>userStatus则不修改如果将干扰源用户状态改为3退运则必须其下的监测点都退运才能修改
if(userReportPO.getUserStatus()<userStatus){
if (userStatus==3){
List<SupervisionTempLineReport> supervisionTempLineReports = supervisionTempLineReportMapper.selectList(new QueryWrapper<SupervisionTempLineReport>().lambda().eq(SupervisionTempLineReport::getUserId, userId));
List<String> lineIds = supervisionTempLineReports.stream().map(SupervisionTempLineReport::getId).collect(Collectors.toList());
List<LineDetail> data = lineFeignClient.getLineDetail(lineIds).getData();
List<Integer> collect1 = data.stream().filter(temp -> !Objects.equals(temp.getId(), lineId))
.map(LineDetail::getRunFlag)
.filter(temp -> !Objects.equals(temp, 2))
.collect(Collectors.toList());
if(CollectionUtil.isEmpty(data)){
userReportPO.setUserStatus(userStatus);
}
}else {
userReportPO.setUserStatus(userStatus);
}
}
this.updateById(userReportPO);
}
/** /**
* 获取所有字段为null的属性名 * 获取所有字段为null的属性名