退运流程的基础文件提交

This commit is contained in:
2024-05-13 14:57:37 +08:00
parent 14fe1a7537
commit a8d229fe5d
11 changed files with 331 additions and 7 deletions

View File

@@ -0,0 +1,18 @@
package com.njcn.supervision.service.device;
import com.baomidou.mybatisplus.extension.service.IService;
import com.njcn.supervision.pojo.param.device.QuitRunningDeviceParam;
import com.njcn.supervision.pojo.po.device.QuitRunningDevice;
/**
* <p>
* 服务类
* </p>
*
* @author hongawen
* @since 2024-05-13
*/
public interface IQuitRunningDeviceService extends IService<QuitRunningDevice> {
String addRunningDevice(QuitRunningDeviceParam quitRunningDeviceParam);
}

View File

@@ -0,0 +1,70 @@
package com.njcn.supervision.service.device.impl;
import cn.hutool.core.collection.CollectionUtil;
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.BpmProcessInstanceCreateReqDTO;
import com.njcn.common.pojo.enums.common.DataStateEnum;
import com.njcn.supervision.enums.UserNatureEnum;
import com.njcn.supervision.mapper.mapper.QuitRunningDeviceMapper;
import com.njcn.supervision.pojo.param.device.QuitRunningDeviceParam;
import com.njcn.supervision.pojo.po.device.QuitRunningDevice;
import com.njcn.supervision.pojo.po.user.UserReportPO;
import com.njcn.supervision.pojo.po.user.UserReportProjectPO;
import com.njcn.supervision.pojo.po.user.UserReportSensitivePO;
import com.njcn.supervision.pojo.po.user.UserReportSubstationPO;
import com.njcn.supervision.service.device.IQuitRunningDeviceService;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import java.util.HashMap;
import java.util.Map;
/**
* <p>
* 服务实现类
* </p>
*
* @author hongawen
* @since 2024-05-13
*/
@Service
@RequiredArgsConstructor
public class QuitRunningDeviceServiceImpl extends ServiceImpl<QuitRunningDeviceMapper, QuitRunningDevice> implements IQuitRunningDeviceService {
private final BpmProcessFeignClient bpmProcessFeignClient;
/**
* 设备退运对应的流程定义 KEY
*/
public static final String PROCESS_KEY = "quit_running_device";
@Override
public String addRunningDevice(QuitRunningDeviceParam quitRunningDeviceParam) {
//判断设备状态,是不是已经退运了
checkDeviceStatus(quitRunningDeviceParam);
QuitRunningDevice quitRunningDevice = new QuitRunningDevice();
BeanUtils.copyProperties(quitRunningDeviceParam, quitRunningDevice);
quitRunningDevice.setState(DataStateEnum.ENABLE.getCode());
quitRunningDevice.setStatus(BpmTaskStatusEnum.RUNNING.getStatus());
this.save(quitRunningDevice);
// 发起 BPM 流程
Map<String, Object> processInstanceVariables = new HashMap<>();
BpmProcessInstanceCreateReqDTO bpmProcessInstanceCreateReqDTO = new BpmProcessInstanceCreateReqDTO();
bpmProcessInstanceCreateReqDTO.setProcessDefinitionKey(PROCESS_KEY);
bpmProcessInstanceCreateReqDTO.setBusinessKey(quitRunningDevice.getId());
bpmProcessInstanceCreateReqDTO.setStartUserSelectAssignees(quitRunningDeviceParam.getStartUserSelectAssignees());
bpmProcessInstanceCreateReqDTO.setVariables(processInstanceVariables);
String processInstanceId = bpmProcessFeignClient.createProcessInstance(quitRunningDevice.getCreateBy(),bpmProcessInstanceCreateReqDTO).getData();
// 将工作流的编号,更新到流程单中
quitRunningDevice.setProcessInstanceId(processInstanceId);
this.baseMapper.updateById(quitRunningDevice);
return quitRunningDevice.getId();
}
private void checkDeviceStatus(QuitRunningDeviceParam quitRunningDeviceParam) {
//todo...
}
}