feat(流程模型): 新增流程模型导出数据功能

This commit is contained in:
konbai
2022-10-15 16:13:18 +08:00
parent a137f8d4fb
commit dafd6cdbf4
6 changed files with 130 additions and 24 deletions

View File

@@ -0,0 +1,59 @@
package com.ruoyi.workflow.domain.vo;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.io.Serializable;
import java.util.Date;
/**
* 流程模型对象导出VO
*
* @author konbai
*/
@Data
@NoArgsConstructor
public class WfModelExportVo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 模型ID
*/
@ExcelProperty(value = "模型ID")
private String modelId;
/**
* 模型Key
*/
@ExcelProperty(value = "模型Key")
private String modelKey;
/**
* 模型名称
*/
@ExcelProperty(value = "模型名称")
private String modelName;
/**
* 分类编码
*/
@ExcelProperty(value = "分类编码")
private String category;
/**
* 流程分类
*/
@ExcelProperty(value = "流程分类")
private String categoryName;
/**
* 模型版本
*/
@ExcelProperty(value = "模型版本")
private Integer version;
/**
* 模型描述
*/
@ExcelProperty(value = "模型描述")
private String description;
/**
* 创建时间
*/
@ExcelProperty(value = "创建时间")
private Date createTime;
}

View File

@@ -1,7 +1,5 @@
package com.ruoyi.workflow.domain.vo;
import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
import java.util.Date;
@@ -13,61 +11,49 @@ import java.util.Date;
* @createTime 2022/6/21 9:16
*/
@Data
@ExcelIgnoreUnannotated
public class WfModelVo {
/**
* 模型ID
*/
@ExcelProperty(value = "模型ID")
private String modelId;
/**
* 模型名称
*/
@ExcelProperty(value = "模型名称")
private String modelName;
/**
* 模型Key
*/
@ExcelProperty(value = "模型Key")
private String modelKey;
/**
* 分类编码
*/
@ExcelProperty(value = "分类编码")
private String category;
/**
* 版本
*/
@ExcelProperty(value = "版本")
private Integer version;
/**
* 表单类型
*/
@ExcelProperty(value = "表单类型")
private Integer formType;
/**
* 表单ID
*/
@ExcelProperty(value = "表单ID")
private Long formId;
/**
* 模型描述
*/
@ExcelProperty(value = "模型描述")
private String description;
/**
* 创建时间
*/
@ExcelProperty(value = "创建时间")
private Date createTime;
/**
* 流程xml
*/
@ExcelProperty(value = "流程xml")
private String bpmnXml;
/**
* 表单内容
*/
@ExcelProperty(value = "表单内容")
private String content;
}

View File

@@ -6,6 +6,7 @@ import com.ruoyi.workflow.domain.bo.WfModelBo;
import com.ruoyi.workflow.domain.vo.WfModelVo;
import java.util.Collection;
import java.util.List;
/**
* @author KonBAI
@@ -18,6 +19,11 @@ public interface IWfModelService {
*/
TableDataInfo<WfModelVo> list(WfModelBo modelBo, PageQuery pageQuery);
/**
* 查询流程模型列表
*/
List<WfModelVo> list(WfModelBo modelBo);
/**
* 查询流程模型列表
*/

View File

@@ -88,6 +88,40 @@ public class WfModelServiceImpl extends FlowServiceFactory implements IWfModelSe
return TableDataInfo.build(page);
}
@Override
public List<WfModelVo> list(WfModelBo modelBo) {
ModelQuery modelQuery = repositoryService.createModelQuery().latestVersion().orderByCreateTime().desc();
// 构建查询条件
if (StringUtils.isNotBlank(modelBo.getModelKey())) {
modelQuery.modelKey(modelBo.getModelKey());
}
if (StringUtils.isNotBlank(modelBo.getModelName())) {
modelQuery.modelNameLike("%" + modelBo.getModelName() + "%");
}
if (StringUtils.isNotBlank(modelBo.getCategory())) {
modelQuery.modelCategory(modelBo.getCategory());
}
List<Model> modelList = modelQuery.list();
List<WfModelVo> modelVoList = new ArrayList<>(modelList.size());
modelList.forEach(model -> {
WfModelVo modelVo = new WfModelVo();
modelVo.setModelId(model.getId());
modelVo.setModelName(model.getName());
modelVo.setModelKey(model.getKey());
modelVo.setCategory(model.getCategory());
modelVo.setCreateTime(model.getCreateTime());
modelVo.setVersion(model.getVersion());
WfMetaInfoDto metaInfo = JsonUtils.parseObject(model.getMetaInfo(), WfMetaInfoDto.class);
if (metaInfo != null) {
modelVo.setDescription(metaInfo.getDescription());
modelVo.setFormType(metaInfo.getFormType());
modelVo.setFormId(metaInfo.getFormId());
}
modelVoList.add(modelVo);
});
return modelVoList;
}
@Override
public TableDataInfo<WfModelVo> historyList(WfModelBo modelBo, PageQuery pageQuery) {
ModelQuery modelQuery = repositoryService.createModelQuery()