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
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
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
package com.vci.web.service;
 
import com.vci.corba.common.PLException;
import com.vci.corba.omd.ltm.LinkType;
import com.vci.pagemodel.OsBtmTypeAttributeVO;
import com.vci.pagemodel.OsLinkTypeAttributeVO;
import com.vci.pagemodel.OsLinkTypeVO;
import com.vci.starter.web.pagemodel.BaseQueryObject;
import com.vci.starter.web.pagemodel.BaseResult;
import com.vci.starter.web.pagemodel.DataGrid;
import org.springframework.web.multipart.MultipartFile;
 
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.text.ParseException;
import java.util.Collection;
import java.util.List;
import java.util.Map;
 
/**
 * 链接类型服务
 * @author weidy
 * @date 2021-2-15
 */
public interface OsLinkTypeServiceI 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<String> getAllLtName() throws PLException;
 
    /**
     * 获取使用该业务类型的链接类型名
     * @param btmName 业务类型名称
     * @return
     */
    List<String> getUsedBtmLinkList(String btmName);
 
    /**
     * 查询所有的链接类型
     * @return 链接类型对象
     */
    List<OsLinkTypeVO> selectAllLink();
 
    /**
     * 查询所有的链接类型映射
     * @return key 是链接的英文名称的小写
     */
    Map<String,OsLinkTypeVO> selectAllLinkMap();
 
    /**
     * 数据对象转换为显示对象
     * @param linkTypes 数据对象
     * @return 显示对象
     */
    List<OsLinkTypeVO> linkTypeDO2VOs(Collection<LinkType> linkTypes);
 
    /**
     * 数据对象转换为显示对象
     * @param linkType 数据对象
     * @return 显示对象
     */
    OsLinkTypeVO linkTypeDO2VO(LinkType linkType);
 
    /**
     * 使用编号获取链接类型
     * @param linkIds 编号
     * @return 链接类型
     */
    List<OsLinkTypeVO> listLinkTypeIds(Collection<String> linkIds);
 
    /**
     * 使用编号获取链接类型
     * @param id 编号
     * @return 链接类型
     */
    OsLinkTypeVO getLinkTypeById(String id) throws PLException;
 
    /**
     * 获取链接类型的属性
     * @param linkTypeId 链接类型的编号
     * @return 链接类型的属性
     */
    List<OsLinkTypeAttributeVO> listAttributeByLinkId(String linkTypeId) throws PLException;
 
    /**
     * 链接类型的列表
     * @param baseQueryObject 查询对象
     * @return 链接类型的显示对象
     */
    DataGrid<OsLinkTypeVO> gridLinkType(BaseQueryObject baseQueryObject);
 
    /**
     * 使用主键获取显示对象
     * @param linkTypeOid 链接类型的主键
     * @return 链接类型的显示对象
     */
    OsLinkTypeVO selectByOid(String linkTypeOid);
 
    /**
     * 获取链接类型关联的所有业务类型中属性类型差异的信息
     * @param linkTypeOid 链接类型的主键
     * @return 有错误的属性
     */
    List<OsBtmTypeAttributeVO> checkAttributeTypeDifferent(String linkTypeOid);
    /**
     * 链接类型的列表
     *
     * @return 链接类型的显示对象
     */
    BaseResult<List<LinkType>> gridLink() throws PLException;
    /**
     * 链接类型保存
     * linkType 链接类型的保存对象
     * addFlag 是否为新增 true新增,false修改
     * @return 保存结果
     */
    BaseResult addAndEditLink(LinkType linkType, Boolean addFlag) throws PLException;
    /**
     * 链接类型删除
     * linkType 链接类型对象
     * @return 删除结果
     */
    BaseResult deleteLink(LinkType linkType) throws PLException;
    /**
     * 一致性检查
     * @return 删除结果
     */
    BaseResult checkLinkType() throws PLException;
    /**
     * 一致性检查修复数据库表
     * repairData 需要修复的数据
     * @return 修复结果
     */
    BaseResult repairTable(String repairData) throws PLException, IOException;
    /**
     * 创建视图
     * @return 创建结果
     */
    BaseResult createView() throws PLException;
    /**
     * 导出链接类型
     * name 链接类型名称
     * @return 创建结果
     */
    void expData(String oid, HttpServletResponse response) throws PLException, IOException;
    /**
     * 导入链接类型
     * @param file 上传的文件
     * @return
     */
    BaseResult impData(MultipartFile file) throws Exception;
    /**
     * 获取链接类型包含的属性
     * @param name 链接类型的编号
     * @return 属性的信息
     */
    List<OsLinkTypeAttributeVO> getAllAttributeByLink(String name) throws PLException, ParseException;
 
    /**
     * 获取设置排序字段的排序字段
     * @param linkType 链接类型的编号
     * @param btmType 业务类型的编号
     * @param direction 正/反向
     * @return 属性的信息
     */
    List<String> getAllOrderbyAttributeByLink(String linkType, String btmType, String direction) throws PLException, ParseException;
}