设备退运工作流程完成
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
package com.njcn.supervision.api;
|
||||
|
||||
import com.njcn.common.pojo.constant.ServerInfo;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.supervision.api.fallback.QuitRunningDeviceFeignClientFallbackFactory;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
|
||||
|
||||
/**
|
||||
* 流程实例 Api 接口
|
||||
*
|
||||
* @author hongawen
|
||||
*/
|
||||
@FeignClient(value = ServerInfo.SUPERVISION, path = "/quitRunningDevice", fallbackFactory = QuitRunningDeviceFeignClientFallbackFactory.class)
|
||||
public interface QuitRunningDeviceFeignClient {
|
||||
|
||||
@GetMapping("/updateDeviceStatus")
|
||||
HttpResult<Object> updateDeviceStatus(@RequestParam("businessKey") String businessKey, @RequestParam("status")Integer status);
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
package com.njcn.supervision.api.fallback;
|
||||
|
||||
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.common.pojo.response.HttpResult;
|
||||
import com.njcn.supervision.api.QuitRunningDeviceFeignClient;
|
||||
import com.njcn.supervision.utils.SupervisionEnumUtil;
|
||||
import feign.hystrix.FallbackFactory;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
/**
|
||||
* @author denghuajun
|
||||
* @version 1.0.0
|
||||
* @date 2022/3/16
|
||||
*/
|
||||
@Slf4j
|
||||
@Component
|
||||
public class QuitRunningDeviceFeignClientFallbackFactory implements FallbackFactory<QuitRunningDeviceFeignClient> {
|
||||
@Override
|
||||
public QuitRunningDeviceFeignClient create(Throwable throwable) {
|
||||
//判断抛出异常是否为解码器抛出的业务异常
|
||||
Enum<?> exceptionEnum = CommonResponseEnum.SERVICE_FALLBACK;
|
||||
if (throwable.getCause() instanceof BusinessException) {
|
||||
BusinessException businessException = (BusinessException) throwable.getCause();
|
||||
exceptionEnum = SupervisionEnumUtil.getExceptionEnum(businessException.getResult());
|
||||
}
|
||||
Enum<?> finalExceptionEnum = exceptionEnum;
|
||||
return new QuitRunningDeviceFeignClient() {
|
||||
@Override
|
||||
public HttpResult<Object> updateDeviceStatus(String businessKey, Integer status) {
|
||||
log.error("{}异常,降级处理,异常为:{}", "更新退运装置数据流程状态", throwable.toString());
|
||||
throw new BusinessException(finalExceptionEnum);
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
@@ -30,6 +30,15 @@ public class QuitRunningDeviceVO extends BaseEntity implements Serializable{
|
||||
@ApiModelProperty(value = "设备编号")
|
||||
private String deviceId;
|
||||
|
||||
@ApiModelProperty("供电公司名称")
|
||||
private String gdName;
|
||||
|
||||
@ApiModelProperty("变电站名称")
|
||||
private String subName;
|
||||
|
||||
@ApiModelProperty("母线名称")
|
||||
private String volName;
|
||||
|
||||
/**
|
||||
* 设备名称
|
||||
*/
|
||||
@@ -42,6 +51,12 @@ public class QuitRunningDeviceVO extends BaseEntity implements Serializable{
|
||||
@ApiModelProperty(value = "设备类型")
|
||||
private Integer deviceType;
|
||||
|
||||
/**
|
||||
* 设备状态
|
||||
*/
|
||||
@ApiModelProperty(value = "设备状态")
|
||||
private Integer deviceStatus;
|
||||
|
||||
/**
|
||||
* 资产编号
|
||||
*/
|
||||
|
||||
@@ -36,6 +36,12 @@
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.njcn</groupId>
|
||||
<artifactId>pq-device-api</artifactId>
|
||||
<version>${project.version}</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.njcn</groupId>
|
||||
<artifactId>common-web</artifactId>
|
||||
|
||||
@@ -16,14 +16,12 @@ import com.njcn.supervision.service.device.IQuitRunningDeviceService;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.v3.oas.annotations.Operation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
|
||||
/**
|
||||
@@ -63,6 +61,25 @@ public class QuitRunningDeviceController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, runningDeviceId, methodDescribe);
|
||||
}
|
||||
|
||||
@GetMapping("/updateDeviceStatus")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@Operation(summary = "更新退运装置流程状态")
|
||||
public HttpResult<Object> updateDeviceStatus(String businessKey,Integer status) {
|
||||
String methodDescribe = getMethodDescribe("updateDeviceStatus");
|
||||
quitRunningDeviceService.updateDeviceStatus(businessKey,status);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}
|
||||
|
||||
@GetMapping("/getById")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@Operation(summary = "根据id获取设备的详细数据")
|
||||
public HttpResult<QuitRunningDeviceVO> getById(String id) {
|
||||
String methodDescribe = getMethodDescribe("getById");
|
||||
QuitRunningDeviceVO quitRunningDeviceVO = quitRunningDeviceService.getVOById(id);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, quitRunningDeviceVO, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -72,7 +72,7 @@ public class UserReportManageController extends BaseController {
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/removeUserReport")
|
||||
@ApiOperation("查询干扰源用户")
|
||||
@ApiOperation("删除干扰源用户记录")
|
||||
public HttpResult<Boolean> removeUserReport(@RequestParam("ids") List<String> ids){
|
||||
String methodDescribe = getMethodDescribe("removeUserReport");
|
||||
Boolean flag = userReportPOService.removeUserReport(ids);
|
||||
@@ -88,13 +88,16 @@ public class UserReportManageController extends BaseController {
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, userReportVO, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
|
||||
@GetMapping("/updateUserReportStatus")
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@Operation(summary = "根据id获取用户档案录入的详细数据")
|
||||
@Operation(summary = "更新用户数据流程状态")
|
||||
public HttpResult<Object> updateUserReportStatus(String businessKey,Integer status) {
|
||||
String methodDescribe = getMethodDescribe("updateUserReportStatus");
|
||||
userReportPOService.updateUserReportStatus(businessKey,status);
|
||||
userReportPOService.updateUserReportStatus(businessKey,status);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, null, methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -4,14 +4,14 @@
|
||||
<!--获取流程表单分页列表-->
|
||||
<select id="page" resultType="QuitRunningDeviceVO">
|
||||
SELECT
|
||||
supervision_user_report.id,
|
||||
supervision_user_report.device_id,
|
||||
supervision_user_report.device_type,
|
||||
supervision_user_report.property_no,
|
||||
supervision_user_report.report_path,
|
||||
supervision_user_report.process_instance_id,
|
||||
supervision_user_report.create_time,
|
||||
supervision_user_report.status
|
||||
supervision_quit_running_device.id,
|
||||
supervision_quit_running_device.device_id,
|
||||
supervision_quit_running_device.device_type,
|
||||
supervision_quit_running_device.property_no,
|
||||
supervision_quit_running_device.report_path,
|
||||
supervision_quit_running_device.process_instance_id,
|
||||
supervision_quit_running_device.create_time,
|
||||
supervision_quit_running_device.status
|
||||
FROM supervision_quit_running_device supervision_quit_running_device
|
||||
WHERE ${ew.sqlSegment}
|
||||
</select>
|
||||
|
||||
@@ -19,4 +19,8 @@ public interface IQuitRunningDeviceService extends IService<QuitRunningDevice> {
|
||||
String addRunningDevice(QuitRunningDeviceParam quitRunningDeviceParam);
|
||||
|
||||
Page<QuitRunningDeviceVO> getQuitRunningDevice(QuitRunningDeviceParam.QuitRunningDeviceQueryParam quitRunningDeviceQueryParam);
|
||||
|
||||
void updateDeviceStatus(String businessKey, Integer status);
|
||||
|
||||
QuitRunningDeviceVO getVOById(String id);
|
||||
}
|
||||
|
||||
@@ -1,13 +1,21 @@
|
||||
package com.njcn.supervision.service.device.impl;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
||||
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.BpmProcessInstanceCreateReqDTO;
|
||||
import com.njcn.common.pojo.enums.common.DataStateEnum;
|
||||
import com.njcn.device.biz.enums.RunFlagEnum;
|
||||
import com.njcn.device.pq.api.LineFeignClient;
|
||||
import com.njcn.device.pq.pojo.po.line.LineInfoVO;
|
||||
import com.njcn.device.pq.pojo.vo.DeviceVO;
|
||||
import com.njcn.device.pq.pojo.vo.LineDetailDataVO;
|
||||
import com.njcn.device.pq.pojo.vo.LineDetailVO;
|
||||
import com.njcn.supervision.mapper.device.QuitRunningDeviceMapper;
|
||||
import com.njcn.supervision.pojo.param.device.QuitRunningDeviceParam;
|
||||
import com.njcn.supervision.pojo.po.device.QuitRunningDevice;
|
||||
@@ -19,6 +27,7 @@ import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
@@ -34,8 +43,12 @@ import java.util.Objects;
|
||||
@RequiredArgsConstructor
|
||||
public class QuitRunningDeviceServiceImpl extends ServiceImpl<QuitRunningDeviceMapper, QuitRunningDevice> implements IQuitRunningDeviceService {
|
||||
|
||||
|
||||
|
||||
private final BpmProcessFeignClient bpmProcessFeignClient;
|
||||
|
||||
private final LineFeignClient lineFeignClient;
|
||||
|
||||
/**
|
||||
* 设备退运对应的流程定义 KEY
|
||||
*/
|
||||
@@ -80,7 +93,76 @@ public class QuitRunningDeviceServiceImpl extends ServiceImpl<QuitRunningDeviceM
|
||||
}
|
||||
quitRunningDeviceVOQueryWrapper.orderByDesc("supervision_quit_running_device.create_time");
|
||||
//todo...根据设备id获取详细数据用于回显,待会做
|
||||
return this.baseMapper.page(new Page<>(PageFactory.getPageNum(quitRunningDeviceQueryParam), PageFactory.getPageSize(quitRunningDeviceQueryParam)), quitRunningDeviceVOQueryWrapper);
|
||||
Page<QuitRunningDeviceVO> page = this.baseMapper.page(new Page<>(PageFactory.getPageNum(quitRunningDeviceQueryParam), PageFactory.getPageSize(quitRunningDeviceQueryParam)), quitRunningDeviceVOQueryWrapper);
|
||||
List<QuitRunningDeviceVO> records = page.getRecords();
|
||||
if(CollectionUtil.isNotEmpty(records)){
|
||||
for (QuitRunningDeviceVO record : records) {
|
||||
if(record.getDeviceType() == 1){
|
||||
DeviceVO deviceVO = lineFeignClient.getDeviceDetailData(record.getDeviceId()).getData();
|
||||
record.setDeviceName(deviceVO.getName());
|
||||
record.setDeviceStatus(deviceVO.getRunFlag());
|
||||
record.setGdName(deviceVO.getGdName());
|
||||
record.setSubName(deviceVO.getSubName());
|
||||
//获取装置详细信息
|
||||
}else if(record.getDeviceType() == 2){
|
||||
//获取监测点详细信息
|
||||
LineInfoVO lineInfoVO = lineFeignClient.getLineInfoVO(record.getDeviceId()).getData();
|
||||
record.setDeviceStatus(lineInfoVO.getRunFlag());
|
||||
record.setDeviceName(lineInfoVO.getVolName().concat("_").concat(lineInfoVO.getLineName()));
|
||||
record.setGdName(lineInfoVO.getGdName());
|
||||
record.setSubName(lineInfoVO.getSubName());
|
||||
}
|
||||
}
|
||||
}
|
||||
page.setRecords(records);
|
||||
return page;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* 监听该流程的状态
|
||||
*/
|
||||
@Override
|
||||
public void updateDeviceStatus(String businessKey, Integer status) {
|
||||
QuitRunningDevice quitRunningDevice = this.baseMapper.selectById(businessKey);
|
||||
//如果状态为审批通过
|
||||
if(status.equals(BpmProcessInstanceStatusEnum.APPROVE.getStatus())){
|
||||
//通过,则需要远程将该装置调整为退运
|
||||
if(quitRunningDevice.getDeviceType() == 1){
|
||||
//修改装置
|
||||
lineFeignClient.updateDeviceRunFlag(quitRunningDevice.getDeviceId(), RunFlagEnum.QUIT.getStatus());
|
||||
}else if(quitRunningDevice.getDeviceType() == 2){
|
||||
//修改监测点
|
||||
lineFeignClient.updateLineRunFlag(quitRunningDevice.getDeviceId(),RunFlagEnum.QUIT.getStatus());
|
||||
}
|
||||
}
|
||||
quitRunningDevice.setStatus(status);
|
||||
this.updateById(quitRunningDevice);
|
||||
}
|
||||
|
||||
@Override
|
||||
public QuitRunningDeviceVO getVOById(String id) {
|
||||
QuitRunningDevice quitRunningDevice = this.baseMapper.selectById(id);
|
||||
QuitRunningDeviceVO quitRunningDeviceVO = new QuitRunningDeviceVO();
|
||||
BeanUtils.copyProperties(quitRunningDevice, quitRunningDeviceVO);
|
||||
//通过,则需要远程将该装置调整为退运
|
||||
if(quitRunningDeviceVO.getDeviceType() == 1){
|
||||
DeviceVO deviceVO = lineFeignClient.getDeviceDetailData(quitRunningDeviceVO.getDeviceId()).getData();
|
||||
quitRunningDeviceVO.setDeviceName(deviceVO.getName());
|
||||
quitRunningDeviceVO.setDeviceStatus(deviceVO.getRunFlag());
|
||||
quitRunningDeviceVO.setGdName(deviceVO.getGdName());
|
||||
quitRunningDeviceVO.setSubName(deviceVO.getSubName());
|
||||
//获取装置详细信息
|
||||
}else if(quitRunningDeviceVO.getDeviceType() == 2){
|
||||
//获取监测点详细信息
|
||||
LineInfoVO lineInfoVO = lineFeignClient.getLineInfoVO(quitRunningDeviceVO.getDeviceId()).getData();
|
||||
quitRunningDeviceVO.setDeviceStatus(lineInfoVO.getRunFlag());
|
||||
quitRunningDeviceVO.setDeviceName(lineInfoVO.getVolName().concat("_").concat(lineInfoVO.getLineName()));
|
||||
quitRunningDeviceVO.setGdName(lineInfoVO.getGdName());
|
||||
quitRunningDeviceVO.setSubName(lineInfoVO.getSubName());
|
||||
quitRunningDeviceVO.setVolName(lineInfoVO.getVolName());
|
||||
}
|
||||
return quitRunningDeviceVO;
|
||||
}
|
||||
|
||||
private void checkDeviceStatus(QuitRunningDeviceParam quitRunningDeviceParam) {
|
||||
|
||||
Reference in New Issue
Block a user