退运流程的基础文件提交

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

@@ -42,7 +42,7 @@ public class BpmModelParam implements Serializable {
@ApiModelProperty("流程描述")
private String description;
private Integer formType = 10;
private Integer formType;
@ApiModelProperty("表单提交路由")
private String formCustomCreatePath;

View File

@@ -21,7 +21,7 @@ public class GenerateCode {
private static final String TARGET_DIR = "D://code";
private static final String DB_URL = "jdbc:mysql://192.168.1.24:13306/bpm";
private static final String DB_URL = "jdbc:mysql://192.168.1.24:13306/pqsinfo_jb";
// private static final String DB_URL = "jdbc:oracle:thin:@192.168.1.170:1521:pqsbase";
private static final String USERNAME = "root";
@@ -30,9 +30,9 @@ public class GenerateCode {
public static void main(String[] args) {
List<Module> modules = Stream.of(
new Module("hongawen", "com.njcn.bpm", "workflow", Stream.of(
"bpm_process_instance_copy"
).collect(Collectors.toList()), "bpm_")
new Module("hongawen", "com.njcn.supervision", "device", Stream.of(
"supervision_quit_running_device"
).collect(Collectors.toList()), "supervision_")
).collect(Collectors.toList());
generateJavaFile(modules);
}

View File

@@ -0,0 +1,96 @@
package com.njcn.supervision.pojo.param.device;
import com.njcn.db.bo.BaseEntity;
import com.njcn.web.pojo.param.BaseParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
/**
* <p>
*
* </p>
*
* @author hongawen
* @since 2024-05-13
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class QuitRunningDeviceParam extends BaseEntity implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 设备编号
*/
@ApiModelProperty(value = "设备编号")
@NotBlank(message = "设备编号不能为空")
private String deviceId;
/**
* 设备类型 1:装置2:监测点
*/
@ApiModelProperty(value = "设备类型")
@NotNull(message = "设备编号不能为空")
private Integer deviceType;
/**
* 资产编号
*/
@ApiModelProperty(value = "资产编号")
private String propertyNo;
/**
* 报告文件地址
*/
@ApiModelProperty(value = "报告文件地址")
private String reportPath;
/**
* 1:审批中2审批通过3审批不通过4已取消
*/
@ApiModelProperty(value = "审批状态")
private Integer status;
/**
* 流程实例的编号
*/
@ApiModelProperty(value = "流程实例的编号")
private String processInstanceId;
@ApiModelProperty("发起人自选审批人 Map")
private Map<String, List<String>> startUserSelectAssignees;
@Data
@EqualsAndHashCode(callSuper = true)
public static class QuitRunningDeviceUpdateParam extends QuitRunningDeviceParam {
@ApiModelProperty("id")
@NotBlank(message = "索引不能为空")
private String Id;
}
/**
* 分页查询实体
*/
@Data
@EqualsAndHashCode(callSuper = true)
public static class QuitRunningDeviceQueryParam extends BaseParam {
}
}

View File

@@ -141,7 +141,6 @@ public class UserReportParam extends BaseEntity {
@ApiModelProperty(value="所属区域")
private String city;
}

View File

@@ -0,0 +1,67 @@
package com.njcn.supervision.pojo.po.device;
import com.baomidou.mybatisplus.annotation.TableName;
import com.njcn.db.bo.BaseEntity;
import java.io.Serializable;
import java.time.LocalDateTime;
import lombok.Data;
import lombok.Getter;
import lombok.Setter;
/**
* <p>
*
* </p>
*
* @author hongawen
* @since 2024-05-13
*/
@Data
@TableName("supervision_quit_running_device")
public class QuitRunningDevice extends BaseEntity implements Serializable{
private static final long serialVersionUID = 1L;
/**
* 设备退运表索引
*/
private String id;
/**
* 设备编号
*/
private String deviceId;
/**
* 设备类型 1:装置2:监测点
*/
private Integer deviceType;
/**
* 资产编号
*/
private String propertyNo;
/**
* 报告文件地址
*/
private String reportPath;
/**
* 1:审批中2审批通过3审批不通过4已取消
*/
private Integer status;
/**
* 流程实例的编号
*/
private String processInstanceId;
/**
* 状态0-删除 1-正常
*/
private Integer state;
}

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