feat:流程回调支持提取流程审批意见

This commit is contained in:
FCL
2026-02-25 14:09:13 +08:00
parent 1280ff5813
commit f74a18cf33
13 changed files with 743 additions and 10 deletions

View File

@@ -0,0 +1,70 @@
package com.zt.plat.module.qms.common.data.controller.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.*;
import io.swagger.v3.oas.annotations.media.Schema;
import com.zt.plat.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@Schema(description = "管理后台 - 审批意见分页 Request VO")
@Data
public class DataOpinionPageReqVO extends PageParam {
@Schema(description = "业务数据ID", example = "4483")
private Long businessId;
@Schema(description = "流程实例ID", example = "28150")
private String flowInstanceId;
@Schema(description = "流程活动code")
private String nodeKey;
@Schema(description = "流程活动名", example = "王五")
private String nodeName;
@Schema(description = "自定义key")
private String customKey;
@Schema(description = "审批人ID", example = "23093")
private Long opinionUserId;
@Schema(description = "审批人姓名", example = "赵六")
private String opinionUserName;
@Schema(description = "审批人部门ID", example = "2389")
private Long opinionDepartmentId;
@Schema(description = "审批人部门名", example = "赵六")
private String opinionDepartmentName;
@Schema(description = "审批时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] opinionTime;
@Schema(description = "意见内容")
private String opinionContent;
@Schema(description = "签名id", example = "29049")
private Long opinionSignatureId;
@Schema(description = "禁用状态,0-启用1-禁用")
private String cancelFlag;
@Schema(description = "所属部门")
private String systemDepartmentCode;
@Schema(description = "排序号")
private Integer sortNo;
@Schema(description = "备注")
private String remark;
@Schema(description = "创建时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
}

View File

@@ -0,0 +1,86 @@
package com.zt.plat.module.qms.common.data.controller.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
@Schema(description = "管理后台 - 审批意见 Response VO")
@Data
@ExcelIgnoreUnannotated
public class DataOpinionRespVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "18610")
@ExcelProperty("主键")
private Long id;
@Schema(description = "业务数据ID", example = "4483")
@ExcelProperty("业务数据ID")
private Long businessId;
@Schema(description = "流程实例ID", example = "28150")
@ExcelProperty("流程实例ID")
private String flowInstanceId;
@Schema(description = "流程活动code")
@ExcelProperty("流程活动code")
private String nodeKey;
@Schema(description = "流程活动名", example = "王五")
@ExcelProperty("流程活动名")
private String nodeName;
@Schema(description = "自定义key")
@ExcelProperty("自定义key")
private String customKey;
@Schema(description = "审批人ID", example = "23093")
@ExcelProperty("审批人ID")
private Long opinionUserId;
@Schema(description = "审批人姓名", example = "赵六")
@ExcelProperty("审批人姓名")
private String opinionUserName;
@Schema(description = "审批人部门ID", example = "2389")
@ExcelProperty("审批人部门ID")
private Long opinionDepartmentId;
@Schema(description = "审批人部门名", example = "赵六")
@ExcelProperty("审批人部门名")
private String opinionDepartmentName;
@Schema(description = "审批时间")
@ExcelProperty("审批时间")
private LocalDateTime opinionTime;
@Schema(description = "意见内容")
@ExcelProperty("意见内容")
private String opinionContent;
@Schema(description = "签名id", example = "29049")
@ExcelProperty("签名id")
private Long opinionSignatureId;
@Schema(description = "禁用状态,0-启用1-禁用", requiredMode = Schema.RequiredMode.REQUIRED)
@ExcelProperty("禁用状态,0-启用1-禁用")
private String cancelFlag;
@Schema(description = "所属部门")
@ExcelProperty("所属部门")
private String systemDepartmentCode;
@Schema(description = "排序号")
@ExcelProperty("排序号")
private Integer sortNo;
@Schema(description = "备注")
@ExcelProperty("备注")
private String remark;
@Schema(description = "创建时间")
@ExcelProperty("创建时间")
private LocalDateTime createTime;
}

View File

@@ -0,0 +1,63 @@
package com.zt.plat.module.qms.common.data.controller.vo;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.*;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - 审批意见新增/修改 Request VO")
@Data
public class DataOpinionSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "18610")
private Long id;
@Schema(description = "业务数据ID", example = "4483")
private Long businessId;
@Schema(description = "流程实例ID", example = "28150")
private String flowInstanceId;
@Schema(description = "流程活动code")
private String nodeKey;
@Schema(description = "流程活动名", example = "王五")
private String nodeName;
@Schema(description = "自定义key")
private String customKey;
@Schema(description = "审批人ID", example = "23093")
private Long opinionUserId;
@Schema(description = "审批人姓名", example = "赵六")
private String opinionUserName;
@Schema(description = "审批人部门ID", example = "2389")
private Long opinionDepartmentId;
@Schema(description = "审批人部门名", example = "赵六")
private String opinionDepartmentName;
@Schema(description = "审批时间")
private LocalDateTime opinionTime;
@Schema(description = "意见内容")
private String opinionContent;
@Schema(description = "签名id", example = "29049")
private Long opinionSignatureId;
@Schema(description = "禁用状态,0-启用1-禁用", requiredMode = Schema.RequiredMode.REQUIRED)
private String cancelFlag;
@Schema(description = "所属部门")
private String systemDepartmentCode;
@Schema(description = "排序号")
private Integer sortNo;
@Schema(description = "备注")
private String remark;
}

