ludc
2024-12-04 e405b861b9521f5ea38c5402203a5b05988f9de2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
package com.vci.web.service;
 
import com.vci.corba.omd.data.BusinessObject;
import com.vci.corba.omd.lcm.LifeCycle;
import com.vci.pagemodel.OsLifeCycleLineVO;
import com.vci.pagemodel.OsLifeCycleVO;
import com.vci.pagemodel.OsStatusVO;
import com.vci.starter.web.exception.VciBaseException;
 
import java.util.Collection;
import java.util.List;
import java.util.Map;
 
/**
 * @Description 生命周期服务接口
 * @Author dangsn
 * @Date 2024/11/28 10:38
 */
public interface WebLifeCycleServiceI {
 
    /**
     * 跃迁生命周期状态,注意调用此方法就会被持久化,不受事务控制
     * @param bo 业务类型的数据对象
     * @param targetStatus 目标的生命周期状态,不区分大小
     * @throws VciBaseException 如果目标生命周期和当前生命周期状态没有连接线时抛出异常
     */
    void transStatus(BusinessObject bo, String targetStatus);
 
    /**
     * 批量跃迁生命周期状态,这些数据中的当前状态必须都是一样,或者是当前状态都可以连接到目标状态
     * @param bos 业务类型对象数据
     * @param targetStatus  目标状态,不区分大小写
     * @throws VciBaseException 转换生命周期出错的时候抛出异常
     */
    void transStatus(BusinessObject[] bos, String targetStatus);
 
    /**
     * 批量跃迁生命周期状态,这些数据中的当前状态必须都是一样,或者是当前状态都可以连接到目标状态
     * @param cboList 业务类型对象数据
     * @param targetStatus  目标状态,不区分大小写
     * @throws VciBaseException 转换生命周期出错的时候抛出异常
     */
    void transCboStatus(List<BusinessObject> cboList, String targetStatus);
 
    /**
     * 获取连接线
     * @param lcid 生命周期的编号
     * @param currentStatus 当前的状态
     * @param targetStatus 目标的状态
     * @return 连接线
     * @throws VciBaseException 读取出错的时候会抛出异常
     */
    OsLifeCycleLineVO getTransVO(String lcid, String currentStatus, String targetStatus);
 
    /**
     * 跃迁业务类型的生命周期状态
     * @param obj 业务类型数据对象
     * @param lineVO 跃迁路由
     * @throws VciBaseException 跃迁出错的是会抛出异常
     */
    void doTransVO(BusinessObject obj, OsLifeCycleLineVO lineVO);
 
    /**
     * 批量执行跃迁操作
     * @param bos 业务类型数据
     * @param vos 跃迁对象
     * @throws VciBaseException 跃迁出错的是会抛出异常
     */
    void batchTransVo(BusinessObject[] bos, OsLifeCycleLineVO[] vos);
 
    /**
     * 批量执行跃迁操作,要求必须是同一个业务类型下的
     * @param bos 业务类型数据对象
     * @param lineVOs 跃迁对象
     * @param releaseStatus 发布状态,如果目标状态是发布状态时传递这个值
     * @throws VciBaseException  跃迁出错的是会抛出异常
     */
    void batchTransVo(BusinessObject[] bos, OsLifeCycleLineVO[] lineVOs, String[] releaseStatus);
 
    /**
     * 通过编号获取生命周期状态对象,
     * @param lctId 生命周期编号
     * @return 生命周期的显示对象
     */
    OsLifeCycleVO getLifeCycleById(String lctId);
 
    /**
     * 查询所有生命周期状态的映射
     * @return key 是生命周期的编号的英文小写
     * @throws VciBaseException 查询的时候出错会抛出异常
     */
    Map<String,OsLifeCycleVO> selectAllLifeCycleMap();
 
    /**
     * 查询所有生命周期状态
     * @return 生命周期状态的对象
     * @throws VciBaseException 查询的时候出错会抛出异常
     */
    List<OsLifeCycleVO> selectAllLifeCycle();
 
    /**
     * 生命周期的数据对象转换为显示对象
     * @param lifeCycles 数据对象
     * @return 显示对象
     */
    List<OsLifeCycleVO> lifeCycleDO2VOs(Collection<LifeCycle> lifeCycles);
 
    /**
     * 生命周期的数据对象转换为显示对象
     * @param lifeCyle 数据对象
     * @return 显示对象
     */
    OsLifeCycleVO lifeCycleDO2VO(LifeCycle lifeCyle);
 
    /**
     * 使用生命周期的编号获取包含的状态显示对象
     * @param lifeCycleId 生命周期的编号
     * @return 状态的显示对象
     */
    List<OsStatusVO> listStatusById(String lifeCycleId);
}