feat:流程回调支持提取流程审批意见
This commit is contained in:
@@ -33,6 +33,7 @@ public interface ErrorCodeConstants {
|
|||||||
ErrorCode DICTIONARY_BUSINESS_DATA_MORE_THAN_ONE = new ErrorCode(1_032_001_000, "业务参数字典[数据]key重名,请联系管理员处理!");
|
ErrorCode DICTIONARY_BUSINESS_DATA_MORE_THAN_ONE = new ErrorCode(1_032_001_000, "业务参数字典[数据]key重名,请联系管理员处理!");
|
||||||
ErrorCode DICTIONARY_BUSINESS_CATEGORY_MORE_THAN_ONE = new ErrorCode(1_032_001_000, "业务参数字典[分类]key重名,请联系管理员处理!");
|
ErrorCode DICTIONARY_BUSINESS_CATEGORY_MORE_THAN_ONE = new ErrorCode(1_032_001_000, "业务参数字典[分类]key重名,请联系管理员处理!");
|
||||||
ErrorCode DICTIONARY_BUSINESS_CLASSIFY_DUPLICATE = new ErrorCode(1_032_001_000, "分类名称重复,请重新输入");
|
ErrorCode DICTIONARY_BUSINESS_CLASSIFY_DUPLICATE = new ErrorCode(1_032_001_000, "分类名称重复,请重新输入");
|
||||||
|
ErrorCode DATA_OPINION_NOT_EXISTS = new ErrorCode(1_032_001_000, "审批意见不存在");
|
||||||
|
|
||||||
/*==============================config 配置模块 1_032_050_000 ~ 1_032_099_999 ===============================*/
|
/*==============================config 配置模块 1_032_050_000 ~ 1_032_099_999 ===============================*/
|
||||||
ErrorCode CONFIG_REPORT_TEMPLATE_NOT_EXISTS = new ErrorCode(1_032_050_000, "报表模版配置不存在");
|
ErrorCode CONFIG_REPORT_TEMPLATE_NOT_EXISTS = new ErrorCode(1_032_050_000, "报表模版配置不存在");
|
||||||
|
|||||||
@@ -11,12 +11,14 @@ public class QmsBpmConstant {
|
|||||||
* 流程回调时使用的ActivityId Key
|
* 流程回调时使用的ActivityId Key
|
||||||
* */
|
* */
|
||||||
public static final String BPM_CALLBACK_ACTIVITY_ID = "bpmCallbackActivityId";
|
public static final String BPM_CALLBACK_ACTIVITY_ID = "bpmCallbackActivityId";
|
||||||
|
public static final String BPM_CALLBACK_ACTIVITY_NAME = "bpmCallbackActivityName";
|
||||||
public static final String BPM_FIELD_EXTENSIONS = "bpmFieldExtensions";
|
public static final String BPM_FIELD_EXTENSIONS = "bpmFieldExtensions";
|
||||||
public static final String BPM_FIRST_ACTIVITY_FLAG = "firstActivityFlag";
|
public static final String BPM_FIRST_ACTIVITY_FLAG = "firstActivityFlag";
|
||||||
public static final String BPM_LAST_ACTIVITY_FLAG = "lastActivityFlag";
|
public static final String BPM_LAST_ACTIVITY_FLAG = "lastActivityFlag";
|
||||||
public static final String BPM_REJECT_TO_FIRST_FLAG = "rejectToFirstActivity";
|
public static final String BPM_REJECT_TO_FIRST_FLAG = "rejectToFirstActivity";
|
||||||
public static final String BPM_CUR_ACTIVITY_INS_ID = "currentActivityInsId"; //当前活动实例id
|
public static final String BPM_CUR_ACTIVITY_INS_ID = "currentActivityInsId"; //当前活动实例id
|
||||||
public static final String BPM_PROCESS_INS_ID = "processInstanceId"; //当前活动实例id
|
|
||||||
|
public static final String BPM_PROCESS_INS_ID = "processInstanceId"; //流程实例ID
|
||||||
|
|
||||||
//驳回标记前缀
|
//驳回标记前缀
|
||||||
public static final String BPM_CALLBACK_RETURN_FLAG_PREFIX_KEY = "RETURN_FLAG_";
|
public static final String BPM_CALLBACK_RETURN_FLAG_PREFIX_KEY = "RETURN_FLAG_";
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -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;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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;
|
||||||
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
@@ -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));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
@@ -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);
|
||||||
|
|
||||||
|
}
|
||||||
File diff suppressed because it is too large
Load Diff
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user