View File

@@ -0,0 +1,40 @@
package com.zt.plat.module.qms.common.data.dal.mapper;
import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
import com.zt.plat.module.qms.common.data.controller.vo.DataOpinionPageReqVO;
import com.zt.plat.module.qms.common.data.dal.dataobject.DataOpinionDO;
import org.apache.ibatis.annotations.Mapper;
/**
* 审批意见 Mapper
*
* @author 后台管理
*/
@Mapper
public interface DataOpinionMapper extends BaseMapperX<DataOpinionDO> {
default PageResult<DataOpinionDO> selectPage(DataOpinionPageReqVO reqVO) {
return selectPage(reqVO, new LambdaQueryWrapperX<DataOpinionDO>()
.eqIfPresent(DataOpinionDO::getBusinessId, reqVO.getBusinessId())
.eqIfPresent(DataOpinionDO::getFlowInstanceId, reqVO.getFlowInstanceId())
.eqIfPresent(DataOpinionDO::getNodeKey, reqVO.getNodeKey())
.likeIfPresent(DataOpinionDO::getNodeName, reqVO.getNodeName())
.eqIfPresent(DataOpinionDO::getCustomKey, reqVO.getCustomKey())
.eqIfPresent(DataOpinionDO::getOpinionUserId, reqVO.getOpinionUserId())
.likeIfPresent(DataOpinionDO::getOpinionUserName, reqVO.getOpinionUserName())
.eqIfPresent(DataOpinionDO::getOpinionDepartmentId, reqVO.getOpinionDepartmentId())
.likeIfPresent(DataOpinionDO::getOpinionDepartmentName, reqVO.getOpinionDepartmentName())
.betweenIfPresent(DataOpinionDO::getOpinionTime, reqVO.getOpinionTime())
.eqIfPresent(DataOpinionDO::getOpinionContent, reqVO.getOpinionContent())
.eqIfPresent(DataOpinionDO::getOpinionSignatureId, reqVO.getOpinionSignatureId())
.eqIfPresent(DataOpinionDO::getCancelFlag, reqVO.getCancelFlag())
.eqIfPresent(DataOpinionDO::getSystemDepartmentCode, reqVO.getSystemDepartmentCode())
.eqIfPresent(DataOpinionDO::getSortNo, reqVO.getSortNo())
.eqIfPresent(DataOpinionDO::getRemark, reqVO.getRemark())
.betweenIfPresent(DataOpinionDO::getCreateTime, reqVO.getCreateTime())
.orderByDesc(DataOpinionDO::getId));
}
}

View File

@@ -0,0 +1,71 @@
package com.zt.plat.module.qms.common.data.service;
import java.util.*;
import com.alibaba.fastjson.JSONObject;
import com.zt.plat.module.qms.common.data.controller.vo.DataOpinionPageReqVO;
import com.zt.plat.module.qms.common.data.controller.vo.DataOpinionRespVO;
import com.zt.plat.module.qms.common.data.controller.vo.DataOpinionSaveReqVO;
import com.zt.plat.module.qms.resource.device.dal.dataobject.DeviceApplyDO;
import jakarta.validation.*;
import com.zt.plat.module.qms.common.data.dal.dataobject.DataOpinionDO;
import com.zt.plat.framework.common.pojo.PageResult;
/**
* 审批意见 Service 接口
*
* @author 后台管理
*/
public interface DataOpinionService {
void disableOpinionsByBusId(Long busId);
void saveOpinionByWfCallback(DeviceApplyDO entity, String activityId, String activityName, JSONObject taskVariables);
/**
* 创建审批意见
*
* @param createReqVO 创建信息
* @return 编号
*/
DataOpinionRespVO createDataOpinion(@Valid DataOpinionSaveReqVO createReqVO);
/**
* 更新审批意见
*
* @param updateReqVO 更新信息
*/
void updateDataOpinion(@Valid DataOpinionSaveReqVO updateReqVO);
/**
* 删除审批意见
*
* @param id 编号
*/
void deleteDataOpinion(Long id);
/**
* 批量删除审批意见
*
* @param ids 编号
*/
void deleteDataOpinionListByIds(List<Long> ids);
/**
* 获得审批意见
*
* @param id 编号
* @return 审批意见
*/
DataOpinionDO getDataOpinion(Long id);
/**
* 获得审批意见分页
*
* @param pageReqVO 分页查询
* @return 审批意见分页
*/
PageResult<DataOpinionDO> getDataOpinionPage(DataOpinionPageReqVO pageReqVO);
}

View File

@@ -39,6 +39,9 @@ public interface DeviceApplyService {
CommonResult<DeviceApplyRespVO> submitDeviceApply(DeviceApplySaveReqVO param);
//更新设备状态
void updateDeviceStateByApply(DeviceApplyDO entity);
/**
* 更新设备通用流程,验收、降级、停用、报废、还原、启用
*
@@ -77,4 +80,6 @@ public interface DeviceApplyService {
*/
PageResult<DeviceApplyDO> getDeviceApplyPage(DeviceApplyPageReqVO pageReqVO);
}

Some files were not shown because too many files have changed in this diff Show More