package com.vci.web.service;
|
|
import com.vci.corba.common.PLException;
|
import com.vci.corba.omd.data.BusinessObject;
|
import com.vci.corba.omd.data.LinkObject;
|
import com.vci.corba.omd.data.RevisionDataInfo;
|
import com.vci.corba.omd.data.VersionDataInfo;
|
import com.vci.dto.*;
|
import com.vci.starter.web.enumpck.VciChangeDocumentTypeEnum;
|
import com.vci.starter.web.exception.VciBaseException;
|
import com.vci.starter.web.model.BaseModel;
|
import com.vci.starter.web.pagemodel.*;
|
import com.vci.pagemodel.OsBtmTypeVO;
|
import com.vci.pagemodel.ReferConfigVO;
|
import com.vci.pagemodel.UIFormDataVO;
|
import com.vci.web.query.UIDataGridQuery;
|
import com.vci.web.query.UIFormQuery;
|
import com.vci.web.query.UITreeQuery;
|
|
import java.util.Collection;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* 通过UI定义的数据操作服务,包括增删改查 ,升版,跃迁等
|
* @author weidy
|
* @date 2021-2-16
|
*/
|
public interface UIDataServiceI {
|
|
/**
|
* 获取表格的数据
|
* @param dataGridQuery 表格查询,必须有业务类型名称和 表格的编号
|
* @return DataGrid中data为Map<String,String>格式
|
* @throws VciBaseException 查询出错的时候会抛出异常
|
*/
|
DataGrid getDataForGrid(UIDataGridQuery dataGridQuery) throws VciBaseException;
|
|
/**
|
* 获取表单的数据
|
* @param formQuery 表单的查询条件
|
* @return 表单的数据
|
* @throws VciBaseException 查询出错的时候会抛出异常
|
*/
|
UIFormDataVO getDataForForm(UIFormQuery formQuery) throws VciBaseException;
|
|
/**
|
* 获取树形数据
|
* @param treeQuery 树形查询条件
|
* @return 树形数据
|
* @throws VciBaseException 查询出错的时候会抛出异常
|
*/
|
List<Tree> getDataForTree(UITreeQuery treeQuery) throws VciBaseException;
|
|
/**
|
* 调用前置事件
|
* @param baseModelDTOList 业务数据的信息
|
* @param baseLinkModelDTOList 链接类型的数据
|
* @param preEvent 前置事件的名称
|
* @param businessType 调用的类型
|
* @return 执行结果,请判断success属性是否为true
|
* @throws VciBaseException 配置或者是调用不成功的时候,会抛出异常
|
*/
|
BaseResult callPreEvent(BaseModelDTOList baseModelDTOList, BaseLinkModelDTOList baseLinkModelDTOList, String preEvent, VciChangeDocumentTypeEnum businessType) throws VciBaseException;
|
|
/**
|
* 后置事件
|
* @param cbos 添加完成后内容
|
* @param clos 添加完链接类型的内容
|
* @param postEvent 后置事件的名称,如果为空会自动扫描是否有注解
|
* @param businessType 业务操作的类型
|
* @return 执行的结果
|
* @throws VciBaseException 执行出错的会抛出异常,或者事件直接返回了异常
|
*/
|
BaseResult callPostEvent(Collection<BusinessObject> cbos, Collection<LinkObject> clos, String postEvent, VciChangeDocumentTypeEnum businessType) throws VciBaseException;
|
|
/**
|
* 表单数据转换为基础对象
|
* @param formDataDTO 表单数据
|
* @return 基础对象列表
|
*/
|
BaseModelDTOList formData2DTOList(FormDataDTO formDataDTO);
|
|
/**
|
* 链接数据 转换为基础对象
|
* @param formLinkDataDTO 表单数据
|
* @return 基础数据列表
|
*/
|
BaseLinkModelDTOList formLinkData2DTOList(FormLinkDataDTO formLinkDataDTO);
|
|
/**
|
* 表单的数据转换为
|
* @param formDataDTOList 表单数据
|
* @return 基础对象列表
|
*/
|
BaseModelDTOList formDataList2DTOList(FormDataDTOList formDataDTOList);
|
|
/**
|
* 链接类型批量转换
|
* @param formLinkDataDTOList 表单的数据
|
* @return 基础对象列表
|
*/
|
BaseLinkModelDTOList formLinkDataList2DTOList(FormLinkDataDTOList formLinkDataDTOList);
|
|
/**
|
* 添加数据
|
* @param formDataDTO 数据的传输对象
|
* @return 执行结果和显示后的值
|
* @throws VciBaseException 保存出错的时候会抛出异常
|
*/
|
BaseResult<Map<String,Object>> addSave(FormDataDTO formDataDTO) throws VciBaseException;
|
|
/**
|
* 业务类型
|
* @param cbo 业务数据对象
|
* @return 基础对象
|
*/
|
BaseModel cbo2BaseModel(BusinessObject cbo);
|
|
/**
|
* 业务数据表单对象转换为基础的属性
|
* @param formDataDTO 表的数据传输对象
|
* @return 数据的映射内容
|
*/
|
Map<String,String> formDataDTO2MapLow(FormDataDTO formDataDTO);
|
|
/**
|
* 链接数据表单对象转换为基础的属性
|
* @param formLinkDataDTO 表的数据传输对象
|
* @return 数据的映射内容
|
*/
|
Map<String,String> formLinkDataDTO2MapLow(FormLinkDataDTO formLinkDataDTO);
|
|
/**
|
* 获取下一个版本号
|
* @param btmTypeVO 业务类型的显示对象
|
* @param baseModel 基础对象
|
* @return 版本的对象
|
*/
|
RevisionDataInfo getNextRevision(OsBtmTypeVO btmTypeVO, BaseModel baseModel);
|
|
/**
|
* 获取下一个版次的号
|
* @param btmTypeVO 业务类型的显示对象
|
* @param baseModel 基础对象
|
* @return 版本的值对象
|
*/
|
VersionDataInfo getNextVersion(OsBtmTypeVO btmTypeVO, BaseModel baseModel);
|
|
/**
|
* 获取第一个版次
|
* @param versionRule 版次的规则
|
* @return 第一个版次
|
*/
|
String getFirstVersion(String versionRule);
|
|
/**
|
* 批量添加数据
|
* @param formDataDTOList 数据的传输对象
|
* @return 执行结果和主键
|
* @throws VciBaseException 保存出错的时候会抛出异常
|
*/
|
BaseResult<String> batchAddSave(FormDataDTOList formDataDTOList) throws VciBaseException;
|
|
/**
|
* 修改数据。注意表单定义的字段才会被修改,ts这种默认字段除外
|
* @param formDataDTO 数据的传输对象
|
* @return 执行结果和显示后的值
|
* @throws VciBaseException 保存出错的时候会抛出异常
|
*/
|
BaseResult<Map<String,Object>> editSave(FormDataDTO formDataDTO) throws VciBaseException;
|
|
/**
|
* 数据升版
|
* @param formDataDTO 数据的传输对象
|
* @return 执行结果和显示后的值
|
* @throws VciBaseException 保存出错的时候会抛出异常
|
*/
|
BaseResult<Map<String, Object>> upRevision(FormDataDTO formDataDTO) throws VciBaseException, PLException;
|
|
/**
|
* 批量修改,注意表单定义的字段才会被修改,ts这种默认字段除外
|
* @param formDataDTOList 数据的传输对象
|
* @return 执行结果和显示后的值
|
* @throws VciBaseException 保存出错的时候会抛出异常
|
*/
|
BaseResult<String> batchEditSave(FormDataDTOList formDataDTOList) throws VciBaseException;
|
|
/**
|
* 批量删除
|
* @param deleteDataDTO 数据的传输对象
|
* @return 执行结果
|
* @throws VciBaseException 数据被引用的时候会抛出异常
|
*/
|
BaseResult batchDelete(DeleteDataDTO deleteDataDTO) throws VciBaseException;
|
|
/**
|
* 链接类型添加
|
* @param formLinkDataDTO 链接类型的表单数据
|
* @return 链接类型的主键
|
* @throws VciBaseException 参数为空,必输项缺失
|
*/
|
BaseResult<String> linkAddSave(FormLinkDataDTO formLinkDataDTO) throws VciBaseException;
|
|
/**
|
* 设置值到业务类型的对象上
|
* @param dataLow 数据(key小写)
|
* @param baseDataLow 基础属性的数据(key小写)
|
* @param cbo 业务类型的对象
|
* @param editFlag 是否为编辑
|
*/
|
void setValueToCbo(Map<String, String> dataLow, Map<String, String> baseDataLow, BusinessObject cbo, boolean editFlag);
|
|
/**
|
* 链接类型的编辑数据
|
* @param formLinkDataDTO 数据的传输对象
|
* @return 执行结果
|
* @throws VciBaseException 参数为空,必输项缺失
|
*/
|
BaseResult linkEditSave(FormLinkDataDTO formLinkDataDTO) throws VciBaseException;
|
|
/**
|
* 删除链接类型
|
* @param deleteLinkDataDTO 数据的传输对象
|
* @return 执行结果
|
* @throws VciBaseException 参数为空,必输项缺失
|
*/
|
BaseResult batchLinkDelete(DeleteLinkDataDTO deleteLinkDataDTO)throws VciBaseException;
|
|
/**
|
* 获取参照的信息
|
* @param referConfigVO 参照的配置
|
* @param pageHelper 分页的工具
|
* @return 列表数据
|
*/
|
DataGrid referDataGrid(ReferConfigVO referConfigVO, PageHelper pageHelper);
|
|
/**
|
* 获取树形的参照
|
* @param referConfigVO 参照的配置
|
* @return 树形的数据
|
*/
|
List<Tree> referTree(ReferConfigVO referConfigVO);
|
|
/**
|
* 表单的数据查询
|
* @param btmName 业务类型的信息
|
* @param oid 业务数据的主键
|
* @return 业务数据的属性信息
|
*/
|
List<Map<String,String>> getDataAttr(String btmName, String oid);
|
|
/**
|
* 数据升版本/次,前端使用JSON提交
|
* @param btmname 业务类型的信息
|
* @param oid 业务数据的主键
|
* @param type 1:版次对象;2:版本对象;3:主对象
|
* @return 执行的结果
|
*/
|
BaseResult deleteBusinessObject(String btmname, String oid, int type) throws PLException;
|
/**
|
* 变更所有者
|
* @param btmname 业务类型
|
* @param oid 主键
|
* @return 执行的结果
|
*/
|
BaseResult changeBusinessObjectOwner(String btmname, String oid) throws PLException;
|
/**
|
* 状态跃迁
|
* @param btmname 业务类型
|
* @param oid 主键
|
* @param releaseStatus 发布状态
|
* @return 执行的结果
|
*/
|
BaseResult transferBusinessObject(String btmname, String oid, String toStatus, String releaseStatus) throws PLException;
|
}
|