技术监督退运流程
This commit is contained in:
@@ -11,6 +11,9 @@ import com.njcn.advance.pojo.carrycapacity.param.CarryCapacityUserParam;
|
||||
import com.njcn.advance.pojo.carrycapacity.po.CarryCapacityUserPO;
|
||||
import com.njcn.advance.service.carrycapacity.CarryCapacityUserPOService;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.user.api.UserFeignClient;
|
||||
import com.njcn.user.pojo.vo.UserVO;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -27,8 +30,9 @@ import java.util.Objects;
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class CarryCapacityUserPOServiceImpl extends ServiceImpl<CarryCapacityUserPOMapper, CarryCapacityUserPO> implements CarryCapacityUserPOService{
|
||||
|
||||
private final UserFeignClient userFeignClient;
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean add(CarryCapacityUserParam carryCapacityUserParam) {
|
||||
@@ -70,6 +74,11 @@ public class CarryCapacityUserPOServiceImpl extends ServiceImpl<CarryCapacityUse
|
||||
orderByDesc(CarryCapacityUserPO::getCreateTime);
|
||||
|
||||
IPage<CarryCapacityUserPO> page = this.page (returnpage, queryWrapper);
|
||||
page.getRecords().stream().forEach(temp->{
|
||||
UserVO user = userFeignClient.getUserById(temp.getCreateBy()).getData();
|
||||
|
||||
temp.setCreateBy(user.getName());
|
||||
});
|
||||
return page;
|
||||
}
|
||||
|
||||
|
||||
@@ -24,8 +24,10 @@ public enum ProcessResponseEnum {
|
||||
TERMINAL_ID_REPEAT("A00351","终端编号已存在"),
|
||||
NO_PERMISSION("A00357","当前登录人无权限此项操作"),
|
||||
|
||||
SUPV_PLAN_REPEAT("A00568","监督计划名称已存在")
|
||||
;
|
||||
SUPV_PLAN_REPEAT("A00568","监督计划名称已存在"),
|
||||
NO_UPDATE("A00568","该申请单非新建,驳回状态不准许更新"),
|
||||
|
||||
;
|
||||
|
||||
private final String code;
|
||||
|
||||
|
||||
@@ -14,8 +14,11 @@ public enum ThsFlowTypeEnum {
|
||||
|
||||
|
||||
rGeneralSurvey("电站普测计划",1),
|
||||
rLoadTypeUser("干扰源用户新建计划",2)
|
||||
|
||||
rLoadTypeUser("干扰源用户新建计划",2),
|
||||
powerQualityManagement("电能质量管理",3),
|
||||
monitoringReturned("监测设备退运",4),
|
||||
monitoringSwitch("监测设备接入",5),
|
||||
monitoringAccept("监测设备验收",6),
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -0,0 +1,110 @@
|
||||
package com.njcn.process.pojo.param;
|
||||
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* Date: 2024/4/15 16:24【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class RFlowProcessParm {
|
||||
|
||||
|
||||
/**
|
||||
* 申请流程类型
|
||||
*/
|
||||
@ApiModelProperty(value = "申请流程类型")
|
||||
private Integer applyType;
|
||||
|
||||
@ApiModelProperty(value = "申请单类型")
|
||||
private Integer type;
|
||||
|
||||
/**
|
||||
* 单位ID
|
||||
*/
|
||||
@ApiModelProperty(value = "单位ID")
|
||||
private String orgNo;
|
||||
|
||||
/**
|
||||
* 申请单详情
|
||||
*/
|
||||
@ApiModelProperty(value = "申请单详情")
|
||||
private String applicationFormText;
|
||||
|
||||
/**
|
||||
* 文件路径
|
||||
*/
|
||||
@ApiModelProperty(value = "文件路径")
|
||||
private String filePath;
|
||||
|
||||
|
||||
/**
|
||||
* 上传时间
|
||||
*/
|
||||
@ApiModelProperty(value = "上传时间")
|
||||
private LocalDate uploadTime;
|
||||
|
||||
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
@ApiModelProperty(value = "审核人")
|
||||
private String checker;
|
||||
|
||||
/**
|
||||
* 审核人名称
|
||||
*/
|
||||
@ApiModelProperty(value = "审核人名称")
|
||||
private String checkerName;
|
||||
|
||||
|
||||
/**
|
||||
* 流程状态(1-新建,2-待审核,3-驳回,4-归档)
|
||||
*/
|
||||
@ApiModelProperty(value = "流程状态")
|
||||
private String processStatus;
|
||||
|
||||
|
||||
@ApiModelProperty(value = "操作1-保存,2-直接提交审核")
|
||||
private String operate ;
|
||||
|
||||
@Data
|
||||
public static class RFlowProcessUpdate extends RFlowProcessParm {
|
||||
@ApiModelProperty("id")
|
||||
private String Id;
|
||||
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class RFlowProcessCheck extends RFlowProcessParm {
|
||||
@ApiModelProperty("id")
|
||||
private String Id;
|
||||
/**
|
||||
* 审核备注
|
||||
*/
|
||||
@ApiModelProperty(value = "审核备注")
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 状态(0-不通过,1-通过)
|
||||
*/
|
||||
@ApiModelProperty(value = "状态")
|
||||
private Integer checkStatus;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,102 @@
|
||||
package com.njcn.process.pojo.po;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.njcn.db.bo.BaseEntity;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.time.LocalDate;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* Date: 2024/4/15 16:24【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Data
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
@TableName(value = "r_flow_process")
|
||||
public class RFlowProcessPO extends BaseEntity {
|
||||
/**
|
||||
* 申请流程id
|
||||
*/
|
||||
@TableId(value = "id", type = IdType.ASSIGN_UUID)
|
||||
private String id;
|
||||
|
||||
|
||||
/**
|
||||
* 申请表单类型
|
||||
*/
|
||||
@TableField(value = "`type`")
|
||||
private String type;
|
||||
|
||||
/**
|
||||
* 单位ID
|
||||
*/
|
||||
@TableField(value = "org_no")
|
||||
private String orgNo;
|
||||
|
||||
/**
|
||||
* 申请单详情
|
||||
*/
|
||||
@TableField(value = "application_form_text")
|
||||
private String applicationFormText;
|
||||
|
||||
/**
|
||||
* 文件路径
|
||||
*/
|
||||
@TableField(value = "file_path")
|
||||
private String filePath;
|
||||
|
||||
/**
|
||||
* 上传时间
|
||||
*/
|
||||
@TableField(value = "upload_time")
|
||||
private LocalDate uploadTime;
|
||||
|
||||
/**
|
||||
* 审核名称
|
||||
*/
|
||||
@TableField(value = "checker_name")
|
||||
private String checkerName;
|
||||
|
||||
/**
|
||||
* 审核人
|
||||
*/
|
||||
@TableField(value = "checker")
|
||||
private String checker;
|
||||
|
||||
/**
|
||||
* 审核备注
|
||||
*/
|
||||
@TableField(value = "description")
|
||||
private String description;
|
||||
|
||||
/**
|
||||
* 状态(0-不通过,1-通过)
|
||||
*/
|
||||
@TableField(value = "check_status")
|
||||
private Integer checkStatus;
|
||||
|
||||
/**
|
||||
* 流程状态(1-新建,2-待审核,3-驳回,4-已审核,5-已归档)
|
||||
*/
|
||||
@TableField(value = "process_status")
|
||||
private Integer processStatus;
|
||||
|
||||
/**
|
||||
* 申请流程类型
|
||||
*/
|
||||
@TableField(value = "apply_type")
|
||||
private Integer applyType;
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -0,0 +1,100 @@
|
||||
package com.njcn.process.controller;
|
||||
|
||||
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.minioss.bo.MinIoUploadResDTO;
|
||||
import com.njcn.oss.constant.OssPath;
|
||||
import com.njcn.oss.utils.FileStorageUtil;
|
||||
import com.njcn.process.pojo.param.RFlowProcessParm;
|
||||
import com.njcn.process.service.RFlowProcessPOService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
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.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* 接口文档访问地址:http://serverIP:port/swagger-ui.html
|
||||
* Date: 2022/11/11 14:50【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/rFlowProcess")
|
||||
@Api(tags = "申请单")
|
||||
@AllArgsConstructor
|
||||
public class RFlowProcessController extends BaseController {
|
||||
|
||||
private final RFlowProcessPOService rFlowProcessPOService;
|
||||
private final FileStorageUtil fileStorageUtil;
|
||||
|
||||
/**
|
||||
* @Description: 新增申请单
|
||||
* @Param: [rGeneralSurveyPlanAddParm]
|
||||
* @return: com.njcn.common.pojo.response.HttpResult<java.lang.Boolean>
|
||||
* @Author: clam
|
||||
* @Date: 2022/11/22
|
||||
*/
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/add")
|
||||
@ApiOperation("新增申请单")
|
||||
@ApiImplicitParam(name = "rFlowProcessParm", value = "新增普测计划参数", required = true)
|
||||
public HttpResult<Boolean> add(@RequestBody @Validated RFlowProcessParm rFlowProcessParm) {
|
||||
String methodDescribe = getMethodDescribe("add");
|
||||
Boolean addFlag = rFlowProcessPOService.add(rFlowProcessParm);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, addFlag, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/update")
|
||||
@ApiOperation("更新申请单")
|
||||
@ApiImplicitParam(name = "rFlowProcessParm", value = "新增普测计划参数", required = true)
|
||||
public HttpResult<Boolean> update(@RequestBody @Validated RFlowProcessParm.RFlowProcessUpdate rFlowProcessParm) {
|
||||
String methodDescribe = getMethodDescribe("update");
|
||||
Boolean addFlag = rFlowProcessPOService.update(rFlowProcessParm);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, addFlag, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/check")
|
||||
@ApiOperation("审核申请单")
|
||||
@ApiImplicitParam(name = "rFlowProcessCheck", value = "新增普测计划参数", required = true)
|
||||
public HttpResult<Boolean> check(@RequestBody @Validated RFlowProcessParm.RFlowProcessCheck rFlowProcessCheck) {
|
||||
String methodDescribe = getMethodDescribe("check");
|
||||
Boolean addFlag = rFlowProcessPOService.check(rFlowProcessCheck);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, addFlag, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON)
|
||||
@PostMapping("/file")
|
||||
@ApiOperation("归档")
|
||||
public HttpResult<Boolean> file(@RequestParam String id) {
|
||||
String methodDescribe = getMethodDescribe("file");
|
||||
Boolean addFlag = rFlowProcessPOService.file(id);
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, addFlag, methodDescribe);
|
||||
}
|
||||
|
||||
@OperateInfo(info = LogEnum.BUSINESS_COMMON, operateType = OperateType.UPLOAD)
|
||||
@PostMapping("/uploadFile")
|
||||
@ApiOperation("上传文件")
|
||||
@ApiImplicitParam(name = "file", value = "文件", required = true)
|
||||
public HttpResult<MinIoUploadResDTO> uploadFile(@RequestParam("file") MultipartFile file){
|
||||
String methodDescribe = getMethodDescribe("uploadFile");
|
||||
String filePath = fileStorageUtil.getFileUrl( fileStorageUtil.uploadMultipart(file, OssPath.ELECTRICITY_QUALITY));
|
||||
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS,new MinIoUploadResDTO(file.getOriginalFilename(),filePath), methodDescribe);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -7,24 +7,15 @@ import com.njcn.common.utils.HttpResultUtil;
|
||||
import com.njcn.process.pojo.dto.flowable.FlowProcDefDto;
|
||||
import com.njcn.process.pojo.dto.flowable.FlowSaveXmlVo;
|
||||
import com.njcn.process.service.flowable.IFlowDefinitionService;
|
||||
import com.njcn.process.service.flowable.IFlowTaskService;
|
||||
import com.njcn.web.controller.BaseController;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.io.IOUtils;
|
||||
import org.flowable.common.engine.api.FlowableObjectNotFoundException;
|
||||
import org.flowable.engine.HistoryService;
|
||||
import org.flowable.engine.RepositoryService;
|
||||
import org.flowable.engine.RuntimeService;
|
||||
import org.flowable.engine.TaskService;
|
||||
import org.flowable.engine.history.HistoricProcessInstance;
|
||||
import org.flowable.engine.repository.Deployment;
|
||||
import org.flowable.engine.repository.ProcessDefinition;
|
||||
import org.flowable.engine.runtime.ProcessInstance;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import java.io.ByteArrayInputStream;
|
||||
@@ -35,8 +26,6 @@ import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
import static cn.hutool.core.util.CharsetUtil.UTF_8;
|
||||
|
||||
/**
|
||||
* pqs
|
||||
* 工作流
|
||||
|
||||
@@ -15,15 +15,8 @@ import io.swagger.annotations.ApiOperation;
|
||||
import io.swagger.annotations.ApiParam;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
|
||||
import javax.imageio.ImageIO;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import java.awt.image.BufferedImage;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.OutputStream;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
@@ -53,6 +46,13 @@ public class FlowTaskController extends BaseController {
|
||||
return null;
|
||||
}
|
||||
|
||||
@ApiOperation(value = "工作流_流转")
|
||||
@PostMapping(value = "/toNextTaskUser")
|
||||
public HttpResult toNextTaskUser(@RequestBody FlowTaskVo flowTaskVo) {
|
||||
flowTaskService.toNextTaskUser(flowTaskVo);
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
package com.njcn.process.mapper;
|
||||
|
||||
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
|
||||
import com.njcn.process.pojo.po.RFlowProcessPO;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* Date: 2024/4/16 8:49【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface RFlowProcessPOMapper extends BaseMapper<RFlowProcessPO> {
|
||||
}
|
||||
@@ -0,0 +1,30 @@
|
||||
<?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.process.mapper.RFlowProcessPOMapper">
|
||||
<resultMap id="BaseResultMap" type="com.njcn.process.pojo.po.RFlowProcessPO">
|
||||
<!--@mbg.generated-->
|
||||
<!--@Table r_flow_process-->
|
||||
<id column="id" jdbcType="VARCHAR" property="id" />
|
||||
<result column="type" jdbcType="VARCHAR" property="type" />
|
||||
<result column="org_no" jdbcType="VARCHAR" property="orgNo" />
|
||||
<result column="application_form_text" jdbcType="VARCHAR" property="applicationFormText" />
|
||||
<result column="file_path" jdbcType="VARCHAR" property="filePath" />
|
||||
<result column="upload_time" jdbcType="DATE" property="uploadTime" />
|
||||
<result column="checker_name" jdbcType="VARCHAR" property="checkerName" />
|
||||
<result column="checker" jdbcType="VARCHAR" property="checker" />
|
||||
<result column="description" jdbcType="VARCHAR" property="description" />
|
||||
<result column="check_status" jdbcType="VARCHAR" property="checkStatus" />
|
||||
<result column="process_status" jdbcType="VARCHAR" property="processStatus" />
|
||||
<result column="apply_type" jdbcType="VARCHAR" property="applyType" />
|
||||
<result column="Create_By" jdbcType="CHAR" property="createBy" />
|
||||
<result column="Create_Time" jdbcType="TIMESTAMP" property="createTime" />
|
||||
<result column="Update_By" jdbcType="CHAR" property="updateBy" />
|
||||
<result column="Update_Time" jdbcType="TIMESTAMP" property="updateTime" />
|
||||
</resultMap>
|
||||
<sql id="Base_Column_List">
|
||||
<!--@mbg.generated-->
|
||||
id, `type`, org_no, application_form_text, file_path, upload_time, checker_name,
|
||||
checker, description, check_status, process_status, apply_type, Create_By, Create_Time,
|
||||
Update_By, Update_Time
|
||||
</sql>
|
||||
</mapper>
|
||||
@@ -0,0 +1,24 @@
|
||||
package com.njcn.process.service;
|
||||
|
||||
import com.njcn.process.pojo.param.RFlowProcessParm;
|
||||
import com.njcn.process.pojo.po.RFlowProcessPO;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* Date: 2024/4/15 16:24【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
public interface RFlowProcessPOService extends IService<RFlowProcessPO>{
|
||||
|
||||
|
||||
Boolean add(RFlowProcessParm rFlowProcessParm);
|
||||
|
||||
Boolean update(RFlowProcessParm.RFlowProcessUpdate rFlowProcessParm);
|
||||
|
||||
Boolean check(RFlowProcessParm.RFlowProcessCheck rFlowProcessCheck);
|
||||
|
||||
Boolean file(String id);
|
||||
}
|
||||
@@ -18,11 +18,16 @@ import com.njcn.device.biz.pojo.dto.LineALLInfoDTO;
|
||||
import com.njcn.oss.constant.OssPath;
|
||||
import com.njcn.oss.utils.FileStorageUtil;
|
||||
import com.njcn.process.enums.ProcessResponseEnum;
|
||||
import com.njcn.process.enums.ThsFlowTypeEnum;
|
||||
import com.njcn.process.mapper.*;
|
||||
import com.njcn.process.pojo.param.*;
|
||||
import com.njcn.process.pojo.po.*;
|
||||
import com.njcn.process.pojo.vo.*;
|
||||
import com.njcn.process.pojo.vo.flowable.FlowTaskVo;
|
||||
import com.njcn.process.service.IssuesService;
|
||||
import com.njcn.process.service.flowable.IFlowDefinitionService;
|
||||
import com.njcn.process.service.flowable.IFlowInstanceService;
|
||||
import com.njcn.process.service.flowable.IFlowTaskService;
|
||||
import com.njcn.system.api.DicDataFeignClient;
|
||||
import com.njcn.system.enums.DicDataEnum;
|
||||
import com.njcn.system.enums.DicDataTypeEnum;
|
||||
@@ -32,16 +37,14 @@ import com.njcn.user.pojo.vo.PvTerminalTreeVO;
|
||||
import com.njcn.web.utils.RequestUtil;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.flowable.task.api.Task;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
@@ -76,7 +79,16 @@ public class IssuesServiceImpl implements IssuesService {
|
||||
|
||||
private final FileStorageUtil fileStorageUtil;
|
||||
private final CommLineClient commLineClient;
|
||||
private final FlowableAssMapper flowableAssMapper;
|
||||
|
||||
|
||||
private final IFlowDefinitionService iFlowDefinitionService;
|
||||
|
||||
private final IFlowInstanceService iFlowInstanceService;
|
||||
|
||||
private final IFlowTaskService iFlowTaskService;
|
||||
|
||||
private final FlowFormAssMapper flowFormAssMapper;
|
||||
/**
|
||||
* 新增电能质量问题流程表信息
|
||||
*/
|
||||
@@ -136,6 +148,9 @@ public class IssuesServiceImpl implements IssuesService {
|
||||
excessive.setPowerQualityProblemNo(powerQualityProblemNo);
|
||||
excessive.setDataDate(localDateTime);
|
||||
excessiveMapper.insert(excessive);
|
||||
//生成电能质量工作流
|
||||
createflow(powerQualityProblemNo,1);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -154,6 +169,9 @@ public class IssuesServiceImpl implements IssuesService {
|
||||
generalSurvey.setPowerQualityProblemNo(powerQualityProblemNo);
|
||||
generalSurvey.setDataDate(localDateTime);
|
||||
generalSurveyMapper.insert(generalSurvey);
|
||||
//生成电能质量工作流
|
||||
createflow(powerQualityProblemNo,4);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -172,6 +190,8 @@ public class IssuesServiceImpl implements IssuesService {
|
||||
complaint.setPowerQualityProblemNo(powerQualityProblemNo);
|
||||
complaint.setDataDate(localDateTime);
|
||||
complaintMapper.insert(complaint);
|
||||
//生成电能质量工作流
|
||||
createflow(powerQualityProblemNo,3);
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -190,6 +210,35 @@ public class IssuesServiceImpl implements IssuesService {
|
||||
abnormal.setPowerQualityProblemNo(powerQualityProblemNo);
|
||||
abnormal.setDataDate(localDateTime);
|
||||
abnormalMapper.insert(abnormal);
|
||||
//生成电能质量工作流
|
||||
createflow(powerQualityProblemNo,2);
|
||||
}
|
||||
|
||||
public Boolean createflow(String thsIndex ,Integer type) {
|
||||
String userId = RequestUtil.getUserIndex();
|
||||
|
||||
|
||||
//绑定工作流
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
|
||||
|
||||
//开始流程
|
||||
FlowFormAss flowFormAss = flowFormAssMapper.selectOne(new LambdaQueryWrapper<FlowFormAss>().eq(FlowFormAss::getFormId, 3));
|
||||
if (Objects.isNull(flowFormAss)) {
|
||||
throw new BusinessException("当前功能未绑定流程,请先绑定流程");
|
||||
}
|
||||
map.put("type",type);
|
||||
String processId = iFlowDefinitionService.startProcessInstanceById(flowFormAss.getDefinitionId(), thsIndex, ThsFlowTypeEnum.powerQualityManagement.getCode(), map);
|
||||
Task task = iFlowTaskService.getTask(processId);
|
||||
FlowTaskVo flowTaskVo = new FlowTaskVo();
|
||||
flowTaskVo.setTaskId(task.getId());
|
||||
flowTaskVo.setInstanceId(processId);
|
||||
flowTaskVo.setComment(RequestUtil.getUserNickname() + "发起电能质量申请");
|
||||
map.put("auditFlag",1);
|
||||
flowTaskVo.setVariables(map);
|
||||
iFlowTaskService.complete(flowTaskVo);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
@@ -0,0 +1,185 @@
|
||||
package com.njcn.process.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.njcn.common.pojo.exception.BusinessException;
|
||||
import com.njcn.process.enums.ProcessResponseEnum;
|
||||
import com.njcn.process.enums.ThsFlowTypeEnum;
|
||||
import com.njcn.process.mapper.FlowFormAssMapper;
|
||||
import com.njcn.process.mapper.FlowableAssMapper;
|
||||
import com.njcn.process.mapper.RFlowProcessPOMapper;
|
||||
import com.njcn.process.pojo.param.RFlowProcessParm;
|
||||
import com.njcn.process.pojo.po.FlowFormAss;
|
||||
import com.njcn.process.pojo.po.FlowableAss;
|
||||
import com.njcn.process.pojo.po.RFlowProcessPO;
|
||||
import com.njcn.process.pojo.vo.flowable.FlowTaskVo;
|
||||
import com.njcn.process.service.RFlowProcessPOService;
|
||||
import com.njcn.process.service.flowable.IFlowDefinitionService;
|
||||
import com.njcn.process.service.flowable.IFlowInstanceService;
|
||||
import com.njcn.process.service.flowable.IFlowTaskService;
|
||||
import com.njcn.process.utils.FlowableUtils;
|
||||
import com.njcn.system.api.DicDataFeignClient;
|
||||
import com.njcn.web.utils.RequestUtil;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.flowable.task.api.Task;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Objects;
|
||||
|
||||
/**
|
||||
*
|
||||
* Description:
|
||||
* Date: 2024/4/15 16:24【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Service
|
||||
@RequiredArgsConstructor
|
||||
public class RFlowProcessPOServiceImpl extends ServiceImpl<RFlowProcessPOMapper, RFlowProcessPO> implements RFlowProcessPOService{
|
||||
|
||||
private final FlowableAssMapper flowableAssMapper;
|
||||
|
||||
private final FlowFormAssMapper flowFormAssMapper;
|
||||
|
||||
private final DicDataFeignClient dicDataFeignClient;
|
||||
|
||||
|
||||
private final IFlowDefinitionService iFlowDefinitionService;
|
||||
|
||||
private final IFlowInstanceService iFlowInstanceService;
|
||||
|
||||
private final IFlowTaskService iFlowTaskService;
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = {Exception.class})
|
||||
public Boolean add(RFlowProcessParm rFlowProcessParm) {
|
||||
|
||||
RFlowProcessPO rFlowProcessPO = new RFlowProcessPO();
|
||||
BeanUtils.copyProperties(rFlowProcessParm,rFlowProcessPO);
|
||||
rFlowProcessPO.setProcessStatus(1);
|
||||
this.save(rFlowProcessPO);
|
||||
String businessId = rFlowProcessPO.getId();
|
||||
//生成新建工作流
|
||||
createflow(businessId, rFlowProcessParm.getApplyType(), rFlowProcessParm.getType());
|
||||
//生成提交审核工作流
|
||||
if(Objects.equals(rFlowProcessParm.getOperate(),"2")){
|
||||
createCheckflow(businessId);
|
||||
}
|
||||
//修改状态
|
||||
rFlowProcessPO.setProcessStatus(2);
|
||||
this.updateById(rFlowProcessPO);
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(rollbackFor = {Exception.class})
|
||||
public Boolean update(RFlowProcessParm.RFlowProcessUpdate rFlowProcessParm) {
|
||||
RFlowProcessPO byId = this.getById(rFlowProcessParm.getId());
|
||||
if(byId.getProcessStatus()==1||byId.getProcessStatus()==3){
|
||||
BeanUtils.copyProperties(rFlowProcessParm,byId);
|
||||
this.updateById(byId);
|
||||
|
||||
}else {
|
||||
throw new BusinessException(ProcessResponseEnum.NO_UPDATE);
|
||||
|
||||
}
|
||||
return null;
|
||||
}
|
||||
//审核
|
||||
@Override
|
||||
@Transactional(rollbackFor = {Exception.class})
|
||||
public Boolean check(RFlowProcessParm.RFlowProcessCheck rFlowProcessCheck) {
|
||||
boolean result = true;
|
||||
UpdateWrapper<RFlowProcessPO> updateWrapper = new UpdateWrapper();
|
||||
updateWrapper.eq("id", rFlowProcessCheck.getId());
|
||||
updateWrapper.set("description", rFlowProcessCheck.getDescription());
|
||||
updateWrapper.set("check_status", rFlowProcessCheck.getCheckStatus());
|
||||
updateWrapper.set("process_status",rFlowProcessCheck.getCheckStatus()==1?3:4);
|
||||
result = this.update(updateWrapper);
|
||||
//流程审核
|
||||
FlowableAss flowableAss = flowableAssMapper.selectOne(new LambdaQueryWrapper<FlowableAss>().eq(FlowableAss::getType, ThsFlowTypeEnum.monitoringReturned.getCode()).eq(FlowableAss::getThsIndex,rFlowProcessCheck.getId()));
|
||||
if(Objects.isNull(flowableAss)){
|
||||
throw new BusinessException("当前功能未绑定流程,请联系管理员处理");
|
||||
}
|
||||
FlowableUtils.dealAuditResult(flowableAss,rFlowProcessCheck.getCheckStatus()+"",iFlowTaskService,rFlowProcessCheck.getDescription());
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean file(String id) {
|
||||
boolean result = true;
|
||||
UpdateWrapper<RFlowProcessPO> updateWrapper = new UpdateWrapper();
|
||||
updateWrapper.eq("id", id);
|
||||
updateWrapper.set("process_status",5);
|
||||
result = this.update(updateWrapper);
|
||||
//流程审核
|
||||
FlowableAss flowableAss = flowableAssMapper.selectOne(new LambdaQueryWrapper<FlowableAss>().eq(FlowableAss::getType, ThsFlowTypeEnum.monitoringReturned.getCode()).eq(FlowableAss::getThsIndex,id));
|
||||
if(Objects.isNull(flowableAss)){
|
||||
throw new BusinessException("当前功能未绑定流程,请联系管理员处理");
|
||||
}
|
||||
Task task = iFlowTaskService.getTask(flowableAss.getExecIndex());
|
||||
FlowTaskVo flowTaskVo = new FlowTaskVo();
|
||||
flowTaskVo.setTaskId(task.getId());
|
||||
flowTaskVo.setComment(RequestUtil.getUserNickname() + "进行归档" );
|
||||
|
||||
flowTaskVo.setInstanceId(flowableAss.getExecIndex());
|
||||
iFlowTaskService.complete(flowTaskVo);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
//新建流程
|
||||
public Boolean createflow(String businessId ,Integer applyType,Integer type ) {
|
||||
String userId = RequestUtil.getUserIndex();
|
||||
|
||||
|
||||
//绑定工作流
|
||||
Map<String, Object> map = new HashMap<>();
|
||||
|
||||
//开始流程
|
||||
FlowFormAss flowFormAss = flowFormAssMapper.selectOne(new LambdaQueryWrapper<FlowFormAss>().eq(FlowFormAss::getFormId, applyType));
|
||||
if (Objects.isNull(flowFormAss)) {
|
||||
throw new BusinessException("当前功能未绑定流程,请先绑定流程");
|
||||
}
|
||||
//如何applyType==3 电能质量管理下有3个子流程
|
||||
map.put("type",type);
|
||||
String processId = iFlowDefinitionService.startProcessInstanceById(flowFormAss.getDefinitionId(), businessId, ThsFlowTypeEnum.monitoringReturned.getCode(), map);
|
||||
Task task = iFlowTaskService.getTask(processId);
|
||||
FlowTaskVo flowTaskVo = new FlowTaskVo();
|
||||
flowTaskVo.setTaskId(task.getId());
|
||||
flowTaskVo.setInstanceId(processId);
|
||||
flowTaskVo.setComment(RequestUtil.getUserNickname() + "发起电能质量申请");
|
||||
flowTaskVo.setVariables(map);
|
||||
iFlowTaskService.complete(flowTaskVo);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
//提交审核工作流
|
||||
public Boolean createCheckflow(String businessId ) {
|
||||
//流程审核
|
||||
FlowableAss flowableAss = flowableAssMapper.selectOne(new LambdaQueryWrapper<FlowableAss>().eq(FlowableAss::getType, ThsFlowTypeEnum.monitoringReturned.getCode()).eq(FlowableAss::getThsIndex,businessId));
|
||||
if(Objects.isNull(flowableAss)){
|
||||
throw new BusinessException("当前功能未绑定流程,请联系管理员处理");
|
||||
}
|
||||
RFlowProcessPO byId = this.getById(businessId);
|
||||
Task taskNext = iFlowTaskService.getTask(flowableAss.getExecIndex());
|
||||
FlowTaskVo flowTaskVoNext = new FlowTaskVo();
|
||||
flowTaskVoNext.setTaskId(taskNext.getId());
|
||||
flowTaskVoNext.setAssignee(byId.getChecker());
|
||||
iFlowTaskService.toNextTaskUser(flowTaskVoNext);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user