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
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
package com.vci.web.service;
 
import com.vci.corba.common.PLException;
import com.vci.corba.omd.btm.BizType;
import com.vci.pagemodel.OsBtmTypeAttributeVO;
import com.vci.pagemodel.OsBtmTypeVO;
import com.vci.pagemodel.OsERVO;
import com.vci.pagemodel.OsUsedAttributeVO;
import com.vci.starter.web.pagemodel.BaseResult;
import com.vci.starter.web.pagemodel.DataGrid;
import com.vci.starter.web.pagemodel.PageHelper;
import com.vci.starter.web.pagemodel.Tree;
 
import java.util.Collection;
import java.util.List;
import java.util.Map;
 
/**
 * 业务类型服务
 * @author weidy
 * @date 2021-2-15
 */
public interface OsBtmServiceI extends OsBaseServiceI{
 
    /**
     * 修改业务类型中对应属性名的属性
     * @param apName
     * @return
     * @throws PLException
     */
    boolean alterAp(String apName) throws PLException;
 
    /**
     * 判断该属性是否已经在业务类型中产生了数据
     * @param abName
     * @return
     * @throws PLException
     */
    boolean hasInstance(String abName) throws PLException;
 
    /**
     * 查询所有的业务类型
     * @return 业务类型对象
     */
    List<OsBtmTypeVO> selectAllBtm();
 
    /**
     * 获取名字以filter开始的业务类型(for 查询),主要用于属性池的业务类型选择对话框
     * 获取全部业务类型,传参filter为""
     * @param btmName
     * @return
     * @throws PLException
     */
    BizType[] getBizTypes(String btmName) throws PLException;
 
    /**
     * 查询所有的业务类型映射
     * @return key 是业务的英文名称的小写
     */
    Map<String,OsBtmTypeVO> selectAllBtmMap();
 
    /**
     * 数据对象转换为显示对象
     * @param btmItems 数据对象
     * @return 显示对象
     */
    List<OsBtmTypeVO> btmDO2VOs(Collection<BizType> btmItems);
 
    /**
     * 数据对象转换为显示对象
     * @param btmItem 数据对象
     * @return 显示对象
     */
    OsBtmTypeVO btmDO2VO(BizType btmItem);
 
    /**
     * 使用编号获取业务类型
     * @param btmIds 编号
     * @return 业务类型
     */
    List<OsBtmTypeVO> listBtmByIds(Collection<String> btmIds);
 
    /**
     * 使用编号获取业务类型
     * @param id 编号
     * @return 业务类型
     */
    OsBtmTypeVO getBtmById(String id);
 
    /**
     * 获取业务类型的在哪个属性中使用
     * @param btmName 业务类型
     * @return 引用的信息
     */
    List<OsUsedAttributeVO> listBtmUsedInfo(String btmName);
 
    /**
     * 获取业务类型的在哪个属性中使用
     *
     * @param btmId 业务类型
     * @param hasLink 是否包含链接类型中
     * @return 引用的信息
     */
    List<OsUsedAttributeVO> listBtmUsedInfo(String btmId, boolean hasLink);
 
    /**
     * 根据业务类型获取包含的属性--不包含基础属性
     * @param btmId 业务类型的编号
     * @return 属性的内容
     */
    List<OsBtmTypeAttributeVO> listAttributeByBtmId(String btmId);
 
    /**
     * 根据业务类型获取包含的属性--包含基础属性
     * @param btmId 业务类型的编号
     * @return 属性的内容
     */
    List<OsBtmTypeAttributeVO> listAttributeByBtmIdHasDefault(String btmId);
 
    /**
     * 参照业务类型
     *
     * @param conditionMap 查询条件
     * @param pageHelper   分页的对象
     * @return 业务类型的信息
     */
    DataGrid<OsBtmTypeVO> referDataGrid(Map<String, String> conditionMap, PageHelper pageHelper);
 
    /**
     * 使用主键查询
     * @param oid 主键
     * @return 业务类型
     */
    OsBtmTypeVO selectByOid(String oid);
 
    /**
     * 使用编号获取枚举的名称
     * @param id 枚举的英文
     * @return 枚举的名称
     */
    String getNameById(String id);
 
    /**
     * 根据业务类型和链接类型生成ER图
     * @param btmId 业务类型主键
     */
    OsERVO createERDiagram(String btmId);
 
     /**
     * 获取使用这个业务类型的E-R图
     * @param btmId 业务类型编号
     * @return 执行结果
     */
    OsERVO createERUsed(String btmId);
 
    /**
     * 获取所有业务类型(树形结构)
     * @return 查询结果
     */
    BaseResult<List<Tree>> getTreeBizTypes() throws PLException;
}