设备退运工作流程完成

This commit is contained in:
2024-05-14 15:20:47 +08:00
parent fc2f2d767a
commit d5f57a65bd
32 changed files with 506 additions and 47 deletions

View File

@@ -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);
}

View File

@@ -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) {