package com.vci.web.service; import com.vci.corba.common.PLException; import com.vci.corba.omd.atm.AttributeDef; import com.vci.dto.OsAttributeDTO; import com.vci.starter.web.pagemodel.*; import com.vci.pagemodel.OsAttributeVO; import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.util.Collection; import java.util.List; import java.util.Map; /** * 属性服务 * @author weidy * @date 2021-2-15 */ public interface OsAttributeServiceI extends OsBaseServiceI{ /** * 获取树状 * @param treeQueryObject * @return */ List getTreeAttributesByBtmName(TreeQueryObject treeQueryObject); /** * 获取默认的属性 * @return 默认的属性列表 */ List getDefaultAttributeVOs(); /** * 设置默认的属性 * @param defaultAttributeVOs 默认的属性列表 */ void setDefaultAttributeVOs(List defaultAttributeVOs); /** * 获取的默认属性的映射 * @return 默认的属性映射 */ Map getDefaultAttributeVOMap(); /** * 设置默认的属性的映射 * @param defaultAttributeVOMap 默认的属性映射 */ void setDefaultAttributeVOMap(Map defaultAttributeVOMap); /** * 查询所有的属性 * @return 属性的显示对象 */ List selectAllAttribute(); /** * 查询所有的属性映射 * @return key是属性的英文名称小写,value是属性的显示对象 */ Map selectAllAttributeMap(); /** * 根据多个属性名称查询属性 * @param attrNames * @return */ List getByAttributeNames(String[] attrNames) throws PLException; /** * 属性的数据对象转换为显示对象 * @param attribItems 数据对象 * @return 显示对象 */ List attributeDO2VOs(Collection attribItems); /** * 属性的数据对象转换为显示对象 * @param attribItem 数据对象 * @return 显示对象 */ OsAttributeVO attributeDO2VO(AttributeDef attribItem); /** * 属性的显示对象转换为数据对象 * @param attributeVO 显示对象 * @return 数据对象 */ AttributeDef attributeVO2DO(OsAttributeVO attributeVO); /** * 使用属性获取对象 * @param attrCode 属性的英文名称 * @return 属性的显示对象 */ OsAttributeVO getAttr(String attrCode); /** * 使用属性编号获取对象--批量 * @param attrCodes 属性的英文名称 * @return 属性的显示对象 */ List listAttrByIds(Collection attrCodes); /** * 批量添加属性 * @param attribItemList 属性的列表 */ void batchAddAttribute(List attribItemList); /** * 批量编辑属性 * @param editAttrList 属性的列表 */ void batchEditAttribute(List editAttrList); /** * 属性列表 * @param baseQueryObject 查询对象 * @return 属性的显示对象 */ DataGrid gridAttribute(BaseQueryObject baseQueryObject); /** * 添加单条属性 * @param osAttributeDTO * @return true成功,false失败 */ boolean addAttribute(OsAttributeDTO osAttributeDTO) throws PLException; /** * 修改单条属性 * @param osAttributeDTO * @return true成功,false失败 */ boolean updateAttribute(OsAttributeDTO osAttributeDTO) throws PLException; /** * 删除属性 * @param osAttributeDTOS * @return true成功,false失败 */ boolean deleteAttributes(List osAttributeDTOS) throws PLException; /** * 查看属性的使用范围 * @param attributeName * @return key:属性 ,value使用该属性的业务类型 */ List> getUsedAttributeList(String attributeName) throws PLException; /** * 导出选中的属性 * @param exportFileName 导出的文件名 * @param attrNames 需要导出的属性名称 * @param flag 控制导出的列名是否和导入模板一致 * @return */ String exportAttributes(String exportFileName,String attrNames,boolean flag/*控制导出的列名是否和导入模板一致*/) throws PLException; /** * 下载属性导入模板 * @param exportFileName * @return * @throws PLException */ String downloadAttributeTemplate(String exportFileName) throws Exception; /** * 导入属性 * @param file * @param isContinue 系统中出现重复是否跳过报错继续执行 * @return */ BaseResult importAttributes(File file,boolean isContinue/*系统中出现重复是否跳过报错继续执行*/) throws Exception; /** * 是否默认的属性 * @param attr 属性编号 * @return true表示是默认属性 */ boolean isDefaultAttr(String attr); /** * 根据业务类型/链接类型获取属性信息 * @param btName 业务类型/链接类型 * @param typeFlag 0:业务类型,1:链接类型 * @param isDefault 是否包含默认属性 true:包含,false 不包含 * @return */ List getOsAttributeVOSByBtName(String btName,int typeFlag,boolean isDefault)throws Exception; }