退运流程的基础文件提交

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,54 @@
package com.njcn.supervision.controller.device;
import com.njcn.common.pojo.annotation.OperateInfo;
import com.njcn.common.pojo.constant.OperateType;
import com.njcn.common.pojo.enums.common.LogEnum;
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
import com.njcn.common.pojo.response.HttpResult;
import com.njcn.common.utils.HttpResultUtil;
import com.njcn.supervision.pojo.param.device.QuitRunningDeviceParam;
import com.njcn.supervision.pojo.param.user.UserReportParam;
import com.njcn.supervision.service.device.IQuitRunningDeviceService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiOperation;
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.RestController;
import com.njcn.web.controller.BaseController;
/**
* <p>
* 前端控制器
* </p>
*
* @author hongawen
* @since 2024-05-13
*/
@Slf4j
@RestController
@RequestMapping("/quitRunningDevice")
@Api(tags = "干扰源用户管理")
@AllArgsConstructor
public class QuitRunningDeviceController extends BaseController {
private final IQuitRunningDeviceService quitRunningDeviceService;
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType= OperateType.ADD)
@PostMapping("/add")
@ApiOperation("新增设备退运")
@ApiImplicitParam(name = "quitRunningDeviceParam", value = "实体参数", required = true)
public HttpResult<String> addRunningDevice(@RequestBody @Validated QuitRunningDeviceParam quitRunningDeviceParam){
String methodDescribe = getMethodDescribe("addRunningDevice");
String runningDeviceId = quitRunningDeviceService.addRunningDevice(quitRunningDeviceParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, runningDeviceId, methodDescribe);
}
}

View File

@@ -46,7 +46,6 @@ public class UserReportManageController extends BaseController {
String methodDescribe = getMethodDescribe("addUserReport");
String userReportId = userReportPOService.addUserReport(userReportParam);
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, userReportId, methodDescribe);
}
@OperateInfo(info = LogEnum.BUSINESS_COMMON,operateType= OperateType.ADD)

View File

@@ -0,0 +1,16 @@
package com.njcn.supervision.mapper.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.njcn.supervision.pojo.po.device.QuitRunningDevice;
/**
* <p>
* Mapper 接口
* </p>
*
* @author hongawen
* @since 2024-05-13
*/
public interface QuitRunningDeviceMapper extends BaseMapper<QuitRunningDevice> {
}

View File

@@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.njcn.supervision.mapper.mapper.QuitRunningDeviceMapper">
</mapper>

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...
}
}