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
package com.vci.web.service;
import com.vci.corba.omd.etm.EnumType;
import com.vci.starter.web.exception.VciBaseException;
import com.vci.starter.web.pagemodel.DataGrid;
import com.vci.starter.web.pagemodel.PageHelper;
import com.vci.pagemodel.KeyValue;
import com.vci.pagemodel.OsEnumItemVO;
import com.vci.pagemodel.OsEnumVO;
 
import java.util.Collection;
import java.util.List;
import java.util.Map;
 
/**
 * 枚举服务
 * @author weidy
 * @date 2021-2-14
 */
public interface OsEnumServiceI extends OsBaseServiceI{
 
    /**
     * 根据枚举的key获取枚举的对象
     * @param enumCode 枚举的编号
     * @return 枚举包含的值
     * @throws VciBaseException 获取枚举出错的时候会抛出异常
     */
     List<KeyValue> getEnum(String enumCode) throws VciBaseException;
 
    /**
     * 根据枚举的值,获取对应的显示文本
     * @param enumCode 枚举的编号
     * @param enumKey 枚举的值
     * @return 枚举的文本
     * @throws VciBaseException 获取枚举出错的时候会抛出异常
     */
     String getValue(String enumCode, String enumKey) throws VciBaseException;
 
    /**
     * 根据枚举显示文本获取枚举的值
     * @param enumCode 枚举的编号
     * @param enumValue 枚举的值
     * @return 枚举的文本
     * @throws VciBaseException 获取枚举出错的时候会抛出异常
     */
     String getKey(String enumCode, String enumValue) throws VciBaseException;
 
    /**
     * 获取枚举的映射
     * @param enumCode 枚举的编号
     * @return 枚举的值
     * @throws VciBaseException 获取枚举出错的时候会抛出异常
     */
    Map<String,String> getEnumValueMap(String enumCode) throws VciBaseException;
 
    /**
     * 查询所有的枚举
     * @return 枚举的显示对象
     */
    List<OsEnumVO> selectAllEnum();
 
    /**
     * 查询所有的枚举映射
     * @return key是枚举的英文名称
     */
    Map<String,OsEnumVO> selectAllEnumMap();
 
    /**
     * 枚举的数据对象转换为显示对象
     * @param enumItems 枚举的对象
     * @return 显示对象
     */
    List<OsEnumVO> enumDO2VOs(Collection<EnumType> enumItems);
 
    /**
     * 枚举的数据对象转换为显示对象
     * @param enumItem 数据对象
     * @return 显示对象
     */
    OsEnumVO enumDO2VO(EnumType enumItem);
 
    /**
     * 枚举明细转换为KV
     * @param enumItemVOS 枚举明细显示对象
     * @return KV
     */
    List<KeyValue> enumItem2KV(Collection<OsEnumItemVO> enumItemVOS);
 
    /**
     * 获取数据的密级,并且会用当前用户的密级再校验一下
     * @param oid 主键
     * @param btmname 业务类型
     * @return 数据的密级
     */
    List<KeyValue> getDataEnum(String oid, String btmname);
 
    /**
     * 批量添加内容
     * @param enumItemList 枚举的内容
     */
    void batchAddEnum(List<EnumType> enumItemList);
 
    /**
     * 批量修改内容
     * @param enumItemList 枚举的内容
     */
    void batchEditEnum(List<EnumType> enumItemList);
 
    /**
     * 使用编号获取枚举的名称
     * @param id 编号
     * @return 枚举的中文名称
     */
    String getNameById(String id);
 
    /**
     * 使用枚举的英文名称集合获取对象
     * @param enumIdCollection 英文名称集合,不区分大小写
     * @return 枚举的对象
     */
    List<OsEnumVO> listEnumByIdCollection(Collection<String> enumIdCollection);
 
    /**
     * 参照枚举的信息
     * @param conditionMap 查询条件
     * @param pageHelper 分页
     * @return 枚举的信息
     */
    DataGrid<OsEnumVO> referDataGrid(Map<String, String> conditionMap, PageHelper pageHelper);
 
    /**
     * 枚举选项列表
     * @param pkEnum 枚举的主键
     * @return 枚举选项
     */
    DataGrid<OsEnumItemVO> gridEnumItemByOid(String pkEnum);
}