package com.vci.web.service;
|
|
import com.vci.corba.common.PLException;
|
import com.vci.corba.omd.data.BusinessObject;
|
import com.vci.corba.omd.lcm.LifeCycle;
|
import com.vci.dto.OsLifeCycleDTO;
|
import com.vci.pagemodel.*;
|
import com.vci.starter.web.exception.VciBaseException;
|
import com.vci.starter.web.pagemodel.BaseQueryObject;
|
import com.vci.starter.web.pagemodel.BaseResult;
|
import com.vci.starter.web.pagemodel.DataGrid;
|
|
import java.io.File;
|
import java.util.Collection;
|
import java.util.List;
|
import java.util.Map;
|
|
/***
|
* 生命周期服务
|
* @author weidy
|
*
|
*/
|
public interface OsLifeCycleServiceI extends OsBaseServiceI{
|
|
/**
|
* 获取生命周期的状态对应的中文值
|
* @param status 状态
|
* @return 状态的显示名称
|
* @throws VciBaseException 不存在生命周期
|
*/
|
String getStatusText(String status) throws VciBaseException;
|
|
/**
|
* 跃迁生命周期状态,注意调用此方法就会被持久化,不受事务控制
|
* @param bo 业务类型的数据对象
|
* @param targetStatus 目标的生命周期状态,不区分大小
|
* @throws VciBaseException 如果目标生命周期和当前生命周期状态没有连接线时抛出异常
|
*/
|
void transStatus(com.vci.corba.omd.data.BusinessObject bo, String targetStatus) throws VciBaseException;
|
|
/**
|
* 批量跃迁生命周期状态,这些数据中的当前状态必须都是一样。或者是当前状态都可以连接到目标状态
|
* @param boList 业务类型对象数据
|
* @param targetStatus 目标状态,不区分大小写
|
* @throws VciBaseException 转换生命周期出错的时候抛出异常
|
*/
|
void transStatus(List<com.vci.corba.omd.data.BusinessObject> boList, String targetStatus) throws VciBaseException;
|
|
/**
|
* 批量跃迁生命周期状态,这些数据中的当前状态必须都是一样,或者是当前状态都可以连接到目标状态
|
* @param bos 业务类型对象数据
|
* @param targetStatus 目标状态,不区分大小写
|
* @throws VciBaseException 转换生命周期出错的时候抛出异常
|
*/
|
void transStatus(com.vci.corba.omd.data.BusinessObject[] bos, String targetStatus) throws VciBaseException;
|
|
/**
|
* 批量跃迁生命周期状态,这些数据中的当前状态必须都是一样,或者是当前状态都可以连接到目标状态
|
* @param cboList 业务类型对象数据
|
* @param targetStatus 目标状态,不区分大小写
|
* @throws VciBaseException 转换生命周期出错的时候抛出异常
|
*/
|
void transCboStatus(List<BusinessObject> cboList, String targetStatus) throws VciBaseException;
|
|
/**
|
* 通过编号获取生命周期状态对象,
|
* @param lctId 生命周期编号
|
* @return 生命周期的显示对象
|
*/
|
OsLifeCycleVO getLifeCycleById(String lctId) ;
|
|
/**
|
* 生命周期的数据对象转换为显示对象
|
* @param lifeCycles 数据对象
|
* @return 显示对象
|
*/
|
List<OsLifeCycleVO> lifeCycleDO2VOs(Collection<LifeCycle> lifeCycles);
|
|
/**
|
* 生命周期的数据对象转换为显示对象
|
* @param lifeCyle 数据对象
|
* @return 显示对象
|
*/
|
OsLifeCycleVO lifeCycleDO2VO(LifeCycle lifeCyle);
|
|
/**
|
* 生命周期显示对象转换为数据对象
|
* @param lifeCycleVO 显示对象
|
* @return 数据对象
|
*/
|
LifeCycle lifeCycleVO2DO(OsLifeCycleVO lifeCycleVO) throws PLException;
|
|
/**
|
* 查询所有生命周期状态
|
* @return 生命周期状态的对象
|
* @throws VciBaseException 查询的时候出错会抛出异常
|
*/
|
List<OsLifeCycleVO> selectAllLifeCycle() throws VciBaseException;
|
|
/**
|
* 查询所有生命周期状态的映射
|
* @return key 是生命周期的编号的英文小写
|
* @throws VciBaseException 查询的时候出错会抛出异常
|
*/
|
Map<String,OsLifeCycleVO> selectAllLifeCycleMap() throws VciBaseException;
|
|
/**
|
* 获取连接线
|
* @param lcid 生命周期的编号
|
* @param currentStatus 当前的状态
|
* @param targetStatus 目标的状态
|
* @return 连接线
|
* @throws VciBaseException 读取出错的时候会抛出异常
|
*/
|
OsLifeCycleLineVO getTransVO(String lcid, String currentStatus, String targetStatus) throws VciBaseException;
|
|
/**
|
* 跃迁业务类型的生命周期状态
|
* @param obj 业务类型数据对象
|
* @param lineVO 跃迁路由
|
* @throws VciBaseException 跃迁出错的是会抛出异常
|
*/
|
void doTransVO(com.vci.corba.omd.data.BusinessObject obj, OsLifeCycleLineVO lineVO) throws VciBaseException;
|
|
/**
|
* 批量执行跃迁操作,要求必须是同一个业务类型下的
|
* @param bos 业务类型数据对象
|
* @param lineVOs 跃迁对象
|
* @param releaseStatus 发布状态,如果目标状态是发布状态时传递这个值
|
* @throws VciBaseException 跃迁出错的是会抛出异常
|
*/
|
void batchTransVo(com.vci.corba.omd.data.BusinessObject[] bos, OsLifeCycleLineVO[] lineVOs,
|
String[] releaseStatus) throws VciBaseException;
|
|
/**
|
* 批量执行跃迁操作
|
* @param bos 业务类型数据
|
* @param vos 跃迁对象
|
* @throws VciBaseException 跃迁出错的是会抛出异常
|
*/
|
void batchTransVo(com.vci.corba.omd.data.BusinessObject[] bos, OsLifeCycleLineVO[] vos)
|
throws VciBaseException;
|
|
/**
|
* 使用生命周期的编号获取包含的状态显示对象
|
* @param lifeCycleId 生命周期的编号
|
* @return 状态的显示对象
|
*/
|
List<OsStatusVO> listStatusById(String lifeCycleId);
|
|
/**
|
* 使用多个编号获取生命周期的对象
|
* @param lcIdList 编号
|
* @return 显示对象
|
*/
|
List<OsLifeCycleVO> getLifeCycleByIds(Collection<String> lcIdList);
|
|
/**
|
* 批量添加生命周期
|
* @param lifeCyleList 生命周期的内容
|
*/
|
void batchAddLifeCycle(List<LifeCycle> lifeCyleList);
|
|
/**
|
* 批量修改生命周期
|
* @param lifeCycleList 生命周期的内容
|
*/
|
void batchEditLifeCycle(List<LifeCycle> lifeCycleList);
|
|
/**
|
* 状态在生命周期中使用的情况
|
* @param statusOid 状态的主键
|
* @return 生命周期的信息
|
*/
|
DataGrid<OsLifeCycleVO> listStatusUsed(String statusOid);
|
|
/**
|
* 判断状态是否被引用
|
* @param statusVO 状态的显示对象
|
* @return true表示被引用
|
*/
|
boolean checkStatusUsed(OsStatusVO statusVO);
|
|
/**
|
* 生命周期列表
|
* @param baseQueryObject 查询对象,分页对象
|
* @return 生命周期显示对象
|
*/
|
DataGrid<OsLifeCycleVO> gridLifeCycle(BaseQueryObject baseQueryObject);
|
|
/**
|
* 新增单条生命周期
|
* @param osLifeCycleVO
|
* @return
|
*/
|
boolean addLifeCycle(OsLifeCycleVO osLifeCycleVO) throws PLException;
|
|
/**
|
* 修改生命周期
|
* @param osLifeCycleVO
|
* @return
|
*/
|
boolean updateLifeCycle(OsLifeCycleVO osLifeCycleVO) throws PLException;
|
|
/**
|
* 删除生命周期
|
* @param lifeCycleDTOS
|
* @return
|
*/
|
boolean deleteLifeCycles(List<OsLifeCycleDTO> lifeCycleDTOS) throws PLException;
|
|
/**
|
* 查看生命周期的使用范围
|
* @return
|
*/
|
List<Map<String,String>> getUsedLifeCycleList(String lifeCycleName) throws PLException;
|
|
/**
|
* 导出选中的生命周期
|
* @param exportFileName 导出的文件名
|
* @param lcNames 需要导出的生命周期名称
|
* @param flag 控制导出的列名是否和导入模板一致
|
* @return
|
*/
|
String exportLifeCycles(String exportFileName,String lcNames,boolean flag/*控制导出的列名是否和导入模板一致*/) throws PLException;
|
|
/**
|
* 下载生命周期导入模板
|
* @param exportFileName
|
* @return
|
* @throws PLException
|
*/
|
String downloadLifeCycleTemplate(String exportFileName) throws Exception;
|
|
/**
|
* 导入生命周期
|
* @param file
|
* @return
|
*/
|
BaseResult importLifeCycles(File file) throws Exception;
|
|
/**
|
* 生命周期的链接线
|
* @param id 编号
|
* @return ER图内容
|
*/
|
OsERVO listLinesPic(String id);
|
|
/**
|
* 查询所有跃迁事件key
|
* @return
|
*/
|
List<String> getLCEventKeys() throws PLException;
|
|
}
|